1.委托基础语句形式

namespace QLVision
{
delegate void dHelp();//定义委托 static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
dHelp h;//委托实例 h = SaySometing;//实例赋值 h();//委托调用 void SaySometing()
{
MessageBox.Show("Hello");
} }
}
}

2.委托的作用

委托用于存放行为(即方法),行为由调用者决定。

namespace QLVision
{
delegate void dHelp();//定义委托 static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
void Talk(dHelp help)//传参为委托
{
help();//方法内执行委托方法
} void SayHello()
{
MessageBox.Show("Hello");
}
void SayBye()
{
MessageBox.Show("Bye");
} Talk(SayHello);//方法调用
Talk(SayBye);//方法调用 }
}
}

3.委托的分类

与方法名和方法体无关,只按返回类型,参数类型,参数个数分类。

4.委托的简化

泛型委托:

Action :无返回值;链接:Action 委托 (System) | Microsoft Docs

Func :有返回值;链接:Func<TResult> 委托 (System) | Microsoft Docs

namespace QLVision
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
void Talk(Action help)//传参为委托
{
help();//执行委托方法
} Talk(SayHello);//调用方法 void SayHello()
{
MessageBox.Show("Hello");
}
}
}
}

使用Lambda表达式:

namespace QLVision
{
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
void Talk(Action help)//传参为委托
{
help();//执行委托方法
} Talk(() => MessageBox.Show("Hello"));//Lamda表达式 }
}
}

参考链接:之所以你没有使用委托是因为你还不够了解它.._哔哩哔哩_bilibili

最新文章

  1. Android中使用GridView和ImageViewSwitcher实现电子相册简单功能
  2. hibernate框架int和Integer类型区别
  3. android退出MainActivity后onDestroy不回调
  4. 作业三(代码规范、代码复审、PSP)
  5. AutoMapper配置方法
  6. 【OpenStack】OpenStack系列6之Sheepdog环境搭建
  7. 教你快速写出多线程Junit单元测试用例 - GroboUtils
  8. JavaScript中数组操作
  9. jQuery 日历控件 FullCalendar 初识
  10. angular controller js 压缩后报错解决方案
  11. POJ 3070 Fibonacci(矩阵高速功率)
  12. NYOJ--325--深度优先搜索--zb的生日
  13. 神奇的RAC宏
  14. BZOJ_1179_[Apio2009]Atm_tarjan+spfa
  15. 【转】Python——plot可视化数据,作业8
  16. 深入并发包 ConcurrentHashMap 源码解析
  17. C# 判断网卡类型以及其他网卡信息
  18. [Codeforces1132G]Greedy Subsequences——线段树+单调栈
  19. linux获取内存、cpu、负载、网口流量、磁盘信息
  20. DesignPattern(六)行为型模式(下)

热门文章

  1. C#面向抽象编程第二讲
  2. 2022.02.21 UB
  3. 2021.08.01 P4311 数字序列(左偏树)
  4. python基础练习题(斐波那契数列)
  5. Ubuntu Qt5 Firebird 数据库驱动安装
  6. postgreSQL使用sql归一化数据表的某列,以及出现“字段 ‘xxx’ 必须出现在 GROUP BY 子句中或者在聚合函数中”错误的可能原因之一
  7. spring boot的配置文件
  8. python学习-Day17
  9. XCTF练习题---MISC---掀桌子
  10. XCTF练习题---CRYPTO---Morse解析