在C#中,如果想在EventHandler中添加自定义参数,可以通过自定义一个EventArgs类来实现
在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来访问传递的自定义参数。
版权声明
本文仅代表作者观点,不代表博信信息网立场。