c 委託(Delegates 基本概念及使用

2021-10-13 17:15:53 字數 1523 閱讀 6407

在我這菜鳥理解上,委託就是可以用方法名呼叫另一方法的便捷方法,可以簡化switch等語句的重複。最近做專案的時候恰好需要用到委託,便來複習及學習委託的使用。嗯…本人以前並沒有用過,只是稍微知道而已。以下是整理的筆記。

一.委託的概念

委託是使用者自定義的類,它定義了方法的型別。儲存的是一系列具有相同引數和返回型別方法的位址列表,呼叫委託時,此委託列表的所有方法都將被執行。
二.委託型別的定義

委託型別必須在被用來建立變數以及型別物件之前宣告。

委託型別的宣告:

1.以delegate關鍵字開頭。

2.返回型別+委託型別名+引數列表

delegate

void

mydel

(int a)v

三.例項

1)現在我們先建立了控制台程式,進行簡單的例項

namespace func

static

void

sayhi()

}}

2)擴充套件例項

namespace func

static

intadd2

(int a)

static

void

calculate

(mydel ex,

int a)

static

void

main

(string

args)

}}

結果如下圖

上面實現了「把方法當作引數在另乙個方法中傳遞或呼叫」;從上面可以看出,呼叫的方法和委託的返回型別,引數型別都必須一致。

我我們可以把委託作為引數傳遞給封裝好了的方法,通過委託來動態的呼叫方法。

四.委託的加減運算

可以使用+=運算子,為委託新增方法。

同樣可以使用-=運算子,為委託移除方法。

當委託列表中有幾個方法時,呼叫委託時,則會依次經過各個方法,並返回列表最後一項方法的結果。

namespace func

static

intadd2

(int a)

static

void

calculate

(mydel ex,

int a)

static

void

main

(string

args)

}}

結果如下圖

那麼有時候我們需要返回每個方法的結果,此方法就不適用了,那怎麼才能實現每個方法的返回結果都可以獲取到呢?後續再寫了。今天就簡單的介紹了委託的基本概念和使用。

C 委託基本使用

public delegate void show string counter public 委託 delegate 引數型別 委託名稱 注意 委託的宣告需要定義到類的外面 注意 方法必須寫到類裡面 用委託定義乙個型別 將委託變數所代表的具體方法 解綁 重新指向乙個新的方法 委託 把方法呼叫和方法...

C 委託 基本語法

c 委託 基本語法 委託的概念 不管是值型別還是引用型別,其變數都可以進行賦值,或者作為方法的引數進行傳遞,而如何引用 方 法或者把方法作為引數進行傳遞呢?這就需要用到委託 delegate.委託也是 種型別,它與類 樣,需要我們自己來定義。種型別的方法 public void greeting s...

Fabric private data基本概念

fabric private data利用sidedb來儲存私有資料,相當於在通道之上又提供了一層更細粒度的資料隱私保護機制。本文將介紹fabric private data的引入目的 基本概念與應用場景。目前在hyperledger fabric中實現資料隱私的方法是使用通道。但是官方並不孤立為了...