返回首页
当前位置: 主页 > 网络编程 > .Net实例教程 >

C#-事件

时间:2020-01-22 16:57来源:知行网www.zhixing123.cn 编辑:麦田守望者

 事件是用户操作,例如按键,单击,鼠标移动等,或某些事件(例如系统生成的通知)。应用程序需要在事件发生时做出响应。例如,中断。事件用于进程间通信。

对事件使用代理

事件在类中声明和引发,并使用同一类或其他类中的委托与事件处理程序关联。包含事件的类用于发布事件。这称为发布者类。接受此事件的其他一些类称为订户类。事件使用发布者-订阅者模型。

一个出版商是包含事件和委托的定义的对象。事件-委托关联也定义在此对象中。发布者类对象将调用该事件,并将其通知其他对象。

订户是接受该事件,并提供一个事件处理程序的对象。发布者类中的委托调用订阅者类的方法(事件处理程序)。

宣布事件

要在一个类内声明一个事件,首先,必须为even声明一个委托类型:

public delegate string BoilerLogHandler(string str);

然后,使用event关键字声明事件 -

event BoilerLogHandler BoilerEventLog;

前面的代码定义了一个名为代表BoilerLogHandler和命名的事件BoilerEventLog,当它升起它调用委托。

现场演示
using System;  namespace SampleApp {    public delegate string MyDel(string str); 	    class EventProgram {       event MyDel MyEvent; 		       public EventProgram() {          this.MyEvent += new MyDel(this.WelcomeUser);       }       public string WelcomeUser(string username) {          return "Welcome " + username;       }       static void Main(string[] args) {          EventProgram obj1 = new EventProgram();          string result = obj1.MyEvent("Tutorials Point");          Console.WriteLine(result);       }    } }

编译并执行上述代码后,将产生以下结果-

Welcome Tutorials Point
------分隔线----------------------------
标签(Tag):
------分隔线----------------------------
推荐内容
  • C#-事件

    事件 是用户操作,例如按键,单击,鼠标移动等,或某些事件(例如系统生成的通知)。 ...

  • C#-索引器

    一个 分度器 允许一个对象作为数组索引这样。 为类定义索引器时,该类的行为类似于 虚...

  • C#-反思

    反射 对象用于在运行时获取类型信息。 可以访问正在运行的程序的元数据的类位于 Syste...

  • C#-属性

    一个 属性 是一个用于传递信息至约各种元件等的类,方法,结构,统计员,组件等在你的...

  • C#-文件I / O

    一个 文件 是存储在一个特定的名称和目录路径的磁盘数据的集合。 打开文件进行读取或...

  • C#-异常处理

    例外是在程序执行期间出现的问题。 AC#异常是对程序运行时出现的异常情况的一种响应...

猜你感兴趣