你的位置:首页 > 软件开发 > ASP.net > .Net之美读书系列(一):委托与事件

.Net之美读书系列(一):委托与事件

发布时间:2016-03-06 21:00:15
开启新的读书之旅,这次读的书为《.Net之美:.Net关键技术深入解析》。我是选择性阅读的,把一些自己觉得容易忘记的,或者比较重要的知识点记录下来,以便以后能方便呢查阅。尊重书本原作者,如果大家能有个可能的话,去看看这本书,作者写得挺不错的。例子和知识点各方面都写挺不错的。本章的 ...

开启新的读书之旅,这次读的书为《.Net之美:.Net关键技术深入解析》。

我是选择性阅读的,把一些自己觉得容易忘记的,或者比较重要的知识点记录下来,以便以后能方便呢查阅。

尊重书本原作者,如果大家能有个可能的话,去看看这本书,作者写得挺不错的。例子和知识点各方面都写挺不错的。

本章的内容

什么是委托/创建委托类型的写法/事件与委托/发布者和订阅者(观察者模式)

什么是委托:

说白了就是平时我们把变量当参数传递的时候,这个变量的类型可以是int类型,double类型,get='_blank'>string类型以及各种自定义引用类型等等,但是有时候,我们需要的把一个方法当作参数传入到另外方法中,这个时候就需要一个容器去存储,这个时候该类型的名称就是成为“委托”。

创建委托类型的写法:

一个普通的方法名:  public  void NomalMenthod(string parameter)

一个方法的委托   :  public delegate void MenthodDelegate(string parameter);

委托与方法有什么不同呢,不同之处就是都了delegate进行修饰,以及不同的名称而已,它们的共同点就是:相同的返回类型,相同的参数。其实,一个委托最终也是编译成一个类。以下标出委托的写法与用法:

    public static void Main(string[] args)    {      //使用委托。传入与委托相同类型的方法作参数      sayhi("猪猪猪扒",ChineseSay);      Console.Read();    }    //1.目的是一个问号的方法,但是各个国家的方式问好方法不相同,在代码层面中需要一个这些方法共同的特点来做一个统一,所以把委托做一个参数    public static void sayhi(string name, MenthodDelegate delegatemethod)    {      delegatemethod(name);    }    //2.定义一个委托类型作为统一的方法的类型    public delegate void MenthodDelegate(string parameter);    //3.1这两步都是说明方法是动作不一样而已。    public static void ChineseSay(string name)    {      Console.WriteLine("李好 " + name);    }    //3.2这两步都是说明方法是动作不一样而已。    public static void EnglishSay(string name)    {      Console.WriteLine("Morning " + name);    }

原标题:.Net之美读书系列(一):委托与事件

关键词:.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。