0

クラスMyClass<T>と非常に特定の関数を定義したいのですが、(何らかの方法で)インターフェイスまたはクラスからMyFunc<T>強制的に継承したいと考えています。Tこれを と呼びましょうIMyInterface

私の C# の知識がこれを可能にする唯一の方法は、ジェネリック クラスを定義し、それが継承されているかどうかを確認し (たとえば、型がサブタイプかオブジェクトの型かを確認するにはどうすればよいですか?を参照)、例外をスローすることです。それ以外は。

実行時ではなく、コンパイル時にこれを強制する方法はありますか?

4

1 に答える 1

4

ジェネリック型の制約:

public void MyFunc<T>() where T : IMyInterface {
}
于 2013-08-24T05:55:55.393 に答える