首页 新闻 会员 周边 捐助

C# 扩张方法的疑问

0
悬赏园豆:5 [待解决问题]

扩展方法的类型,意思是为某个类增加一个方法,我觉得类型应该是确定的。比如上面1就是为object类型增加方法。

第一种写法很好理解,object类型增加了GetName方法

第二种写法,是对泛型T做的扩展,这种写法有什么问题吗?能不能这么写?

萨尔的主页 萨尔 | 初学一级 | 园豆:20
提问于:2019-05-30 13:38
< >
分享
所有回答(5)
0

花飘水流兮 | 园豆:13615 (专家六级) | 2019-05-30 14:24

很明显都写出来了,行不行难道还能不知道~~~

支持(0) 反对(0) 花飘水流兮 | 园豆:13615 (专家六级) | 2019-05-30 14:25
0

很明显没问题

BUTTERAPPLE | 园豆:3190 (老鸟四级) | 2019-05-30 14:33
0

扩展方法只能针对指定类型,貌似对泛型类型不支持

龙行天涯 | 园豆:1794 (小虾三级) | 2019-05-30 16:38
0

泛型可以用扩展方法,实际上扩展方法只是编译器玩的一个花招,并没有给哪一个类型加什么方法
new T().GetName()
GetName(new T())
这两种写法本质上是完全一样的
这样就很容易明白为什么可以对泛型使用扩展方法了
实际上扩展方法初衷只是为了给Linq的链式调用造便利,而Linq方法里面也全是泛型

VD630 | 园豆:82 (初学一级) | 2019-06-04 12:14
0

this只的是当前类,并且当前类的命名空间要和类所在一致

江宁织造 | 园豆:73 (初学一级) | 2019-08-07 09:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册