2010-06-28 227 views
0

可能重複:
C# - Can someone tell me why and where I should use delegates?
C# Delegates Real World Usage什麼是代表?

當搜索這裏計算器的答案,許多代碼示例使用委託。他們是什麼?他們如何工作?何時,爲什麼以及如何使用它們?請給出一些簡單的代碼示例

+4

不少類似的問題:http://stackoverflow.com/questions/491374/c-can-someone-tell-me-why-and-where-i-should-use-delegates http:// stackoverflow。 com/questions/687626/the-purpose-of-delegates http://stackoverflow.com/questions/1573268/c-delegates-real-world-usage – ChaosPandion 2010-06-28 22:22:21

+0

http://msdn.microsoft.com/en-us/library /ms173171(VS.80).aspx – 2010-06-28 22:23:19

+0

這意味着我仍然不擅長搜索:) – SMUsamaShah 2010-06-28 22:30:05

回答

0

代表基本上是一流的功能。

也就是說,它們是在程序中獨立作爲自己實體的函數,而不是綁定到另一個實體,如類。

如果您有C/C++背景,可以將它們視爲強類型的.NET,等價於函數指針。

+0

我懷疑這個解釋對OP有用,因爲它假設了一些以前的知識。 – ChaosPandion 2010-06-28 22:25:07

1

目的-C代表是簡單的抽象模式。它在WikiPedia上有描述。

1

委託是在C#多件事情:

  • 委託類型是這樣一種類型,類似於具有單個方法的接口。
  • 委託實例可以像調用方法一樣調用,除了您可以在運行時附加和分離處理程序,而不是在編譯時定義方法體。如果有多個處理程序調用委託,將導致所有處理程序被調用(假設沒有拋出異常)。

喬恩斯基特的article on events and delegates涵蓋了更深入。