C 函式委託型別

2021-04-19 07:11:11 字數 1787 閱讀 6358

rel="file-list" href="file:///c:%5cdocume%7e1%5cadmini%7e1%5clocals%7e1%5ctemp%5cmsohtml1%5c04%5cclip_filelist.xml">c#函式委託型別

rel="file-list" href="file:///c:%5cdocume%7e1%5cadmini%7e1%5clocals%7e1%5ctemp%5cmsohtml1%5c06%5cclip_filelist.xml">

1.行為函式(

action)

這種委託的特徵是

void ***(t obj),

既返回型別

void,

接受乙個

t型別的引數。其目的是採取基於輸入的行為。這種行為可能是修改引數的內容,甚至是與其他物件的相互作用

/// 

/// 行為集合,行為函式(action)  委託特徵void ***(t obj)

/// 

/// 

public

class actioncollection: collection

protected

override

void insertitem(int index, t item)

}static

void main(string args)

);ac.add("hello word!");

console.readline();

}在控制台輸出結果為 :

hello word!

rel="file-list" href="file:///c:%5cdocume%7e1%5cadmini%7e1%5clocals%7e1%5ctemp%5cmsohtml1%5c08%5cclip_filelist.xml">可以採用類似的技術觸發乙個基於列表修改的資料庫插入和刪除操作,在元素被插入之前修改元素的狀態。

rel="file-list" href="file:///c:%5cdocume%7e1%5cadmini%7e1%5clocals%7e1%5ctemp%5cmsohtml1%5c09%5cclip_filelist.xml">

2. 轉換函式(converter)

轉換器是以toutput ***(tinput from)

為簽名的委託,其目的是將tinput型別的物件轉換成toutput型別的物件.當然也可以通過將converter傳遞給它所要應用的操作來對不可變的物件進行一般轉換.tinput和toutput可以是相同型別.

/// 

/// 基於轉換器的集合,轉換函式(converter< tinput,toutput>)

/// 

/// 

public

class convertercollection: collection

protected

override

void insertitem(int index, t item)

}main函式呼叫

static

void main(string args)

);cc.add("hello word");

foreach (string s in cc)

console.readline();

}rel="file-list" href="file:///c:%5cdocume%7e1%5cadmini%7e1%5clocals%7e1%5ctemp%5cmsohtml1%5c12%5cclip_filelist.xml">在控制台輸出結果為:

hello word

C 委託二 委託型別

我們都應該清楚,在使用委託之前,先要定義乙個委託型別,如下所示 delegate int mydelegate int a,int b mydelegate md null 既然叫做委託型別 就說明 mydelegate 實際上是乙個類,上面的寫法只是一種簡單的縮略寫法,實際上,我們自己定義的委託,...

C 委託型別

委託是c 語言提供的新的引用型別,即委託型別,也稱 型別。在功能上類似於 c語言的函式指標,目的是通過委託型別物件去呼叫相同簽名的函式。委託是從system.delegate 中派生的,因此是型別安全的。採用委託可以實現通用程式的編寫。委託的操作步驟 1.定義委託型別 2.定義委託物件 3.定義委託...

C 程式設計 函式 委託

注 委託最重要的用途最講到事件和事件處理時才能說清,這裡先簡單介紹一下關於委託的一些內容 委託是一種可以把引用儲存為函式的型別。這聽起來相當棘手,但其機制是非常簡單的。1 委託的宣告非常類似與函式,但不帶函式體,且要使用delegate關鍵字。委託的宣告指定了乙個返回型別和乙個引數列表。2 再定義了...