新闻资讯

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻资讯列表

c#中EventArgs如何使用,c# eventbus

发布时间:2023-09-13 08:06:28

c#中EventArgs如何使用

在C#中,EventArgs是一个通用的事件参数类,用于传递事件相关的数据。使用EventArgs的步骤以下:
1. 创建一个继承自EventArgs的自定义事件参数类,例如:
```csharp
public class MyEventArgs : EventArgs
{
public string Message { get; set; }
public MyEventArgs(string message)
{
Message = message;
}
}
```
2. 在包括事件的类中定义一个事件,该事件使用自定义的事件参数:
```csharp
public class MyClass
{
public event EventHandler MyEvent;
public void RaiseEvent(string message)
{
MyEventArgs args = new MyEventArgs(message);
OnMyEvent(args);
}
protected virtual void OnMyEvent(MyEventArgs e)
{
MyEvent?.Invoke(this, e);
}
}
```
3. 在定阅事件的地方,定义一个事件处理方法:
```csharp
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的子类对象来作为参数。