委託入門(C#)

來源:互聯網
上載者:User

委託入門(C#)

1,委託是什嗎?

   
官方定義:委託是一種引用方法的類型。一旦為委託分配了方法,委託將與該方法具有完全相同的行為

     
個人理解:委託是一個方法,用來執行其他類中方法的方法.效果就是執行委託的時候就是執行被委託的方法(並能夠同時執行多個方法).

      
因為委託被理解成一個方法,所以委託方法的使用可以像其他任何方法一樣,具有參數和傳回值,如下:

      
public delegate void
TestDelegate();

      
只是多了一個表示委託方法的關鍵字deletegate而已;

2,委託的特點

委託類似於函數指標(類似於索引,指向作用),但它是型別安全的。

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

委託可用於定義回調方法。

委託可以連結在一起;例如,可以對一個事件調用多個方法。

3,定義和使用委託(聲明,執行個體化,調用)

聲明:

 
public delegate void
TestDelegate();

 
class Test  

{
 

   static void T() { 

      System.Console.WriteLine("Test.T"); 

   }  

   static void Main() { 

  //執行個體化

      TestDelegatet = new TestDelegate(T);  

  //調用

      t();  

   }  

 

這裡有幾點需要說明,就是可以委託給t()的方法T()可以不止一個,可以是多個.其次是這裡委託執行個體化的時候將方法作為了參數,這是委託的一個特性.

通過小例子我們可以體會一下委託的一個特性,委託它既不知道也不關心有關它所封裝的方法所屬的類的種種詳情;對它來說最重要的是這些方法與該委託的類型相容。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.