public static class StringExtension
{
public ic static Void Foo(this string s)
(
Console.WriteLine("Foo invoked for {0})", s)`
)
}
扩展方法在静态类中声明,定义为一个静态方法,其中参数定义了它扩展的类型。Foo方法扩展了string类,因为它的第一个参数定义为string类型。为了区分扩展方法和一般的静态方法,扩展方法还需要对第一个参数使用this关键字。
现在就可以使用带string类型的Fooo方法了:
string s = "Hello";
s.Foo()`
{
public ic static Void Foo(this string s)
(
Console.WriteLine("Foo invoked for {0})", s)`
)
}
扩展方法在静态类中声明,定义为一个静态方法,其中参数定义了它扩展的类型。Foo方法扩展了string类,因为它的第一个参数定义为string类型。为了区分扩展方法和一般的静态方法,扩展方法还需要对第一个参数使用this关键字。
现在就可以使用带string类型的Fooo方法了:
string s = "Hello";
s.Foo()`
结果在控制台上显示Foo invoked for Hello
当然也可以这么调用StringExtension.Foo(s);