为JS和C#类加一个扩展方法吧:P

JS扩展方法:通过原型prototype为JS的function扩展一个新的function
<script>
    function Rectangle(width, height) {
        this.width = width;
        this.height = height;
    }
    //为js的一个function添加一个方法,即我们通过原型prototype为一个class添加一个method
    Rectangle.prototype.adds = function (rec) {
        if (rec instanceof Rectangle) {
            return  (rec.width*rec.height);
        }
        else {
            alert("Invalid Rectangle object!");
        }
    }
    var v = new Rectangle(3, 2);
    v = v.adds(v); //使用扩展方法
    alert("面积是:"+v);
</script>

C#扩展方法:在不改类本身的前提下,为其扩展一个新的方法.

 public class Rectangle
    {
        public double Width
        {
            get;
            set;
        }
 
        public double Height
        {
            get;
            set;
        }
    }
 
 
    public static class Extension
    {
        public static Rectangle Adds(this Rectangle p, Rectangle p1)
        {
            return new Rectangle { Width = p.Width + p1.Width, Height = p.Height + p1.Height };
        }
    }
posted @ 2011-05-26 18:04  张占岭  阅读(417)  评论(0编辑  收藏  举报