C# - 事件
活动 是用户操作,例如按键、点击、鼠标移动等,或某些事件,例如系统生成的通知。应用程序需要在事件发生时对其作出响应。例如,中断。事件用于进程间通信。
在事件中使用委托
事件在类中声明和引发,并使用同一类或其他类中的委托与事件处理程序相关联。包含事件的类用于发布事件。这称为发布者 班级。接受此事件的其他一些类称为 subscriber 班级。事件使用 publisher-subscriber 型号。
一个出版商 是一个包含事件定义和委托的对象。事件委托关联也在此对象中定义。发布者类对象调用事件并通知其他对象。
一个订阅者 是一个接受事件并提供事件处理程序的对象。发布者类中的委托调用订阅者类的方法(事件处理程序)。
声明事件
要在一个类中声明一个事件,首先必须声明一个委托类型为even as:
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
C语言