学堂 学堂 学堂公众号手机端

在C#中,如果想在EventHandler中添加自定义参数,可以通过自定义一个EventArgs类来实现

lewis 2年前 (2023-11-12) 阅读数 9 #技术

在C#中,如果想在EventHandler中添加自定义参数,可以通过自定义一个EventArgs类来实现。以下是一个示例:

usingSystem; publicclassCustomEventArgs:EventArgs { publicstringCustomParameter{get;set;} publicCustomEventArgs(stringcustomParameter) { CustomParameter=customParameter; } } publicclassMyClass { publiceventEventHandler<CustomEventArgs>CustomEvent; publicvoidOnCustomEvent(stringcustomParameter) { CustomEvent?.Invoke(this,newCustomEventArgs(customParameter)); } } publicclassProgram { publicstaticvoidMain() { MyClassmyClass=newMyClass(); myClass.CustomEvent+=HandleCustomEvent; myClass.OnCustomEvent("Hello,World!"); } publicstaticvoidHandleCustomEvent(objectsender,CustomEventArgse) { Console.WriteLine("CustomEventHandlerinvokedwithparameter:"+e.CustomParameter); } }

在上面的示例中,自定义了一个CustomEventArgs类,其中包含一个CustomParameter属性用于存储自定义参数。然后在MyClass类中声明了一个EventHandler事件,并将其泛型参数指定为CustomEventArgs。在触发事件时,通过newCustomEventArgs(customParameter)来创建一个CustomEventArgs对象,并将其传递给事件的触发方法Invoke。在事件处理程序HandleCustomEvent中,可以通过e.CustomParameter来访问传递的自定义参数。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门