C 自定義事件整理專案 EventDemo

2021-08-26 06:19:46 字數 1689 閱讀 2962

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

分析:從需求中抽出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...