关于泛型的初学者问题

Cha*_*adD 3 vb.net generics

这两个陈述是否相同?

Public Class Class2(Of X As Class1)
Public Class Class2(Of X As {Class1})
Run Code Online (Sandbox Code Playgroud)

"新"是什么意思?

Public Class Class2(Of X As {Class1, New})
Run Code Online (Sandbox Code Playgroud)

Jus*_*ner 5

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

New关键字是确保该类型约束T具有一个构造函数没有参数.所以你的第二个定义确保它T是或继承Class1并具有无参数构造函数.