重複の可能性:
リフレクションを使用してジェネリックメソッドを呼び出す方法は?
どうすれば次のことができますか?
class A {}
void DoSomething<T, U> where T : List<U> {}
object o = new List<A>();
DoSomething(o); // cannot be inferred from usage error
実行時までAの正確なタイプはわかりません。
明確にするために。DoSomethingメソッドを変更するためのアクセス権がありません。私は次の呼び出しが機能することを知っています
DoSomething(o as List<A>);
しかし、私は実行時までAを知りません。私はすべてのAsが共通のサブクラスを持つことを知っていますが。