在C#中,EventArgs是一个通用的事件参数类,用于传递事件相关的数据。使用EventArgs的步骤如下:
public class MyEventArgs : EventArgs
{
public string Message { get; set; }
public MyEventArgs(string message)
{
Message = message;
}
}
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);
}
}
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
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: c#中volatile关键字的作用是什么