コードを簡略化しましたが、基本的にこのコードはループで実行され、型はリフレクションから取得されます。ここでの唯一の定数はIWorker<T>
インターフェイスです。
のプロパティにアクセスする必要がありますが、コンパイラによって受け入れられないIWorker
ため、キャストできません。アイデアはありますか?argType
(私は動的にこれを行うことができましたが、リファクタリングによる将来のバグを防ぐための代替手段を望んでいました)
Type argType = @interface.GetGenericArguments().First();
var worker = (IWorker<argType>)FormatterServices.GetUninitializedObject(MyType);
MyType
コンパイル時に不明なIWorker<T>
場所から派生します。T