zoukankan
html css js c++ java
委托学习笔记二(多播委托)
多播委托是指引用多个方法委托。当调用委托时,它连续调用每个方法。为了把委托的单个实例合并为一个多播委托,委托必须是同类型的,返回类型必须是void,不能带输出参数(但可以带引用参数)。
除此之外,它们的声明和实例化都和其他委托没有什么不同。多播委托用于C#的事件模型中。
您可以把多播委托看作两个或多个标准委托串在一起。委托可以使用算术运算符+和+=串在一起。委托也能使用-和-=运算符从多播委托中删除。当调用多播委托里,委托所表示的每个方法依次调用。如果有任何参数,它们将用于所有的方法。
多播委托例子代码:
public
delegate
void
Message();
class
Class1
{
/**/
///
<summary>
///
应用程序的主入口点。
///
</summary>
[STAThread]
static
void
Main(
string
[] args)
{
//
//
TODO: 在此处添加代码以启动应用程序
//
Message msg;
//
创建一个多播委托
msg
=
new
Message(Messages.Greeting);
msg
+=
new
Message(Messages.DateAndTime);
Message msg2
=
new
Message(Messages.Maintenance);
msg
+=
msg2;
msg();
Console.ReadLine();
}
}
public
class
Messages
{
public
static
void
Greeting()
{
Console.WriteLine(
"
Welcome to Mandolin Co.
"
);
return
;
}
public
static
void
DateAndTime()
{
Console.WriteLine(DateTime.Now.ToLongDateString());
return
;
}
public
static
void
Maintenance()
{
Console.WriteLine(
"
System maintenance be done tonight
"
);
return
;
}
}
查看全文
相关阅读:
TestLink学习六:TestLink1.9.13工作使用小结
TestLink学习五:TestLink1.9.13和JIRA6.3.6的集成
TestLink学习四:TestLink1.9.13使用说明
TestLink学习三:发送邮件的两种配置方法
TestLink学习二:Windows搭建TestLink环境
TestLink学习一:Windows搭建Apache+MySQL+PHP环境
Python:Ubuntu上使用pip安装opencv-python出现错误
Python:Ubuntu上出现错误 Could not load dynamic library 'libnvinfer.so.6' / 'libnvinfer_plugin.so.6'
mybatis-generator二次开发总结
动态代理
原文地址:https://www.cnblogs.com/wuhuihui_dotnet/p/297018.html
最新文章
java日志框架与日志系统
[译]Java Thread wait, notify和notifyAll示例
[译]Java Thread Sleep示例
[译]Java Thread join示例与详解
[译]线程生命周期-理解Java中的线程状态
[译]servlet3.0与non-blocking服务端推送技术
[译]Redis大冒险
【转载】Springboot使用rabbitmq
【mac】homebrew常用命令
【实战】Springboot +jjwt+注解实现需登录才能操作
热门文章
Springboot中使用kafka
【工具类】JAVA单例实现方式(常用)
【工具类】JAVA8-用lamda表达式和增强版Comparator进行排序
Message Queue的使用目的
【工具类】Java中判断字符串是否为数字的五种方法
【常用】面试题
JMeter学习(二)录制脚本
JMeter学习(一)工具简单介绍
TestLink学习八:TestLink1.9.13与Mantis1.2.19集成
TestLink学习七:TestLink测试用例Excel转换XML工具
Copyright © 2011-2022 走看看