适合人群:C# 初学者学习目标:理解什么是委托、为什么要使用委托、如何在实际项目中使用委托。一、什么是委托(Delegate)?如果你学过 C 语言,就知道函数指针。而在 C# 中,没有函数指针(普通情况下),取而代之的是委托(Delegate)。一句话理解:委托就是一个能够保存方法地址的对象。或者理解成:委托就是"方法的变量"。例如:int Add(int a, int b) { return a + b; }以前我们只能这样调用:Add(1,2);而使用委托以后:delegate int MyDelegate(int a, int b); MyDelegate d = Add; int result = d(1,2);是不是很神奇?变量里面装的是方法。二、为什么需要委托?举一个生活中的例子。假设你点外卖。商家做好饭以后:以前:商家 → 找你使用委托:商家 → 骑手(委托) → 你骑手知道你的地址。委托知道要调用哪个方法。所以:委托就是负责"通知"别人执行某个方法。三、声明委托语法:delegate 返回值 委托名称(参数);例如:delegate void MyDelegate();表示:这个委托只能保存void 方法()这样的函数。再例如:delegate int Calculate(int x, int y);表示:只能保存int 方法(int,int)这种函数。四、最简单的例子
C# 委托(Delegate)详解:从零基础到实战
适合人群:C# 初学者学习目标:理解什么是委托、为什么要使用委托、如何在实际项目中使用委托。一、什么是委托(Delegate)?如果你学过 C 语言,就知道函数指针。而在 C# 中,没有函数指针(普通情况下),取而代之的是委托(Delegate)。一句话理解:委托就是一个能够保存方法地址的对象。或者理解成:委托就是"方法的变量"。例如:int Add(int a, int b) { return a + b; }以前我们只能这样调用:Add(1,2);而使用委托以后:delegate int MyDelegate(int a, int b); MyDelegate d = Add; int result = d(1,2);是不是很神奇?变量里面装的是方法。二、为什么需要委托?举一个生活中的例子。假设你点外卖。商家做好饭以后:以前:商家 → 找你使用委托:商家 → 骑手(委托) → 你骑手知道你的地址。委托知道要调用哪个方法。所以:委托就是负责"通知"别人执行某个方法。三、声明委托语法:delegate 返回值 委托名称(参数);例如:delegate void MyDelegate();表示:这个委托只能保存void 方法()这样的函数。再例如:delegate int Calculate(int x, int y);表示:只能保存int 方法(int,int)这种函数。四、最简单的例子