扩展方法
时间:2011-01-11 来源:王长委
扩展方法:个人理解就是能够扩展到其它类型上的方法,只需要添加该方法所在的命名空间就行了,Linq中的很多方法都是扩展方法,下面是一个简单的扩展方法的Demo。
1.在一个名为MyMethod的命名空间中写一个静态的方法
namespace MyMethod { static class MyClass { public static int MyAdd(this int a) { return a + 10; } } }
该方法在那个类中并不重要,重要的是有这么一个方法,而且方法的参数必须以this开头,意思就是将自己(调用方法的对象)作为参数传进去。然后编译成程序集。
2.添加程序集引用和声明命名空间
using MyMethod;
3.现在就可以调用刚才写的扩展方法了,注意因为该扩展方法的参数类型是int类型,所以只有int类型的对象才能调用该扩展方法。
class Program { static void Main(string[] args) { int a = 10; int b = a.MyAdd(); Console.WriteLine(b); } }
以上就是扩展方法的一个简单的Demo,怎么样扩展方法的威力很大、很神奇吧,不过在我们用的时候就没有这么简单了,比如该类型已有的方法名和扩展方法冲突的时候?
相关阅读 更多 +