首先看乙個例子,一名律師代表三名員工向老闆討薪
員工將討薪方法委託為律師
涉及到三個物件:員工,老闆,律師
///
/// 員工
///
class
employee
public
employee
(string name,
int money)
///
/// 員工有討薪的權利,也就是有這個方法
///
public
void
getmoney
(boss b)
,還我血汗錢"
,name,b.name,money);}
}
///
/// 老闆
///
class
boss
}
//建立乙個討薪的委託
delegate void getmoneydele(boss boss)
///
/// 律師
///
class
lawyee
getmoneydele getmoneydele =
null
;boss target =
null
;///
/// 員工將討薪方法委託為律師
/// 1.需要獲取員工的討薪方法:將方法當成乙個引數進行傳遞
/// 2.方法所需要引數也需要傳進來
///
public
void
addgetmoney
(getmoneydele dele,
boss boss)
else
}///
/// 律師開始討薪了:執行委託
///
public
void
getmoney()
}
static
void
main
(string
args)
C 委託例項
委託是乙個特殊的類,它定義了方法的型別,可以將方法當作另乙個方法的引數來進行傳遞,這種方法動態地賦給引數的做法,可以避免在程式中大量使用if else switch 語句,同時也使得程式具有更好的擴充套件性。委託機制尤其適合在使用事件處理的程式設計模式或者類的靜態方法,以及在需要封裝和靈活的組織方法...
C 委託例項
下面是微軟給出的官方解釋,自行感受一下,本質就是把方法當作引數使用 delegate 是表示對具有特定引數列表和返回型別的方法的引用的型別。在例項化委託時,你可以將其實例與任何具有相容簽名和返回型別的方法相關聯。你可以通過委託例項呼叫方法。委託用於將方法作為引數傳遞給其他方法。事件處理程式就是通過委...
C 委託詳解
c 委託 1.委託定義 委託是一種資料型別,和類是同級別的,delegate可以直接看著關鍵字class,我們可以直接將delegate看著為class,區別為class裡存放的是一系列方法,屬性,字段,事件,索引。而delegate裡存放的是一系列具有相同型別引數和返回回型別的方法的位址的位址。可...