在下面的代码片段(C#2.0)中:
public abstract class ObjectMapperBase< T > where T : new()
{
internal abstract bool UpdateObject( T plainObjectOrginal,
T plainObjectNew,
WebMethod fwm,
IDbTransaction transaction );
}
Run Code Online (Sandbox Code Playgroud)
继承人的例子:
public abstract class OracleObjectMapperBase< T > : ObjectMapperBase< T > where T : new()
{
internal override bool UpdateObject( T plainObjectOrginal,
T plainObjectNew,
WebMethod fwm,
IDbTransaction transaction )
{
// Fancy Reflection code.
}
}
Run Code Online (Sandbox Code Playgroud)
什么是where关键词呢?
where子句用于指定可用作泛型声明中定义的类型参数的参数的类型的约束.例如,您可以声明泛型类MyGenericClass,以便类型参数T实现IComparable接口:
public class MyGenericClass<T> where T:IComparable { }
Run Code Online (Sandbox Code Playgroud)
在这种特殊情况下,它表示T必须实现默认构造函数.
| 归档时间: |
|
| 查看次数: |
19101 次 |
| 最近记录: |