Extension Method(扩展方法)
这是C#的特性,它允许脚本在不更新特定类对象的情况下,给类增加特定方法。比如以下这个例子。
//我们先定义一个类Vector
public class Vector{
int x,y;
public int X{get;set;}
public int Y{get;set;}
}
//我们再定义扩展方法,特别注意的是,扩展方法要定义在静态类中,
//因为静态类不与特定对象相关联,所以可以直接被其他类调用
// 不要忘了参数中的 this! this只能标记第一个参数
public static class Extension{
public static Vector Adds(this Vector p,Vector p1){
return new Vector{ X = p.X+p1.X;Y=p.Y+p1.Y};
}
}
//最后我们可以直接通过对象调用这个扩展方法
public class Program{
static void Main(string[] args) {
Vector v = new Vector();
v = v.Add(v);
Console.WriteLine("v.X = {0} and v.Y = {1}", v.X, v.Y);
}
}
网友评论