c#中EventArgs怎么使用

c#
490
2023/9/17 23:52:38
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在C#中,EventArgs是一个通用的事件参数类,用于传递事件相关的数据。使用EventArgs的步骤如下:

  1. 创建一个继承自EventArgs的自定义事件参数类,例如:
public class MyEventArgs : EventArgs
{
public string Message { get; set; }
public MyEventArgs(string message)
{
Message = message;
}
}
  1. 在包含事件的类中定义一个事件,该事件使用自定义的事件参数:
public class MyClass
{
public event EventHandler<MyEventArgs> MyEvent;
public void RaiseEvent(string message)
{
MyEventArgs args = new MyEventArgs(message);
OnMyEvent(args);
}
protected virtual void OnMyEvent(MyEventArgs e)
{
MyEvent?.Invoke(this, e);
}
}
  1. 在订阅事件的地方,定义一个事件处理方法:
public class Program
{
public static void Main(string[] args)
{
MyClass obj = new MyClass();
obj.MyEvent += Obj_MyEvent;
obj.RaiseEvent("Hello world");
}
private static void Obj_MyEvent(object sender, MyEventArgs e)
{
Console.WriteLine(e.Message);
}
}

在这个例子中,当MyClass实例的RaiseEvent方法被调用时,会触发MyEvent事件。在Main方法中,我们订阅了这个事件,并在Obj_MyEvent方法中处理事件。事件处理方法使用MyEventArgs参数来获取传递的消息,并在控制台上打印出来。

注意:在定义事件时,使用泛型委托EventHandler,其中TEventArgs是自定义的事件参数类型。在触发事件时,使用EventArgs的子类对象来作为参数。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c#中volatile关键字的作用是什么