C#中的扩展方法用来为现有类型添加方法,以扩展现有的类型,这些类型可以是基本的数据类型(如int、string等),也可以是自己定义的类型。
扩展方法是通过指定关键字this修饰方法的第一个参数而声明的。扩展方法只可以声明在静态类中。
以下为扩展基本类型string代码:
public static class Extensions
{
public static int TestMethod(this string s)
{
return s.Length;
}
}
以上是对string基类整个类的扩展,也就是说如果一个变量为string类型,并在同一个命名空间中,就可以使用TestMethod方法,例如:
string s="hahahhahah!";
int len=s.TestMethod();
扩展方法也可以扩展类的方法,只不过把this修饰的类型改为自定义的类型即可。