C 自定義事件整理專案 EventDemo

2021-05-28 13:37:18 字數 2149 閱讀 7796

模擬主持人發布乙個問題,由多個嘉賓來回答這個問題。

分析:從需求中抽出host (主持人) 類和guests (嘉賓) 類。

作為問題的發布者,host不知道問題如何解答。因此它只能發布這個事件,將事件委託給多個嘉賓去處理。因此在host 類定義事件,在guests類中定義事件的響應方法。通過多番委託的"+="將響應方法新增到事件列表中,最終 host 類將觸發這個事件。實現過程如下:

**其實很少下面貼出來所有**:

questionargs.cs

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace eventdemo}}

program.cs

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace eventdemo

, new guestb(),

new guestc()

};//用+=號,將嘉賓的答題方法加入到委託鏈

host.questionevent += new questionhandler(garray[0].answer);

host.questionevent += new questionhandler(garray[1].answer);

host.questionevent += new questionhandler(garray[2].answer);

//觸發事件

host.startanswer();

console.readline();}}

}

host.cs

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace eventdemo

public host()

public string name

public void startanswer()}}

guests.cs

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace eventdemo

public virtual void answer(object sender, questionargs e)}}

guestc.cs

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace eventdemo

開始答題:我不知道", this.name);}}

}

guestb.cs

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace eventdemo

開始答題:我不知道", this.name);}}

}

guesta.cs

using system;

using system.collections.generic;

using system.linq;

using system.text;

namespace eventdemo

開始答題:我不知道", this.name);}}

}

執行結果:

C 自定義事件整理專案 EventDemo

模擬主持人發布乙個問題,由多個嘉賓來回答這個問題。分析 從需求中抽出host 主持人 類和guests 嘉賓 類。作為問題的發布者,host不知道問題如何解答。因此它只能發布這個事件,將事件委託給多個嘉賓去處理。因此在host 類定義事件,在guests類中定義事件的響應方法。通過多番委託的 將響應...

C 事件 自定義事件

事件有很多,比如說 滑鼠的事件 mousermove,mouserdown等。鍵盤的事件 keyup,keydown,keypress。有事件,就會有對事件進行處理的方法,而事件和處理方法之間是怎麼聯絡起來的呢?委託就是他們中間的橋梁,事件發生時,委託會知道,然後將事件傳遞給處理方法,處理方法進行相...

c 自定義事件

此 摘自 叩響c 之門 c sharp view plain copy using system 事件傳送者 class dog 事件接收者 class host 註冊事件處理程式 public host dog dog 現在來觸發事件 class program 午夜零點小偷到達,看門狗引發ala...