C#中泛型方法的模板类参数T可以是变量吗?

一个方法的原型是voidClass.Method<T>();已知Type类型实例type(Typetype=obj.GetType();),如果根据这个type调用Met... 一个方法的原型是void Class.Method<T>();

已知Type类型实例type(Type type = obj.GetType();),如果根据这个type调用Method方法,T参数怎么根据type变量传?
展开
 我来答
信任从现在开始
推荐于2016-04-20
知道答主
回答量:24
采纳率:0%
帮助的人:21.5万
展开全部
T本身就是类型,不需要再去GetType,你传什么类型T就是什么类型。
例: void Main<T>(){
一般这里通过反射获取T的准确类型
其实这里的T已经是你所说的变量了
但是即便如此,在该方法内部你也没办法知道在运行时T到底是什么类型
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丶傀儡师苏摩
2013-11-07 · 超过24用户采纳过TA的回答
知道答主
回答量:112
采纳率:0%
帮助的人:50.7万
展开全部
C#编译器会通过调用Method()方法来获取参数的类型,不需要为T参数传递值。
type.Method()即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fej121121
2013-11-06 · TA获得超过651个赞
知道小有建树答主
回答量:655
采纳率:66%
帮助的人:530万
展开全部
查看泛型约束,像你这个需求用接口约束就好。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳光的雷咩咩
2013-11-07 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7653万
展开全部
不行的!只能写类的名称,而不是某个type或者字符串!当然有其他办法解决你的问题,要具体看你想实现什么。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式