您的位置:首页 > 编程语言 > C#

C#如何对一个类添加拓展方法

2016-04-06 00:27 459 查看
 class MyData

    {

        private double D1;

        private double D2;

        private double D3;

        public MyData(double d1, double d2, double d3)

        {

            D1 = d1;

            D2 = d2;

            D3 = d3;

        }

        public double Sum()

        {

            return D1 + D2 + D3;

        }

    }

    static class ExtendMyData

    {

        public static double Average(this MyData md)

        {

            return md.Sum() / 3;

        }

    }

    class Program

    {

        static void Main(string[] args)

        {

            MyData md = new MyData(1, 2, 3);

            Console.WriteLine("Sum:{0}", md.Sum());

            Console.WriteLine("Average:{0}", md.Average());

            Console.Read();

        }
    }

通过上述demo,我可以得到如果要实现一个拓展方法必须要完成三个部分:

□ 声明拓展方法的类必须声明为static。

□ 拓展方法本身必须声明为static。

□ 拓展方法必须包含关键字this作为它的第一个参数类型,并在后面跟着它所拓展的类的名称。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: