我悟委托
委托,刚接触时确实很模糊,说不明白吧,似是明白,委托,顾名思义,就是自己要干什么事,不直接干,而是交付给别人干。委托在编程中的定义就是:
在C#中,委托(delegate)是一种引用类型,在其他语言中,与委托最接近的是函数指针,但委托不仅存储对方法入口点的引用,还存储对用于调用方法的对象实例的引用
而在编程中,就是把要执行的事件通过委托来调用别的方法。我觉得可以简单的比喻为中介。好吧,让我们来认识这个“中介”吧!
首先:让中介存在:委托的建立:建立一个委托类型,并声明该委托可以指向的方法的签名(函数原型)
语法:访问修饰符 delegate 返回值类型 委托名(参数类型 参数)
eg: delegate void MyDelegate(int a,int b);
然后:目前市面上的中介很多,有售房的,买装饰的,所以得指定中介的工作类型,要干嘛
建立一个委托类的实例,并指向要调用的方法
eg:MyDelegate md=new MyDelegate(Max); 告诉用户你是寻找最大值的
最后:告诉委托方我已经找人解决了你的问题:利用委托类实例调用所指向的方法:
int c=md(4,5)
好啦!我们已经大致的解析了一下委托,不过还得仔细琢磨一下它的定义。毕竟“中介”也有自己的制度嘛!
1.是引用类型 2.存储对方法的引用
最后就抛抛重点吧!为什么要委托,没有委托也可以直接调用呀!我以前也是这么想的,大家都不想找中介为什么满大街的“中介”,就是很多事情自己办不到或者自己不方便就找中介呗,委托也如此,比如微软写好的事件不便掉用别的方法呀!一般大型项目更能体现委托的存在性。
其实聊委托,可能有很多东西拿来讲,我也希望能学到更深的东西,So~本文有任何错误,敬请高人赐教!

浙公网安备 33010602011771号