ジェネリッククラスを使用して、そのパラメーターの1つを強制的に基本クラスから派生させたいと思います。何かのようなもの:
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");
}
}
}
コンパイル時にこれを行う方法はありますか?ありがとうございました。