C#-扩展方法

2017-10-14  本文已影响0人  JervieQin

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);
  }
}
上一篇 下一篇

猜你喜欢

热点阅读