扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。 它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。
扩展方法的要求如下:
1
第一个参数是要扩展或者要操作的类型,这称为”被扩展的类型”
2
为了指定扩展方法,要在被扩展的类型名称前面附加this修饰符
3
要将方法作为一个扩展方法来访问,要用using指令导入扩展类型的命名空间,或者使扩展类型和调用代码在同一个命名空间中.
//扩展方法必须在非泛型静态类中定义
public static class qzwtest
{
//扩展方法
public static string[] qzw(this string str)
{
return str.Split(new char[] { ‘ ‘, ‘,’ });
}
}
class Program
{
static int Main()
{
string testStr = “钱卓文 is 喵喵,贤静”;
//调用扩展方法
string[] testArray = testStr.qzw();
foreach (string s in testArray)
{
Console.WriteLine(s);
}
Console.ReadKey();
return 0;
}
}
来源URL:http://blog.sina.com.cn/s/blog_a5193ed401016mvb.html