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...