溫馨提示×

C#中的eventargs怎么賦值

c#
小億
166
2023-12-23 15:18:17
欄目: 編程語言

在C#中,可以通過以下幾種方式為EventArgs賦值:

  1. 使用自定義的EventArgs子類:可以創建一個繼承自EventArgs的子類,然后在子類中添加需要的屬性和方法。然后在觸發事件時,實例化該子類并將其作為參數傳遞給事件的處理程序。
public class CustomEventArgs : EventArgs
{
    public string Message { get; set; }
}

public class MyClass
{
    public event EventHandler<CustomEventArgs> MyEvent;

    public void TriggerEvent()
    {
        // 實例化CustomEventArgs并賦值
        var args = new CustomEventArgs { Message = "Hello World!" };

        // 觸發事件,并傳遞args作為參數
        MyEvent?.Invoke(this, args);
    }
}
  1. 使用內置的EventArgs子類:在某些情況下,可以直接使用內置的EventArgs子類,如EmptyEventArgs,或者使用派生自內置EventArgs的子類,如PropertyChangedEventArgs。這些子類通常包含一些預定義的屬性,可以直接使用或設置。
public class MyClass
{
    public event EventHandler<EventArgs> MyEvent;

    public void TriggerEvent()
    {
        // 觸發事件,并傳遞空的EventArgs對象作為參數
        MyEvent?.Invoke(this, EventArgs.Empty);
    }
}
  1. 匿名類型:在某些情況下,可以使用匿名類型為EventArgs賦值。匿名類型是一種臨時的、只讀的類型,可以通過初始化器來創建,并且可以直接賦值給EventArgs參數。
public class MyClass
{
    public event EventHandler<EventArgs> MyEvent;

    public void TriggerEvent()
    {
        // 使用匿名類型為EventArgs賦值
        var args = new { Message = "Hello World!" };

        // 觸發事件,并傳遞args作為參數
        MyEvent?.Invoke(this, args);
    }
}

無論使用哪種方式,都可以為EventArgs賦予不同的值,并將其傳遞給事件的處理程序。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女