我想创建一个方法,在参数中将使用Type作为通用列表的类型 例如:
MyClass something = new MyClass();
Type myType = something.GetType();
public void createList(Type type)
{
List<type> myList = new List<type>(); // <-- How can I achieve that?
...
}
有什么想法吗? :)
答案 0 :(得分:1)
首先让你的核心方法变得通用,如下所示:
public void createList<T>()
{
List<T> myList = new List<T>();
...
}
并提供一个非泛型的重载,它使用反射来动态调用泛型方法:
public void createList(Type t)
{
this.GetType()
.GetMethod("createList", Type.EmptyTypes)
.MakeGenericMethod(t)
.Invoke(this, null);
}