C 委託機制

2021-06-22 12:09:50 字數 1265 閱讀 1730

c#委託相當於c/c++中的函式指標。函式指標用指標獲取乙個函式的入口位址,實現對函式的操作。委託與c/c++中的函式指標的不同之處是:委託是物件導向的,型別安全的和保險的,是引用型別,因此對委託的使用要「先定義,後宣告,接著例項化,然後為引數傳遞給方法,最後才能使用」。

定義委託使用關鍵字delegate:

private delegate void writetextbox(char ch);

宣告委託

private writetextbox writetextbox;

例項化委託

writetextbox = new writetextbox(writetextbox1);

作為引數

writetext(writetextbox);
private void writetext(writetextbox writetextbox)

}}

委託實現「文字抄寫員」例程

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.forms;

private void button1_click(object sender, eventargs e)

if (checkbox2.checked == true)

}private void writetext(writetextbox writetextbox)}}

private void writetextbox1(char ch)

private void writetextbox2(char ch)

}}

總結:委託是一種特殊的類,它定義了方法的型別,可以將方法當做另乙個方法的引數來進行傳遞,這種將方法動態地賦給引數的做法,可以避免在程式中大量使用if-else(switch)語句,同時也使得程式具有更好的擴充套件性。

C 委託機制

c 的委託機制,實際上相當於函式的指標。如下例項 1 定義乙個類 class person string name public void person this.name name private virtual void eat food food 在該類中定義了乙個eat方法。對該物件進行例項...

C 委託機制

委託在c 中應用非常廣泛。最近初學c 記錄 delegate 一般語法 首先宣告delegate public delegate void boilhandler int param 相比普通方法 public float scrollvalue 形式上只是多了乙個標誌 delegate而已。其實可...

c 委託 事件 機制

c 用委託來實現事件通知機制。委託相當與c 函式指標。整個過程涉及乙個呼叫者,乙個被呼叫者,還有就是這個委託。有以下幾步 1.申明委託,2.定義呼叫者和呼叫的函式,3.定義被呼叫者和具體實現的函式 被呼叫的函式 1.申明委託 在包裡或者類裡,public public delegate void p...