Class A<T> where T

来源:互联网 发布:php贴吧源码 编辑:程序博客网 时间:2024/04/29 06:39

Where 表示对类型变量T的约束关系。where T:A 表示类型变量是继承于A的,或者是A本省。where T: new()指明了创建T的实例应该使用的构造函数。

.NET支持的类型参数约束有以下五种:

where T: struct T必须是一个结构类型

where T: class T必须是一个类(class)类型,不是结构(structure)类型

where T: new() T必须要有一个无参构造函数

where T: NameOfBaseClass T必须继承名为NameOfBaseClass的类

where T: NameOfInterface T必须实现名为NameOfInterface的接口

不过这些约束可以混合使用。例如:Class A <> Where t : Class,new() 则表示t必须是class类型,而且要有一个无参构造函数。

阅读全文
0 0
原创粉丝点击