我想使用一个泛型类并强制它的一个参数从某个基类派生。就像是:
public class BaseClass { }
public class DerivedClass : BaseClass { }
public class Manager<T> where T : derivesfrom(BaseClass)
我现在这样做的方式是在构造函数中运行时:
public class Manager<T> where T : class
{
public Manager()
{
if (!typeof(T).IsSubclassOf(typeof(BaseClass)))
{
throw new Exception("Manager: Should not be here: The generic type should derive from BaseClass");
}
}
}
有没有办法在编译时做到这一点?谢谢你。