public static class Extensions
{
public static void Foo(this string s)
{
…
}
}
String s=“Hello,World”;
s.Foo();
扩展方法允许我们在不改变源代码的情况下扩展(即添加)现有类型中的实例方法。
扩展方法要点
• 扩展方法的本质为将实例方法调用在编译期改变为静态类中的静态方法调用。
• 注意扩展方法的优先级:现有实例方法优先级最高,其次为最近的namespace下的静态类的静态方法,最后为较远的namespace下的静态类的静态方法。
• 扩展方法是一种编译时技术,注意与反射等运行时技术进行区别,并慎重使用。