Linq 1 扩展方法

当我们在不想或不能去修改类的源代码的情况下,又要去增加新的方法时,可以用扩展方法。

    class Program
    {
        static void Main(string[] args)
        {
            int r = 0;
            GetNum getNum = new GetNum();
            r = getNum.Add(1, 2);
            r = getNum.AddExtend(1, 2, 3);
            Console.WriteLine(r);

        }
    }

    /// <summary>
    /// 原始类
    /// </summary>
    class GetNum 
    {
        /// <summary>
        /// 原始方法
        /// </summary>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <returns></returns>
        public int Add(int a, int b)
        {
            return a + b;
        }

    }
    /// <summary>
    /// 扩展类,必须是静态
    /// </summary>
    static class GetNumExtend 
    {
        /// <summary>
        /// 扩展方法,必须是静态
        /// </summary>
        /// <param name="getNum">要扩展的类的对象,this关键字修饰</param>
        /// <param name="a"></param>
        /// <param name="b"></param>
        /// <param name="c"></param>
        /// <returns></returns>
        public static int AddExtend(this GetNum getNum, int a, int b, int c)
        {
            return a + b + c;
        }
    }

linq中,就用到了很多扩展方法。

posted @ 2021-03-29 22:37  luytest  阅读(48)  评论(0编辑  收藏  举报