码迷,mamicode.com
首页 > Windows程序 > 详细

小兵 浅谈C#委托<delegate>

时间:2016-07-30 18:27:48      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:

最近处于面试找工作的阶段,面试中遇到这个问题已经多次,一直想了解,就趁这个机会好好梳理一下啊。 

当提及委托,大多数人第一印象是它相当于C++的函数指针,可以将方法作为参数进行传递,也可以达到函数回调的作用。

委托例子:其实在生活中也有很多这样的例子,例如我们打官司,首先应该找到律师,委托律师去帮我们打官司,这就是委托。在程序中我们可以针对这个例子这样写:

1、首先定义一个委托:public delegate void Lawyer(string matter)   //相当于律师这个角色

2、再声明这个委托:Lawyer lawyer;//这个步骤相当于你具体请的是哪一个律师

3、给委托这个类型赋值,就是指明这个委托需要干一件什么样的事情:

    //声明一个方法

    public static void litagtion(string matter)//matter 代表是一个什么样的事情

   {

          Console.WriteLine(”为{0}进行诉讼“,matter);

   }

    给委托这个类型赋值有二种方法:

     1、实例化直接赋值:Lawyer lawyer=new Lawyer(litagtion);

     2、不用new:Lawyer lawyer=litagtion;(C#2.0引进而来)

4、调用委托:    lawyer(“房产争端”);

 

小兵 浅谈C#委托<delegate>

标签:

原文地址:http://www.cnblogs.com/zw-hsy/p/5721400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!