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

溫馨提示×

c# sender在委托中如何使用

c#
小樊
82
2024-07-26 17:32:12
欄目: 編程語言

在C#中,可以使用委托來將方法作為參數傳遞給其他方法,以實現回調和事件處理等功能。在委托中,可以使用sender參數來指示方法的調用者是誰。

例如,定義一個簡單的委托和一個包含該委托的事件:

public delegate void MyEventHandler(object sender, EventArgs e);

public class MyClass
{
    public event MyEventHandler MyEvent;

    public void OnMyEvent()
    {
        MyEvent?.Invoke(this, EventArgs.Empty);
    }
}

在上面的例子中,定義了一個委托MyEventHandler,然后在MyClass類中定義了一個事件MyEvent,當調用OnMyEvent方法時,會觸發MyEvent事件并傳遞this作為sender參數。

在訂閱該事件的地方,可以使用sender參數來獲取觸發事件的對象:

public class Program
{
    public static void Main()
    {
        MyClass myClass = new MyClass();
        myClass.MyEvent += MyEventHandlerMethod;
        
        myClass.OnMyEvent();
    }

    public static void MyEventHandlerMethod(object sender, EventArgs e)
    {
        MyClass myClass = (MyClass)sender;
        Console.WriteLine("Event triggered by: " + myClass.GetType().Name);
    }
}

MyEventHandlerMethod方法中,可以使用sender參數將事件的調用者轉換為具體的類型,然后進行相關操作。

0
隆回县| 武清区| 顺义区| 富宁县| 久治县| 远安县| 黎城县| 阳谷县| 黔西| 铅山县| 铜川市| 五常市| 台前县| 工布江达县| 五台县| 淮南市| 乐昌市| 大新县| 渭南市| 民丰县| 迭部县| 巧家县| 渝北区| 大足县| 柘荣县| 循化| 巴林左旗| 海伦市| 苗栗县| 贵港市| 商丘市| 井陉县| 道孚县| 孝义市| 青铜峡市| 文昌市| 高邑县| 东莞市| 望都县| 沅江市| 府谷县|