2011-12-21 64 views
0

我有一个关于功能“数据访问应用程序块”EntLib中的研究。我发现一些代码:.NET Framework的新功能?

public static class MapBuilder<TResult> where TResult : new() 
{ 
    //... 
} 

我不明白这个类的声明的含义当使用“,其中TResult:新的()”。我认为这是.NET Framework中的新功能来声明一个类。请给我一个文件或链接来解释这个功能。谢谢。

回答

6

这是一个泛型类型参数约束。自从泛型引入以来,它一直存在于.net 2.0中。

Constraints on Type Parameters (MSDN)

你所提到的具体的约束意味着只有与公共参数构造函数可以被用作类型TResult类。


参见:Generics (MSDN)

1

where TResult : new()添加constraint on the generic类型参数(TResult)。类型参数必须有一个无参数的构造函数。