C#扩展方法的一分钟小例子

扩展方法是静态方法,是类的一部分,但没有在类的源代码中,就像一个补丁

首先创建一个静态类,然后创建一个静态方法,重点是静态方法的参数

    public static class xExtension
    {
        public static int x(this char s)
        {
            return Convert.ToInt32(s);
        }
    }
    class MainClass
    {
        public static void Main()
        {
            char y = 'A';
            Console.WriteLine(y.x());
        }
    }

这里定义了一个扩展方法x,注意x的参数列表(this char s),this和char定义了这是一个char的扩展方法,s是char类型的形参

扩展方法x的作用是将char字符转换为对应的ascii码

如果参数静态方法的参数列表是(this int s),那么这就是int的扩展方法

扩展方法的调用和普通方法调用方式一样,这里声明了char类型变量y,然后调用y.x(),运行便会在控制台输出65

注意:扩展方法的优先级低于实例方法的优先级,如果定义了同名的实例方法,那么扩展方法永远无法调用

posted @ 2020-03-18 21:29  吴俊城  阅读(94)  评论(0编辑  收藏  举报