C# 类的扩展

来源:互联网 发布:淘宝商品展示页面html 编辑:程序博客网 时间:2024/05/21 06:02

类的扩展必须使用静态类,和静态函数  。

被扩展的类型为this后面类型,quyu函数为int,这样就相当于给int类型增加了一个成员函数。sishewuru函数为double,此时相当于为double类型增加了一个成员函数

 static class SSS
    {
        public static int quyu(this int i,int x)
        {
            return i%x;
        }
        public static int sishewuru(this double i)
        {
            if (i - (int)i < 0.5)
                return (int)i;
            else
                return (int)i + 1;  
        } 
    }

static void Main(string[] args)
        {
            int a;
            a = 19;
            Console.WriteLine(a.quyu(5));//可以用扩展方式调用
            Console.WriteLine(SSS.quyu(a, 5));//也可以用普通方式调用

            double b;
            b = 20.65;
            Console.WriteLine(b.sishewuru());
            Console.WriteLine(SSS.sishewuru(b));
            
            Console.WriteLine(5.quyu(3));//甚至可以用数字的方式进行调用,不过不推荐这种方法,容易出现问题
            Console.WriteLine(5.34.sishewuru());
        }



0 0