c#中EventArgs怎么使用

2023-10-17 1900阅读

在C#中,EventArgs是一个通用的事件参数类,用于传递事件相关的数据。使用EventArgs的步骤如下:1. 创建一个继承自EventArgs的自定义事件参数类,例如:```csharppublic class MyEventArgs : EventArgs{public string Message { get; set; }public MyEventArgs{Message = message;}}```2. 在包含事件的类中定义一个事件,该事件使用自定义的事件参数:```csharppublic class MyClass{public event EventHandler MyEvent;public void RaiseEvent{MyEventArgs args = new MyEventArgs;OnMyEvent;}protected virtual void OnMyEvent{MyEvent?.Invoke;}}```3. 在订阅事件的地方,定义一个事件处理方法:```csharppublic class Program{public static void Main{MyClass obj = new MyClass();obj.MyEvent += Obj_MyEvent;obj.RaiseEvent;}private static void Obj_MyEvent{Console.WriteLine;}}```在这个例子中,当MyClass实例的RaiseEvent方法被调用时,会触发MyEvent事件。事件处理方法使用MyEventArgs参数来获取传递的消息,并在控制台上打印出来。在触发事件时,使用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的子类对象来作为参数。

c#中EventArgs怎么使用
(图片来源网络,侵删)
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]