我有以下代码
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。这可能吗?我假设它是通过反射但我看不出怎么做。
答案 0 :(得分:4)
Type genericListType = typeof(List<>).MakeGenericType(new Type[] { myClass.GetType() });
object list = Activator.CreateInstance(genericListType);