C 基礎之委託

2021-09-02 23:52:34 字數 937 閱讀 9020

因為委託也是面試常常問道的問題,分享一下我的理解。為什麼使用委託。

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