关于泛型的初学者问题

时间:2011-01-26 15:32:23

标签: vb.net generics

这两个陈述是否相同?

Public Class Class2(Of X As Class1)
Public Class Class2(Of X As {Class1})

“新”是什么意思?

Public Class Class2(Of X As {Class1, New})

2 个答案:

答案 0 :(得分:5)

你的前两个陈述是等同的。大括号是如何在VB.NET中使用多个通用约束。在你的情况下,即使有括号,也只有一个约束。

New关键字是一种约束,可确保类型T具有不带参数的构造函数。因此,您的第二个定义可确保TClass1或继承自{{1}}并具有无参数构造函数。

答案 1 :(得分:0)