程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> [叩響C#之門]寫給初學者:自定義事件(4)

[叩響C#之門]寫給初學者:自定義事件(4)

編輯:關於C語言

.NET提供了100個事件 參數類,這些都繼承於EventArgs類.一般情況下,使用.Net自帶的類足夠了,但為了說明原理,我們自定義一 個事件參數類.

試一試:使用事件參數

//事件參數
  public class NumberOfThIEfEventArgs : EventArgs
  {
    public int numberOfThIEf;

    //構造函數
    public NumberOfThIEfEventArgs(int number)
     {
      numberOfThIEf = number;
    }
  }

  //事 件發送者
  class Dog
{

//1.聲明關於事件的委托;

public delegate void AlarmEventHandler(object sender, NumberOfThIEfEventArgs e);

//2. 聲明事件;

public event AlarmEventHandler Alarm;

//3.編寫引發事件的 函數,注意多了個參數;

public void OnAlarm(NumberOfThIEfEventArgs e)
     {
      if(this.Alarm != null)
      {
         Console.WriteLine("\n狗報警: 有小偷進來了,汪汪~~~~~~~\n");
        this.Alarm(this, e);
      }
    }
  }

  //事件接收者
  class Host
  {

//4.編寫事件處理程序,參數中包 含著numberOfThIEf信息

void HostHandleAlarm(object sender, NumberOfThIEfEventArgs e)
    {
      if (e.numberOfThIEf <= 1)
      {
         Console.WriteLine("主 人: 抓住了小偷!");
      }
       else
      {
        Console.WriteLine("主 人:打110報警 ,我家來了{0}個小偷!", e.numberOfThIEf);
      }
    }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved