91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

C#中eventargs的用法是什么

c#
小億
202
2023-12-23 14:48:20
欄目: 編程語言

在C#中,EventArgs是一個通用的事件參數類,用于傳遞事件的相關信息給事件處理程序。它是System.EventArgs類的派生類。

EventArgs類本身沒有任何屬性或方法,它主要用作一個基類,供其他特定事件參數類繼承和擴展使用。通過繼承EventArgs類,可以為特定的事件定義自定義的事件參數,以便在事件發生時傳遞相關的數據。

下面是使用EventArgs的示例:

// 自定義事件參數類
public class MyEventArgs : EventArgs
{
    public string Message { get; set; }
    public int Value { get; set; }

    public MyEventArgs(string message, int value)
    {
        Message = message;
        Value = value;
    }
}

public class MyClass
{
    // 定義事件并指定事件參數類型為MyEventArgs
    public event EventHandler<MyEventArgs> MyEvent;

    public void DoSomething()
    {
        // 觸發事件并傳遞事件參數
        MyEvent?.Invoke(this, new MyEventArgs("Hello", 123));
    }
}

public class Program
{
    public static void Main()
    {
        MyClass myObject = new MyClass();
        myObject.MyEvent += MyEventHandler; // 注冊事件處理程序

        myObject.DoSomething(); // 觸發事件

        Console.ReadLine();
    }

    // 事件處理程序
    public static void MyEventHandler(object sender, MyEventArgs e)
    {
        Console.WriteLine(e.Message + " World! " + e.Value);
    }
}

在上面的示例中,MyEventArgs類繼承自EventArgs,并添加了Message和Value屬性。MyClass類定義了一個名為MyEvent的事件,并將事件參數類型指定為MyEventArgs。通過調用MyEvent.Invoke方法來觸發事件,并傳遞一個新的MyEventArgs實例作為事件參數。

在Main方法中,首先創建一個MyClass對象,并注冊一個事件處理程序MyEventHandler。然后調用DoSomething方法觸發事件。當事件觸發時,事件處理程序MyEventHandler會被調用,并打印出事件參數中的相關信息。

注意:在C# 6及以上版本中,可以使用null條件運算符(?.)來避免可能的空引用異常。

0
仁怀市| 克山县| 海原县| 化德县| 依兰县| 临洮县| 商水县| 墨江| 治县。| 拜泉县| 柳江县| 北宁市| 平凉市| 徐州市| 临高县| 罗源县| 荆门市| 华亭县| 大同市| 繁峙县| 萍乡市| 德化县| 四会市| 竹溪县| 黄梅县| 广安市| 青冈县| 台湾省| 石嘴山市| 射洪县| 古田县| 天镇县| 乌兰察布市| 夏河县| 临高县| 玉山县| 三门县| 固镇县| 台南县| 郴州市| 三原县|