C 中的委託機制 二)

2021-09-29 18:20:09 字數 1457 閱讀 2355

c#中的委託機制(二)

那麼其實在c#中還有三個不同的委託類,分別是:action和func以及predicate。

action

action 是一種無返回值的泛型委託。它可以是無引數的,也可以是含參的,最高支援16個引數,基本的格式為:

訪問許可權控制符 (static) void 函式名(actionaction, t p)       

例子:

public

static

void

test

<

t>

(action action,

t p)

public

static

void

action

(int x)

//構造幾個同名的函式

public

static

void

action

(double x)

private

static

void

action

(string s)

static

void

main

(string

args)

", p);}

,"helloworld");

//使用lambda表示式進行的委託

readkey()

;

func

func與action的不同之處在於func為有返回值的委託函式,因此必須進行return操作,func與action一樣最多支援16個引數。

其中,func為無參形式,返回值為int。

func為傳入t1,t2,t3型別的變數,返回泛型型別為t4的返回值。

訪問許可權控制符 (static) t  函式名(funcfunc, t1 p,t2 q)       

static

void

main

(string

args)

public

static

inttest

t2>

(funcint> func,

t1 a,

t2 b)

private

static

intfun

(int a,

int b)

predicate

predicate 是返回 bool 型的泛型委託,predicate 表示傳入引數為 int 返回 bool 的委託,predicate 有且只有乙個引數,返回值固定為 。具體**可以參考官方文件。

C 實現的委託機制(二)

c 實現的委託機制 二 1.實現任意引數的函式委託 只能不同個數各實現乙個類,如 單參函式委託 templateclass cmultidelegate1 雙參函式委託 templateclass cmultidelegate2 注意類名是不一樣的,分別為cmultidelegate1和cmulti...

C 中的委託機制 一)

c 中的委託機制那麼什麼是委託呢?其實呢生活中有很多委託的例子。比如你看中了二環的一套別墅對吧,你想要買 不是我,我連租都租不起 那就要去找中介,中介呢就會去找賣這個房子的人,和他進行溝通,那麼這裡的中介就相當於乙個委託人的角色,也可以說是一種 在c 中,程式想要呼叫方法進行引數的傳遞時會有相當大的...

中的委託機制

例項化委託 using system 定義委託 委託關鍵字 返回值型別 委託名稱 委託方法引數 delegate int numberchanger int n namespace 委託 被委託方法 addnum public static int addnum int p 被委託方法 multnu...