一尘不染

在运行时指定通用集合类型参数

c#

这个问题已经在这里有了答案

如何使用反射调用泛型方法? (8个答案)

6年前关闭。

我有:

class Car {..}
class Other{
  List<T> GetAll(){..}
}

我想要做:

Type t = typeof(Car);
List<t> Cars = GetAll<t>();

我怎样才能做到这一点?

我想从运行时使用反射发现的类型的数据库中返回一个通用集合。


阅读 194

收藏
2020-05-19

共1个答案

一尘不染

Type generic = typeof(List<>);    
Type specific = generic.MakeGenericType(typeof(int));    
ConstructorInfo ci = specific.GetConstructor(Type.EmptyTypes);    
object o = ci.Invoke(new object[] { });
2020-05-19