在 C# 中,System.EventHandler
是一种常用的事件处理程序委托,用于处理事件。当一个事件发生时,事件处理程序会被调用。
System.EventHandler
是一个泛型委托,它接受一个参数,这个参数是一个继承自 System.EventArgs
的类。当创建一个事件处理程序时,需要定义一个类,该类继承自 System.EventArgs
,并包含需要传递的参数。
例如,如果需要传递一个整数参数,可以定义一个继承自 System.EventArgs
的类,如下所示:
public class MyEventArgs : EventArgs
{
public int MyValue { get; set; }
}
然后,可以创建一个事件处理程序,如下所示:
public delegate void MyEventHandler(object sender, MyEventArgs e);
在这个例子中,MyEventHandler
是一个委托,它接受两个参数:一个是发送事件的对象,另一个是一个 MyEventArgs
类型的对象,该对象包含需要传递的参数。
当需要触发事件时,可以创建一个 MyEventArgs
类型的对象,并将需要传递的参数设置为该对象的属性值,然后调用事件处理程序,如下所示:
public event MyEventHandler MyEvent;
private void OnMyEvent(int value)
{
MyEvent?.Invoke(this, new MyEventArgs { MyValue = value });
}
在这个例子中,MyEvent
是一个事件,它使用 MyEventHandler
委托。当需要触发事件时,可以调用 OnMyEvent
方法,该方法会创建一个 MyEventArgs
类型的对象,并将需要传递的参数设置为该对象的属性值,然后调用事件处理程序。
总之,System.EventHandler
是一种常用的事件处理程序委托,可以用于处理事件。在使用 System.EventHandler
时,需要定义一个继承自 System.EventArgs
的类,该类包含需要传递的参数,然后创建一个事件处理程序,并在需要触发事件时调用该事件处理程序。
领取专属 10元无门槛券
手把手带您无忧上云