C 裡的委託

2021-04-13 11:03:29 字數 754 閱讀 4378

委託

比如說乙個公司(場景),你是老闆,手下有兩個員工,小張和小王。

你命令小王,如果小張玩遊戲,則小王扣去小張500元錢。

這就是現實中的委託。

實際上,在寫程式中,程式設計師就是老闆,小張和小王就是兩個物件。小張玩遊戲是乙個方法,小張還有乙個遊戲事件,他玩遊戲激發這個事件。而小王就是事件處理物件,他負責把小張的錢扣除500。

所以,委託有如下幾個要素:

1 激發事件的物件--就是小張

2 處理物件事件的物件--就是小王

3 定義委託,就是你讓小王監視小張。

如果這三個要素都滿足的話,則你就寫出了乙個完整事件的處理。

using system;

namespace csharpconsole

}// 負責扣錢的人

public class 小王

public void 扣錢(object sender,eventargs e)

}// 如果玩遊戲,則引發事件

public class 小張

public int 錢 // 此屬性可以操作小張的錢。

set}

public void 玩遊戲()

protected virtual void onplaygame(eventargs e)}}

// 定義委託處理程式

public delegate void playgamehandler(object sender,system.eventargs e);

}

C 裡的委託和事件實現

一 委託的簡介 1 委託的宣告 delegate handlername parameters 例如 public delegate void printhandler string str 委託宣告定義了一種型別,它用一組特定的引數以及返回型別來封裝方法。對於靜態方法,委託物件封裝要呼叫的方法。對...

C 裡的委託和事件實現Observer

一 委託的簡介 1 委託的宣告 delegate handlername parameters 例如 public delegate void printhandler string str 委託宣告定義了一種型別,它用一組特定的引數以及返回型別來封裝方法。對於靜態方法,委託物件封裝要呼叫的方法。對...

C 委託 委託概述

c 委託概述 委託這個詞在生活中經常用到,委託律師打官司,委託房地產公司購買房子。委託保險 人辦理保險。委託就是把事情交給別人去辦。c 中的委託和生活中的委託很相似,如果將乙個方法委託給乙個物件,那麼這個物件就可以全權 這個方法執行。委託宣告定義乙個類,它是從 system.delegate 類派生...