委托和事件

原创 2007年09月25日 16:29:00

主要过程如下:
1.在后台代码中,我们可以定义处理程序方法alartRang
2.然后定义委托,引用到处理程序方法的实例。
3.最后将委托添加到事件中。
从而,引发事件时就会调用相关的事件处理方法。

若要使用在另一个类中定义的事件,必须定义和注册一个事件处理程序。事件

处理程序必须具有与为事件声明的委托相同的方法签名。通过向事件添加事件

处理程序可注册该处理程序。向事件添加事件处理程序后,每当该类引发该事

件时都会调用该方法。

有关阐释引发和处理事件的完整示例,请参见如何:引发和使用事件。

为事件添加事件处理程序方法
定义一个具有与事件委托相同的签名的事件处理程序方法。

public class WakeMeUp
{
    // AlarmRang has the same signature as AlarmEventHandler.
    public void AlarmRang(object sender, AlarmEventArgs e)
    {...};
    ...

使用对该事件处理程序方法的一个引用创建委托的一个实例。调用该委托实例

时,该实例会接着调用该事件处理程序方法。

// Create an instance of WakeMeUp.
WakeMeUp w = new WakeMeUp();

// Instantiate the event delegate.
AlarmEventHandler alhandler = new AlarmEventHandler(w.AlarmRang);

将该委托实例添加到事件。引发该事件时,就会调用该委托实例及其关联的事

件处理程序方法。

C#  复制代码
// Instantiate the event source.
AlarmClock clock = new AlarmClock();

// Add the delegate instance to the event.
clock.Alarm += alhandler;

 

事件与委托趣谈

 事件与委托似乎很难以理解,这是因为它们的使用方式与常用的编码有很大的差别,例如通常编写的都是同步代码,调用一个类型的方法,会即刻出现方法执行的结果,这是符合逻辑的。但在某些情况中,同步代码未必满足需...
  • chiangbt
  • chiangbt
  • 2008年01月17日 21:51
  • 26585

委托和事件的区别(讲的很详细)

原文地址:http://www.tracefact.net/CSharp-Programming/Delegates-and-Events-in-CSharp.aspx 委托 和 事件在 .Net F...
  • chopper7278
  • chopper7278
  • 2008年10月25日 23:58
  • 12381

通俗易懂地解释一下C#中的事件和委托

作者:吴杰 链接:http://www.zhihu.com/question/21638630/answer/26061308 来源:知乎 著作权归作者所有,转载请联系作者获得授权。 如果...
  • wonengguwozai
  • wonengguwozai
  • 2016年09月10日 19:20
  • 530

快速理解C#中的委托与事件

以下内容只是个人理解,仅供参考。 什么是委托? 先看最简单的委托例子: namespace DelegateTest { public delegate void MessageDele...
  • Wiiix
  • Wiiix
  • 2016年05月20日 20:02
  • 5606

C# 中的委托和事件(详解)

C# 中的委托和事件        委托和事件在 .NET Framework 中的应用非常广泛,然而,较好地理解委托和事件对很多接触 C# 时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛...
  • ZXD9790902
  • ZXD9790902
  • 2016年09月29日 09:10
  • 364

C# .Net 委托和事件的区别

   在.net中,事件是一种特殊的委托,那他到底特殊在哪,换句话说,加上event关键字到底有什么用,我理解主要有两方面,下面用实例说明:    一 、事件只能在本类型内部“触发”,委托不管在本类型...
  • azkaser
  • azkaser
  • 2009年11月24日 15:18
  • 8884

【C#】C#委托和事件的实例讲解

using System; namespace delegate_event { // 定义一个猫类 class Cat { // 定义一个名字字段 private string na...
  • sinat_20559947
  • sinat_20559947
  • 2015年07月22日 15:33
  • 4024

委托、事件、单例在Unity3D中的使用

原文 请点击这里 翻译:claudioHere I demonstrate how to create delegates, events and singletons to work in con...
  • arbut
  • arbut
  • 2015年03月11日 19:51
  • 3053

Unity中对于委托、事件的应用

[引言] 这边文章主要是针对刚踏入这行的程序员,是我工作半年多来积累下来的一些经验,仅作为参考,也希望各位经验丰富的前辈多批评指正。 我是专科生毕业,我们学校所教的C#的内容其实只有非常非常基础的那些...
  • GhostOrange
  • GhostOrange
  • 2016年11月13日 18:01
  • 2359

java实现事件委托

事件委托 委托
  • shuciqi
  • shuciqi
  • 2014年05月13日 14:27
  • 2389
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:委托和事件
举报原因:
原因补充:

(最多只允许输入30个字)