读书人

初学泛型,一个有关问题请教

发布时间: 2011-12-23 23:32:01 作者: rapoo

初学泛型,一个问题请教!
泛型方法
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> ();
}
[解决办法]
泛型是编译期展开的,编译期没有对象,只有字符串。
所以,不可能。

读书人网 >C#

热点推荐