可乐义
怎样实例化泛型,关于泛型的new()约束

在泛型类型定义中,这种写法是不正确的:
class DocumentManager
{
T t = new T();
}
编译将报错:变量类型“T”没有 new() 约束,因此无法创建该类型的实例


如果为泛型类指定new()约束,则可以在泛型类中使用new()实例化泛型:

class DocumentManager
where T:new ()
{
T t = new T();
}
where 子句用于指定泛型类型的约束,如果有多种约束,new() 约束出现在 where 子句的最后,new() 约束可以让编译器知道:为泛型提供的任何类型参数都必须具有可访问的无参数(或默认)构造函数。
上一页 返回目录 下一页   |
软件开发 .NET 操作系统 .NET Windows窗体控件 SQL Server IT CSS Javascript C# .NET 红楼梦 西游记 关于红楼梦 古诗 水浒传 三国演义 阿德 笑话 English English

Copyright © 可乐义 keleyi.com