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

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c#在程序中定義和使用自定義事件方法總結

發布時間:2020-09-28 01:37:15 來源:腳本之家 閱讀:215 作者:laozhang 欄目:編程語言

C#在程序中定義和使用自定義事件可以分為以下幾個步驟:

步驟1:在類中定義事件

using System;

public class TestClass

{

  //....

  public event EventHandler TestEvent

}

步驟2:定義事件參數

注意:事件參數類TestEventArgs繼承自System.EventArgs

using System;

public class TestEventArgs : EventArgs

{

  public TestEventArgs() : base() { }

 

  public string Message { get; set; }

}

步驟3:在TestClass 引發事件

public class TestClass

{

  // 這個方法引發事件

  public void RaiseTestEvent(string message)

  {

    if (TestEvent == null) return;

    TestEvent(this, new TestEventArgs { Message = message });

  }

  public event EventHandler TestEvent; 

}

步驟4:使用事件

class Program

{

  static void Main(string[] args)

  {

 

    TestClass tc = new TestClass();

    // 掛接事件處理方法

    tc.TestEvent += Tc_TestEvent;

     

    Console.WriteLine("按任意鍵引發事件");

    Console.ReadKey();    

    // 引發事件

    tc.RaiseTestEvent("通過事件參數傳遞的字符串");

     

    Console.WriteLine("按任意鍵退出");

    Console.ReadKey();

  }

  private static void Tc_TestEvent(object sender, EventArgs e)

  {

    // 將事件參數強制轉換為TestEventArgs

    TestEventArgs te = (TestEventArgs)e;

    // 顯示事件參數中的Message

    Console.WriteLine(te.Message);

  }

}

完整的程序如下

using System;

public class TestClass

{

  public void RaiseTestEvent(string message)

  {

    if (TestEvent == null) return;

    TestEvent(this, new TestEventArgs { Message = message });

  }

 

  public event EventHandler TestEvent; 

}

public class TestEventArgs : EventArgs

{

  public TestEventArgs() : base() { }

 

  public string Message { get; set; }

}

class Program

{

  static void Main(string[] args)

  {

 

    TestClass tc = new TestClass();

    tc.TestEvent += Tc_TestEvent;

    Console.WriteLine("按任意鍵引發事件");

    Console.ReadKey();

    tc.RaiseTestEvent("通過事件參數傳遞的字符串");

    Console.WriteLine("按任意鍵退出");

    Console.ReadKey();

  }

  private static void Tc_TestEvent(object sender, EventArgs e)

  {

    TestEventArgs te = (TestEventArgs)e;

    Console.WriteLine(te.Message);

  }

}

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

樟树市| 宜都市| 遂昌县| 泸州市| 屯门区| 台北县| 武穴市| 诏安县| 房产| 平塘县| 齐齐哈尔市| 玉环县| 手机| 尚志市| 延川县| 江阴市| 湖南省| 彭阳县| 兴城市| 九江市| 恩施市| 济源市| 长寿区| 大关县| 贡觉县| 牟定县| 保山市| 长武县| 东乡县| 通辽市| 米泉市| 陆丰市| 柳州市| 财经| 克拉玛依市| 邢台市| 兴安盟| 乌兰县| 蚌埠市| 乡城县| 香河县|