【博主】反骨仔 【原文】http://www.cnblogs.com/liqingwen/p/6060297.html
序
昨天,通过《C# 知识回顾 - 事件入门》介绍了事件的定义及简单用法,今天我们通过控制台来看下“发布 - 订阅”的基本用法。
目录
一、发布基于 .NET 类库的事件
.NET类库中的所有事件均基于 EventHandler 委托,定义如下:
public delegate void EventHandler(object sender, EventArgs e);
知识兔你可以尝试手动输入 EventHandler ,然后按下“F12”跳转到定义:
.NET 2.0 引入了该委托的一个泛型版本,即 EventHandler<TEventArgs>。
【备注】虽然我们定义的事件可以基于任何自定的委托类型,但建议使用内置的 EventHandler 进行扩展。
二、采用 EventHandler 模式发布事件
1.这里选择继承了 BCL 中的类 EventArgs,可以在事件的触发时进行数据的传递。
1 class MyEventArgs : EventArgs
2 {
3 public string Message { get; private set; }
4
5 public MyEventArgs(string message)
6 {
7 Message = message;
8 }
9 }
知识兔