Can you summarize the following document?
        
  宣告一個codice_1型別,稱作codice_2, 以一個codice_3型別為引數,返回型別為codice_4:  下述程式碼定義了一個函式,以一個例項化的delegate型別作為形參:  將要封裝入delegate中的一個函式的定義: 函式SendMessage,以SendMessageDelegate作為委託的例項作為實參: 委託例項可以封裝多個函式:

  “委託”作為類,繼承自System.MulticastDelegate(抽象類)。可以認為包含:一個類物件例項的地址(Target屬性),該類的一個方法的地址(Method屬性),以及另一個“委託”例項的引用(reference)。因此引用一個“委託”物件,可能實際上引用了多個“委託”的例項。“委託”物件被呼叫時,依次呼叫裡面的多個“委託”的例項。這對於事件驅動的程式比較有用。  如果“委託”封裝了一個靜態函式,則其內部的繫結的類物件地址為null。  可以通過Delegate類的GetInvocationList()取出這些委託,並檢視其Target和Method屬性,獲取所引用的方法名等資訊。

  一個常用的用途是事件處理。CLI定義了控制元件的標準的事件處理函式是一個“委託”,宣告如下:  這裡第一個引數是發出該事件的控制元件的基型別object;後一個引數是事件資料的基型別EventArgs。以Button控制元件類為例,它有一個屬性Click,定義為一個EventHandle型別的delegate:  至此,我們對一個具體的button例項變數,可以給它的Click事件追加上一個或多個事件處理函式:  對於Visual Basic,上述語句的寫法是:
委託(delegate)是一種型別安全的函式指標,用於通用語言執行庫(CLI)。在C#中,delegate是一種class,包裝了一個或多個函式指標及繫結的類例項。Delegate用來實現函式回撥與事件接收(event listener)。Delegate物件可以作為引數傳遞給其他函式,以引用(referenced)封裝在delegate物件中的函式,而無需在編譯時刻就繫結被呼叫函式。