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

rdfpl 2012-06-11 03:16:40
已知一个泛型方法
class1.method<T>();

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

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


求解????
...全文
411 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
stonespace 2012-06-11
  • 打赏
  • 举报
回复
变量应该是通过参数传递的,如果你想传递参数给泛型方法,

class1.method<T>(T a);

然后调用

Type myType=Type.GetType("xx");
class1.Method<Type>(myType);
__天涯寻梦 2012-06-11
  • 打赏
  • 举报
回复
泛型参数要是在编译时就能确定的类型名称,不能是 Type 实例
zhujiawei7 2012-06-11
  • 打赏
  • 举报
回复
class1.method<myType>();不能用变量传递,如用变量就失去了泛型的意义。
class1.method<xx>();
stonespace 2012-06-11
  • 打赏
  • 举报
回复
T只能是一个class,不能是一个变量,你可以这样调用:

class1.Method<Type>();

__天涯寻梦 2012-06-11
  • 打赏
  • 举报
回复
如果 xx 是类型名
class1.method<xx>();
xboxeer 2012-06-11
  • 打赏
  • 举报
回复
myType=typeof(T)

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧