从object实例化一个泛型列表

本文关键字:一个 泛型 列表 object 实例化 | 更新日期: 2023-09-27 18:03:37

我有以下代码

    public void MyMethod(object myClass)
    {
       if(myClass.GetType().IsSubclassOf(typeof(MyBaseClass)))
       {
          // Instantiate a generic list here....
          // Assume that myClass is type Class1, e.g. List<Class1> abc = new List<Class1>();
       }
    }

在if语句中我想创建一个myClass类型的List。这可能吗?我认为这是通过反射,但我不知道怎么做。

从object实例化一个泛型列表

Type genericListType = typeof(List<>).MakeGenericType(new Type[] { myClass.GetType() });
object list = Activator.CreateInstance(genericListType);