标签:
扩展方法所在的类和扩展方法必须是静态的 并且扩展方法第一个参数是要扩展的类名 并在this
Person person = new Person();
public static class Extension
{
public static void ExtensionMethod(this Person p)
{
.......;
}
}
person.ExtensionMethod();
当person调用 ExtensionMethod()时,C# Compiler 会把这段Source Code 编译成Static Method 的IL Code。也可以理解为
编译器做了这样的处理,person.ExtensionMethod(); => ExtensionMethod(person);
C# Compiler 编译的过程是这样的:
标签:
原文地址:http://www.cnblogs.com/AllUserBegin/p/4613789.html