我想创建一个只接受可序列化类的泛型类,可以用where约束来完成吗?
我正在寻找的概念是这样的:
public class MyClass<T> where T : //[is serializable/has the serializable attribute]
Run Code Online (Sandbox Code Playgroud) 在下面的代码片段(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关键词呢?