最近处于面试找工作的阶段,面试中遇到这个问题已经多次,一直想了解,就趁这个机会好好梳理一下啊。
当提及委托,大多数人第一印象是它相当于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(“房产争端”);
时间: 2024-10-23 00:11:23