委託和事件學習筆記

2021-06-27 09:44:44 字數 1335 閱讀 6319

委託本身可以使用賦值   name->委託->englishgreeting、chinesegreeting  觀察者模式

public

class

greetingmanager

}在客戶端,呼叫看上去更簡潔一些:

static

void main(string args)

輸出為:

morning, jimmy zhang

早上好, jimmy zhang

對事件的宣告 實際是 宣告乙個私有的委託變數  不可使用賦值  temperature->事件->makealert、showmsg

using

system;

using system.collections.generic;

using system.text;

namespace delegate

}// 可以供繼承自 heater 的類重寫,以便繼承類拒絕其他物件對它的監視

protected

virtual

void onboiled(boiledeventargs e)

}// 燒水。

public

void boilwater() }}

}// 警報器

public

class

alarm  - : ", heater.area, heater.type);

console.writeline("alarm: 嘀嘀嘀,水已經 度了:", e.temperature);

console.writeline();}}

// 顯示器

public

class

display  - : ", heater.area, heater.type);

console.writeline("display:水快燒開了,當前溫度:度。", e.temperature);

console.writeline();}}

class

program }}

輸出為:

alarm:china xian - realfire 001:

alarm: 嘀嘀嘀,水已經 96 度了:

alarm:china xian - realfire 001:

alarm: 嘀嘀嘀,水已經 96 度了:

alarm:china xian - realfire 001:

alarm: 嘀嘀嘀,水已經 96 度了:

display:china xian - realfire 001:

display:水快燒開了,當前溫度:96度。

// 省略 ...

委託和事件學習筆記

class program class director 處理玩遊戲者 public void playgamehandler object sender,system.eventargs e class employee set 初始化員工類 public employee 開始玩遊戲了 publ...

學習總結 委託和事件

委託其實是一種型別,是一種定義方法簽名的型別,它支援以new的方式來例項化。委託是使用關鍵字delegate進行定義的,它其實是對方法的包裝和聚集。1.任何與委託簽名匹配的方法都可以分配給委託,實際上是讓這個委託型別繼承了system.multicastdelegate類,system.mutica...

委託和事件的學習

參考 寫的內容 1 委託 它是乙個類,它定義了方法的型別,實現將方法作為引數傳遞給另乙個方法來呼叫,這種將方法動態的賦給引數的方式,可以避免了程式中過多的使用switch或if else 定義委託,它定義了可以代表方法的型別 public delegate void greetingdelegate...