C# 扩展方法
什么是扩展方法
扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。 对于用 C#、F# 和 Visual Basic 编写的客户端代码,调用扩展方法与调用在类型中实际定义的方法没有明显区别。
如何定义
1.定义一个静态类以包含扩展方法。该类必须对客户端代码可见。
2.将该扩展方法实现为静态方法,并使其至少具有与包含类相同的可见性。
3.该方法的第一个参数指定方法所操作的类型;该参数必须以 this 修饰符开头。
4.在调用代码中,添加一条 using 指令以指定包含扩展方法类的命名空间。
5.按照与调用类型上的实例方法一样的方式调用扩展方法。
示例
给String类定义一个扩展方法
public static class MehtondExtension{
public static string tostring(this string s){
return (string.Format("Extension output: {0}", s));
}
}
注意可见修饰、static和传入参数中的this。
在Main函数中进行调用:
class Program{
static void Main(string[] args){
string s = "Hello World";
Console.WriteLine(s.ExToString());
Console.ReadKey();
}
}
输出 :Extension output: Hello World
祸兮福所倚,福兮祸所伏是一个汉语成语, 指福与祸相互依存,互相转化。比喻坏事可以引发出好的结果,好事也可以引发出坏的结果。暗示人们在顺境中要谦虚谨慎,戒骄戒躁;志得意满,狂妄自大,反而滋生灾祸,由福转祸;逆境中百折不挠,勤奋刻苦,可变逆境为顺境,由苦而甜的道理。