C#扩展方法示例(this关键字)

        扩展方法能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。C#扩展方法第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。

1.扩展方法(this 需要扩展的类 命名),如:public static void ExtensionEat(this Person person);

2.扩展方法必须是静态的

2.调用扩展方法,必须用对象来调用 

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            Person p = new Person();
            p.ExtensionEat();
            p.ExtensionHello();
            Console.ReadKey();
        }
    }
    public class Person
    {
        public void Eat()
        {
            Console.WriteLine("吃饭");
        }
        public void Hello(string name)
        {
            Console.WriteLine("你好," + name);
        }
    }
    public static class ExtensionPerson
    {
        public static void ExtensionEat(this Person person)
        {
            person.Eat();
            Console.WriteLine("吃完了");
        }
        public static void ExtensionHello(this Person person)
        {
            person.Hello("李疆");
            Console.WriteLine("hahahah");
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_40323256/article/details/86358238
今日推荐