2010-08-11 75 views
3

是否可以使用GetType()创建列表或IEnumerable。使用GetType()创建列表<T>()

// If T is Type of Contact I want to Return List<Contact> 

Test(typeof(Contact));//return List<Type> 

    public static IEnumerable<T> Test<T>(T t) 
    { 
     return new List<T>(); //return List<Type> 

    } 
+3

停止了一会儿,拿出一个合理的用例,和你的问题应该消失。你想做什么? – SLaks 2010-08-11 00:13:36

回答

7
public static IList GetList(Type type) 
{ 
    return (IList) Activator.CreateInstance(typeof(List<>).MakeGenericType(type)); 
} 
+0

噢相信我,后面的GetList有时候会非常有用。 – 2010-08-11 02:32:00

+0

@Chris:我编辑出来了,很惊讶你仍然可以看到它。 :) – Ani 2010-08-11 03:35:27

+1

是的,当我看到它时,它在修订版2中,当时它仍然存在。顺便说一句,任何人都可以通过点击“已编辑的X”日期戳来看到编辑后的问题和答案的旧版本,所以... – 2010-08-12 05:47:06