在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