首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

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

2011-12-23 
初学泛型,一个问题请教!泛型方法voidMethodA T (inti)whereT:new(){TanewT()..........}我想如下调用:

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

热点排行