代表
摘要
一個委託型別是表示一個特定的方法的簽名型別。此型別的例項是指具有匹配簽名的特定方法。方法引數可以具有委託型別,因此這一個方法可以傳遞對另一個方法的引用,然後可以呼叫該方法
內建代表型別:Action<...>,Predicate<T> 和 Func<...,TResult>
System 名稱空間包含 Action<...>,Predicate<T> 和 Func<...,TResult> 委託,其中“…”表示 0 到 16 個泛型型別引數(對於 0 引數,Action 是非泛型的)。
Func 表示返回型別匹配 TResult 的方法,Action 表示沒有返回值(void)的方法。在這兩種情況下,附加的泛型型別引數按順序匹配方法引數。
Predicate 表示布林返回型別的方法,T 是輸入引數。
自定義委託型別
可以使用 delegate 關鍵字宣告命名的委託型別。
呼叫代表
可以使用與方法相同的語法呼叫委託:委託例項的名稱,後跟包含任何引數的括號。
分配給代表
代表可以通過以下方式分配:
- 分配命名方法
 - 使用 lambda 分配匿名方法
 - 使用 
delegate關鍵字分配命名方法。 
結合代表
可以使用+運算子將多個委託物件分配給一個委託例項。- 運算子可用於從另一個委託中刪除元件委託。