私はいくつかのType
を受け入れるコンストラクタを作成しようとしていますが、それらのすべてではありません。C#でTypeに代入可能なコンストラクタパラメータを宣言する
現在:まで私が欲しい
public MyClass(Type type)
{
this.Type = type;
}
:もちろん
public MyClass(typeof(IMyInterface) type)
{
this.Type = type;
}
、それがコンパイルされません。
C#でこれを達成する方法はありますか?
'type'が正しいインタフェースを実装していることを確認してランタイム例外をスローすることができますが、なぜこれを最初にやりたいのですか?これはXY問題のようです。 – DavidG
一般的にジェネリックを使用するように切り替えることを示すパラメータを入力したい場合。しかし、一般的なコンストラクタだけを持つことはできません。 –
これはおそらくX/Yの質問です。もしあなたがこれを必要としていると述べたなら、助けになります。 –