C#学习笔记(三十一) 扩展方法

                                                    扩展方法

扩展方法就是给对象添加功能的一种方式。

扩展方法可以扩展类,使之增加需要的方法;扩展方法也可以用于扩展接口。这样,实现该接口的所有类就有了公共功能。
扩展方法是静态方法,同时声明扩展方法的类也是静态类。扩展方法是扩展对象的一部分,但实际没有放在对象的原代码中。
扩展方法必须包含关键字this作为它的第一个参数类型,并在后面跟着它所扩展的类型。
使用扩展方法,需要using指令引用该扩展方法所在的命名空间;如果该类型存在与扩展方法同名的实例方法,则扩展方法永远不会被使用。

    interface IWord
    {
        public string AddWordA(string word);
    }
    public class WordClass : IWord
    {
        public string AddWordA(string word)
        {
            return word.PadLeft(3, 'A');
        }
    }

    static class WordExtension
    {
        //扩展方法的参数必须是this + 需要扩展的类型名
        public static string GetWord(this IWord word)
        {
            return "this is Extension Method";
        }
    }
    class Program
    {
        private static void Main()
        {
            IWord word = new WordClass();
            Console.WriteLine(word.AddWordA("BC"));
            //使用扩展方法时,需要用实例方法的语法,不用类型名.方法名的形式
            Console.WriteLine(word.GetWord());
        }
    }
发布了35 篇原创文章 · 获赞 67 · 访问量 8510

猜你喜欢

转载自blog.csdn.net/EngraveSmile/article/details/104228766