扩展方法

      扩展方法是一种特殊类型的静态方法。对于一个C#类型,如类(包括密封类)、值类型、接口等,扩展方法可以在不改变该类型源码的前提下,为它的实例提供新的成员。因此,若要为一个框架或第三方库的某个类型增加辅助功能,通过扩展方法就可以轻而易举地实现,这也是“扩展”的意义所在。最常见的是在Linq中使用。

 

使用方法:

常见一个Person类,里面有Id,Name属性,Say方法

public class Person
    {
        public int Id { get; set; }
        public string Name { get; set; }

        public void Say()
        {
            Console.WriteLine("你好呀!");
        }
    }

可以通过new一个Person类的实例对象,可以通过new出来的实例对象调用Say方法,但是现在需要扩展一个方法,在不改变原来的类,就需要扩展方法。

对Person类进行扩展一个方法SayHi.

1.创建一个静态类,写一个静态方法,静态方法的第一个参数必须是this Person p,就可以通过new出来的方法调用SayHi方法了。

public static class PersonExt
    {
        public static void SayHi(this Person p)
        {
            Console.WriteLine("SayHi!");
        }
    }

 

posted @ 2019-06-29 21:41  black娃  阅读(184)  评论(0编辑  收藏  举报