扩展方法的类型,意思是为某个类增加一个方法,我觉得类型应该是确定的。比如上面1就是为object类型增加方法。
第一种写法很好理解,object类型增加了GetName方法
第二种写法,是对泛型T做的扩展,这种写法有什么问题吗?能不能这么写?
很明显都写出来了,行不行难道还能不知道~~~
很明显没问题
扩展方法只能针对指定类型,貌似对泛型类型不支持
泛型可以用扩展方法,实际上扩展方法只是编译器玩的一个花招,并没有给哪一个类型加什么方法 new T().GetName() GetName(new T()) 这两种写法本质上是完全一样的 这样就很容易明白为什么可以对泛型使用扩展方法了 实际上扩展方法初衷只是为了给Linq的链式调用造便利,而Linq方法里面也全是泛型
this只的是当前类,并且当前类的命名空间要和类所在一致