我试图谷歌这个,但我能找到的只是普通类声明的文件.
public class DataContextWrapper<T> : IDataContextWrapper where T : DataContext, new()
{
}
Run Code Online (Sandbox Code Playgroud)
我看到该类实现了IDataContextWrapper,它继承自DataContext,并且根据它的实例化方式随T类而变化.
我不知道where T"或" 是什么, new()意思.
Cod*_*aos 37
它是一个通用约束,并限制可以传递给泛型参数的类型.
在您的情况下,它要求T是DataContext默认的或派生的,并且具有默认(无参数)构造函数(new()约束).
您需要通用约束来实际使用泛型类型执行非常简单的操作.
new()约束允许您创建一个实例new T().DataContext约束允许你调用的方法DataContext上的一个实例TMSDN写道:
where T : <base class name>type参数必须是或从指定的基类派生.
where T : new()type参数必须具有公共无参数构造函数.与其他约束一起使用时,必须最后指定new()约束.
这是一种通用类型限制.在这种情况下,T必须从DataContext继承,并且是一个带有不带参数的构造函数的类型.
| 归档时间: |
|
| 查看次数: |
2663 次 |
| 最近记录: |