C# 事件访问器(Event Accessor)
2016-01-21 22:00
381 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication委托为什么没有返回值 { class Program { static void Main(string[] args) { Publishser p = new Publishser(); p.NumberChanged -= Subscriber1.OnNumberChanged; p.NumberChanged += Subscriber2.OnNumberChanged; p.NumberChanged += Subscriber3.OnNumberChanged; p.DoSomething(); } } //定义委托 public delegate string GeneralEventHandler(); //定义事件发布者 public class Publishser { //声明一个委托变量 private GeneralEventHandler numberChanged; //事件访问器的定义 public event GeneralEventHandler NumberChanged { add { numberChanged = value; } remove { numberChanged = value; } } public void DoSomething() { if (numberChanged != null) { string rtn = numberChanged(); Console.WriteLine(rtn); } } } //定义事件订阅者 public class Subscriber1 { public static string OnNumberChanged() { return "Subscriber1"; } } public class Subscriber2 { public static string OnNumberChanged() { return "Subscriber2"; } } public class Subscriber3 { public static string OnNumberChanged() { return "Subscriber3"; } } }
相关文章推荐
- C# WinForm 父窗体 子窗体 传值
- C# DataTable的詳細用法
- C#中为何要使用ref参数 (个人理解)
- C# .NET开发图形图像程序时提示"GDI+ 中发生一般性错误"
- C# 值类型与引用类型 (上)
- C#中static类型的变量和方法
- C#类的 static变量
- C#链接文件的应用
- C#全角和半角转换
- 在C#中创建和读取XML文件
- C#语言基础(一)
- C#利用Windows自带gdi32.dll实现抓取屏幕功能实例
- C#调用FFMPEG实现桌面录制(视频+音频+生成本地文件)【笔记】
- AWS 之 S3篇<.NET(c#)批量上传文件>
- C# 利用 OpenCV 进行视频捕获 (笔记)
- RickTextBox控件基础用法
- 伸展二叉树树(C#)
- C#的Enum——枚举
- C#获取当前日期时间(转)
- C#delegate委托