委託(C 程式設計指南)

2021-05-08 03:38:55 字數 839 閱讀 9611

委託(c# 程式設計指南) 

委託是一種引用方法的型別。一旦為委託分配了方法,委託將與該方法具有完全相同的行為。委託方法的使用可以像其他任何方法一樣,具有引數和返回值,如下面的示例所示:

c# public delegate int performcalculation(int x, int y);

與委託的簽名(由返回型別和引數組成)匹配的任何方法都可以分配給該委託。這樣就可以通過程式設計方式來更改方法呼叫,還可以向現有類中插入新**。只要知道委託的簽名,便可以分配自己的委託方法。

將方法作為引數進行引用的能力使委託成為定義**方法的理想選擇。例如,可以向排序演算法傳遞對比較兩個物件的方法的引用。分離比較**使得可以採用更通用的方式編寫演算法。

委託概述

委託具有以下特點:

委託類似於 c++ 函式指標,但它是型別安全的。

委託允許將方法作為引數進行傳遞。

委託可用於定義**方法。

委託可以鏈結在一起;例如,可以對乙個事件呼叫多個方法。

方法不需要與委託簽名精確匹配。有關更多資訊,請參見協變和逆變。

c# 2.0 版引入了匿名方法的概念,此類方法允許將**塊作為引數傳遞,以代替單獨定義的方法。

本節內容

委託概述

何時使用委託而不使用介面

命名方法

匿名方法

協變和逆變

如何:合併委託

如何:宣告、例項化和使用委託

1.11 委託

4.2.6 委託型別

7.5.5.2 委託呼叫

15 委託

請參見參考

delegate

概念c# 程式設計指南

事件(c# 程式設計指南)

委託(C 程式設計指南)

委託 c 程式設計指南 委託是一種引用方法的型別。一旦為委託分配了方法,委託將與該方法具有完全相同的行為。委託方法的使用可以像其他任何方法一樣,具有引數和返回值,如下面的示例所示 c 複製 public delegate int performcalculation int x,int y 與委託的...

何時使用委託而不使用介面(C 程式設計指南)

c 程式設計指南 何時使用委託而不使用介面 c 程式設計指南 委託和介面都允許類設計器分離型別宣告和實現。給定的介面 可由任何類 或結構繼承和實現 可以為任何類中的方法建立委託 前提是該方法符合委託的方法簽名。介面引用或委託可由不了解實現該介面或委託方法的類的物件使用。既然存在這些相似性,那麼類設計...

何時使用委託而不使用介面(C 程式設計指南)

委託和介面都允許類設計器分離型別宣告和實現。給定的介面可由任何類或結構繼承和實現 可以為任何類中的方法建立委託,前提是該方法符合委託的方法簽名。介面引用或委託可由不了解實現該介面或委託方法的類的物件使用。既然存在這些相似性,那麼類設計器何時應使用委託,何時又該使用介面呢?在以下情況中使用委託 在以下...