中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

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
宁陵县| 雷波县| 宝坻区| 佛坪县| 临颍县| 北宁市| 大方县| 抚顺县| 治县。| 肇州县| 宜城市| 锦州市| 屏边| 临潭县| 普定县| 化州市| 芜湖县| 西乌珠穆沁旗| 衢州市| 乃东县| 米泉市| 涟源市| 和硕县| 图木舒克市| 东安县| 苗栗县| 安丘市| 莱西市| 屏山县| 三亚市| 建德市| 类乌齐县| 达州市| 体育| 德清县| 五指山市| 滕州市| 湖南省| 北碚区| 蒙阴县| 章丘市|