当前位置:编程学习 > C#/ASP.NET >>

泛型方法中的 T 怎么用一个变量或表达式传递进去?

已知一个泛型方法
class1.method<T>();

Type myType=Type.GetType("xx");

这样调用报错
class1.method<myType>();


求解???? --------------------编程问答-------------------- myType=typeof(T) --------------------编程问答-------------------- 如果 xx 是类型名
class1.method<xx>(); --------------------编程问答-------------------- T只能是一个class,不能是一个变量,你可以这样调用:

class1.Method<Type>();

--------------------编程问答-------------------- class1.method<myType>();不能用变量传递,如用变量就失去了泛型的意义。
class1.method<xx>(); --------------------编程问答-------------------- 泛型参数要是在编译时就能确定的类型名称,不能是 Type 实例 --------------------编程问答-------------------- 变量应该是通过参数传递的,如果你想传递参数给泛型方法,

class1.method<T>(T a);

然后调用

Type myType=Type.GetType("xx");
class1.Method<Type>(myType);
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,