クラスMyClass<T>
と非常に特定の関数を定義したいのですが、(何らかの方法で)インターフェイスまたはクラスからMyFunc<T>
強制的に継承したいと考えています。T
これを と呼びましょうIMyInterface
。
私の C# の知識がこれを可能にする唯一の方法は、ジェネリック クラスを定義し、それが継承されているかどうかを確認し (たとえば、型がサブタイプかオブジェクトの型かを確認するにはどうすればよいですか?を参照)、例外をスローすることです。それ以外は。
実行時ではなく、コンパイル時にこれを強制する方法はありますか?