因為委託也是面試常常問道的問題,分享一下我的理解。為什麼使用委託。
delegate void mydelegate();//定義委託
mydelegate md;//宣告委託
md=new mydelegate(obj.method);//委託的例項化
mymethod(d);//把引數傳遞給方法(委託把方法當做引數傳到另乙個方法)
//定義委託
public delegate void delegateshow(string msg);
//宣告和例項化委託,並且將方法 chatcontentshow 當做物件傳遞給控制項的 invoke方法
delegateshow @delegate = new delegateshow(chatcontentshow);
//控制項使用委託的方法,並且傳遞引數
chatcontent.invoke(@delegate, msg);
//控制項在方法內顯示
private void contextshow()
例項2
定時器這個也是乙個委託
public system.timers.timer nowtimer = new system.timers.timer(1000);
///當前時刻定時器
this.nowtimer.autoreset = true;
nowtimer.elapsed += new system.timers.elapsedeventhandler(nowtimer_elapsed);
nowtimer.start();
private void nowtimer_elapsed(object sender, elapsedeventargs e)
C 基礎之委託
委託常常和事件在一起使用,可以理解委託是方法的容器,事件則是委託的另一種表現形式。委託和事件雖然寫得還比較多,不過也只是用的熟練而已,趁週末沒課好好鞏固下基礎,一點一點積累吧。1.乙個簡單的小例子 class program class people public void eatpear stri...
c 之基礎委託非同步
大家知道委託就相當於c 裡面的函式指標,相信大家都很很了解,看看如下簡單 來回想一下委託 public delegate void ad xu xus new xu ad b new ad xus.add b xus.ex b console.readline class xupublic void...
c 基礎之Action T 委託
當要把方法傳給其他方法時,需要使用委託。委託實現為派生自基類system.multicastdelegate類,system.multicastdelegate類又派生自基類system.delegate.當前使用場景是資料庫上下文登錄檔時,在底層已註冊框架的基礎資料表,導致業務系統需要傳入dbmo...