Www.helper3.com
热门关键字: php net javascript java
CSharp基础 专题
专题目录
您的位置:csharp > CSharp基础 专题 > C#事件
C#事件
作者:--    发布时间:2019-11-20 10:27:46

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

使用委托与事件

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

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

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

声明事件

要在类中声明事件,首先必须声明事件的委托类型。 例如,

public delegate string mydel(string str);

接下来,使用event关键字声明事件:

event mydel myevent;

上面的代码定义了一个名称为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("h3 h3");
         console.writeline(result);
      }

   }
}

当上述代码被编译并执行时,它产生以下结果:

welcome h3 point

所有评论

loading......

滚动到顶部 滚动到底部
合作联系(微信):
www.helper3.com
关于本站:
宗旨
网站备案号:
粤ICP备17073857号-1

声明:
本站部分内容来自网络,如您发现本站内容侵害到您的利益,请联系本站管理员处理。