可能重复:
如何使用反射调用泛型方法?
我该怎么做?
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 都会有一个共同的子类。