首页 > 代码库 > C# 事件
C# 事件
下面的过程演示了如何将符合标准 .NET 模式的事件添加到您的类和结构中。 .NET类库中的所有事件均基于 EventHandler 委托,定义如下:
public delegate void EventHandler(object sender, EventArgs e);
你可以尝试手动输入 EventHandler ,然后按下“F12”跳转到定义:
.NET Framework 2.0 引入了此委托的一个泛型版本,即 EventHandler<TEventArgs>。
【备注】虽然您定义的类中的事件可基于任何有效委托类型(甚至是可返回值的委托),但是,通常建议您使用 EventHandler 让事件基于 .NET 模式,如下面的示例所示。
采用 EventHandler 模式发布事件
1.(如果不需要与事件一起发送自定义数据,请跳过此步骤,进入步骤 3a。)在发行者类和订阅方类均可看见的范围中声明自定义数据的类。 然后添加保留您的自定义事件数据所需的成员。 在此示例中,会返回一个简单字符串。
1 class MyEventArgs : EventArgs2 {3 public string Message { get; private set; }4 5 public MyEventArgs(string message)6 {7 Message = message;8 }9 }
2.(如果您使用的是 EventHandler<TEventArgs> 的泛型版本,请跳过此步骤。)在发布类中声明一个委托。 为它指定以 EventHandler 结尾的名称。 第二个参数指定自定义 EventArgs 类型。
delegate void MyEventHandler(object sender, MyEventArgs args);
--预览版,整理中
C# 事件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。