委托中的单播以及多播

article/2025/4/28 21:25:07

目录

1.委托的多播

2.编写程序,实现委托的多播。

代码 如下:

单播:

多播:


1.委托的多播

       委托对象可使用 “+” 运算符进行合并。一个合并委托调用它所合并的两个委托。只有相同类型的委 托可被合并。 “-” 运算符可用于从合并的委托中移除组件委托。 委托也可以包含多个方法,这种委托称为多播委托,也叫组播。

2.编写程序,实现委托的多播。

   先在 Visual Studio 2019 中,新建名称为 “project1” 的文件,这里的文件名大家可以根据自己的文件名称所改。

代码 如下

using System;
public delegate int NumberDelegate(int num1, int num2); // 委托,声明在类之外
namespace project1
{
public class Program
{
public static int AddMethod(int num1, int num2)
{Console.WriteLine("Sum={0}", num1 + num2);return num1 + num2;
}
public static int SubMethod(int num1, int num2)
{Console.WriteLine("Sub={0}", num1 - num2);return num1 - num2;
}
public static void Main(string[] args)
{//单播NumberDelegate nd1 = null;nd1 += AddMethod;Console.WriteLine("委托一个方法的结果为:{0}", nd1(3, 2));//多播NumberDelegate nd2 = null;nd2 += AddMethod;nd2 += SubMethod;Console.WriteLine("委托两个方法的结果为:{0}", nd2(2, 4));
}
}
}

以上演示了委托的单播和多播。

单播:

  在代码中,声明了一个委托 NumberDelegate ,然后在 Main 方法里面定义了委托变量nd1,接着使用 “+”运算符将AddMethod方法注册给nd1,然后执行nd1,可以看到AddMethod方法被执行了。

多播:

在Main方法中定义了委托变量nd2,接着使用"+"运算符将AddMethod方法和SubMethod方法注册给 nd2,然后执行nd2,可以看到2个注册的方法都被执行了。

注意:对于多播,调用委托后,按照注册顺序执行。不过对于有返回值的方法,将返回最后注册的方法执行后的返回值。

在 Visual Studio 2019 中的运行结果如图所示。

以上是关于单播以及多播的知识点。

 


http://chatgpt.dhexx.cn/article/OrsdXOFh.shtml

相关文章

单播+组播业务

配置单播业务 组网图 业务规划 业务虚端口1023单播4001(vlan)组播3888gpon0/12/9 2 业务配置 配置DBA模板 MA5800(config)#dba-profile add profile-id 103 type3 assure 102400 max 1024000 配置线路模板 MA5800(config)#ont-lineprofile gpon prof…

4.34、组播(多播)

4.34、多播 1.组播(多播)的介绍①组播地址②如何设置组播(组播的使用) 2.代码编写①服务端②客户端 1.组播(多播)的介绍 单播地址标识单个 IP 接口,广播地址标识某个子网的所有 IP 接口,多播地址标识一组 IP 接口。单播和广播是寻…

组播收发数据

1.流程图总结: 2. 代码: //运行起来一个Sender.exe,和多个Receiver.exe,可以看到组播的效果.//Sender.cpp也可称为服务端 #include <WINSOCK.H> #include <stdio.h> #define HELLO_PORT 7905 #define HELLO_GROUP "228.4.5.6" #pragma comment…

路由-单播、广播、组播

根据目标地址判断 类型 备注 单播 Unicast 发送给单个设备&#xff08;明确目标地址&#xff09; 广播 Broadcast 发送给所属广播域内的所有设备&#xff08;目标地址不明确&#xff09; MAC地址全F&#xff0c;IP地址全1 组播 Multicast 发送给一组目标 MA…

Alitum Designer 出现警告:[Warning] xxx.SchDoc Compiler Net xxx has no driving source

问题描述&#xff1a;Alitum Designer 在进行编译检查时&#xff0c;出现警告&#xff1a;Class Document Source Message Time Date No. [Warning] xxx.SchDoc Compiler Net xxx has no driving source (Pin J1-28,Pin U23-15,Pin U24-3) 20:01:18 2020/11/14 13。 问题分析&…

AD14.3绘制PCB教程

文档下载链接&#xff1a; 点此下载文档&#xff1a;AD14绘制PCB教程_V2.3_20200319.doc 或打开此链接下载&#xff1a; https://download.csdn.net/download/Ace_Shiyuan/12256474或通过如下方法逐步查找&#xff1a; 个人主页 -> 资源 -> AD14绘制PCB教程_V2.3_202…

学习AD常见错误(2)

1、在一个工程里新建多个原理图&#xff0c;会报元器件命名重复的问题 这种时候就要修改该元件的命名&#xff0c;该错误的报错就会消失。 2、问题描述&#xff1a;Alitum Designer 在进行编译检查时&#xff0c;出现警告&#xff1a;Class Document Source Message Time Date…

使用Altium Designer绘制STM32最小系统板及SD卡原理图

目录 一、前言二、AD工程的创建1、创建一个属于我们自己的工程2、元器件的封装 三、原理图绘制1、模块的绘制2、排版与分区3、SD模块的绘制 效果展示总结参考资料 一、前言 在学习了这么久的嵌入式&#xff0c;我们似乎还没有仔细了解过真正的嵌入式系统的原理图&#xff0c;咱…

如何将立创 EDA 的封装导入到 AD/PADS 软件中

立创 EDA,深受个人玩家和学生的喜爱,有现成的封装,再配合立创商城,很便捷。 在公司内部,用的很少,受限于性能、迭代维护等原因。 本文介绍如何将立创 EDA 里面的封装导入到 AD/PADS 中,为我们所用,立创封装一部分来自官方,另一部分来自个人,所以不能过分依赖,保不…

AD学习笔记(一)基础认识

文章目录 AD学习笔记第一讲 AD基础认识一、两库两图&#xff08;分别对应下图&#xff09;1、PCB图&#xff08;pcbdoc&#xff09;2、原理图&#xff08;schdoc&#xff09;3、原理图库&#xff08;schlib&#xff09;4、PCB库&#xff08;pcblib&#xff09; 二、封装1、DIP封…

PCB如何入门---一些经验与教训

从刚接触PCB打板到现在&#xff0c;磕磕碰碰的也是总结了一些经验&#xff0c;供大家参考借鉴一下。 首先&#xff0c;一开始接触PCB的入门&#xff0c;我是从b站上凡亿教育入门的 当然&#xff0c;这里没有打广告的嫌疑哈&#xff01;&#xff01;&#xff0c;这门课用的AD20…

protel dxp2004第三讲之仿真设计

今天给大家讲讲这款软件的仿真设计&#xff1a; Protel DXP 电路仿真概述 基于最新的Spice 3f5 模拟模型和XSPICE Simcode 数字模型仿真内核, Protel DXP 内嵌一个功能强大的A/D 混合信号仿真器,设计人员在进行原理图设计输入后,即可正确地仿真模拟和数字器件而无需通过A/D 转…

AD20安装、新建文件和一个小demo

一、软件的安装&#xff08;20&#xff09; AD20软件的安装包&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1naJ34qKRv0ZjTamTGAA0_w 提取码&#xff1a;dg68 安装步骤&#xff1a; https://mp.weixin.qq.com/s/Z81ajUtaGF149KN_Pe9qpw 二、文件新建过程 可以在电…

Altium Designer 18中的Violations Associated with Documents

Altium Designer 18中“工程选项”对话框“Error Reporting(错误报告)”选项卡第三项错误设置,是Violations Associated with Documents(与文件有关的错误),含有10条错误,如下图所示,软件官网https://www.altium.com/documentation只给出了8条错误说明。 Violations …

Altium Designer 学习笔记

Altium Designer 学习笔记 学习参考 B站凡亿教育AD20学习教程 如想获得更好阅读体验&#xff0c;可点击以下链接&#xff1a;AD20学习笔记 文章目录 Altium Designer 学习笔记快捷键总览第一部分&#xff1a;课程介绍、学习方法及元件库的创建1. 课程思路2. 新建工程3. 元件库…

PCB原理图绘制(2)——工程文件的初步修改与设置

PCB原理图绘制&#xff08;2&#xff09;——工程文件的初步修改与设置 1.修改原理图(sheet.schdoc)的大小与其他特性 &#xff08;Design-Document Options&#xff09; 2.为PCB板(pcb.pcbdoc)添加中间层 &#xff08;Design-Layer Stack Manager-&#xff08;选中Core如图…

ADPCB设计流程

一.创建文件夹 二.打开AD创建工程 创建PrjPcb项目保存在PCB_Project文件夹中 创建SchDoc文件保存在SchDoc文件夹中 创建PcbDoc文件保存在PcbDoc文件夹中 创建SchLib文件保存在SchLib文件夹中 创建PcbLib文件保存在PcbLib文件夹中 1.在SchLib中画AD库中没有的元器件原理图&#…

Altium Designer 2020 学习笔记(一)-----原理图及原理图库部分(配动态图操作演示)

本篇文章主要与大家简要分享一下&#xff0c;我在AD学习过程中的一些学习笔记&#xff0c;本篇文章主要关于原理图及原理图库部分。 本系列文章链接&#xff1a; ----------------------------------------------------------------------------- Altium Designer 2020 学习笔…

【Altium Designer】新建工程

Altium Designer的文件体系 Altium Designer的一个工程&#xff0c;包含了4个重要文件&#xff0c;其他文件可有可无&#xff0c;这4个文件是非常重要的&#xff0c;由这4个文件&#xff0c;构成了最基本的Altium Designer工程 SchDoc&#xff08;原理图&#xff09;SchLib&a…

ku060 schdoc connect record

flash JTAG信号&#xff0c;最基本的要有5条线&#xff0c;TCK TMS,TDI,TDO,复位信号。 复位信号&#xff0c;有的一条&#xff0c;有的多条&#xff0c;他的作用是镇压CPU&#xff0c;让他停下所有工作&#xff0c;等着JTAG信号对它进行控制&#xff0c;或者让其某部分工作…