初学泛型,一个问题请教!
泛型方法
void MethodA <T> (int i) where T : new()
{
T a=new T();
..........
}
我想如下调用:
程序运行时已知类型T,假定我是通过(Type T=typeof(ClassA))获取的,
是否有办法实现调用:MethodA(T)(0)?
------解决方案--------------------http://community.csdn.net/Expert/topic/5570/5570412.xml?temp=4.256839E-02
------解决方案--------------------T a = System.Activator.CreateInstance <T> ();
------解决方案--------------------void MethodA <T> (int i) where T : new()
{
T a = Activator.CreateInstance <T> ();
}
------解决方案--------------------泛型是编译期展开的,编译期没有对象,只有字符串。
所以,不可能。