2011-07-14 71 views
1

我使用C#和Asp.Net Web窗體。什麼時候在Web應用程序中使用委託類型有用

我讀到了Asp.Net使用其「委託模型」處理GUI對象事件的方式。

如果在其他情況下使用「自定義委託類型」作爲事件處理的一部分,我正在進行協商。

我的問題:

  • 在真實的場景時,可以從事件處理除了使用委託類型有用嗎?例如:用於類中的驗證字段?

  • 在哪種架構中自定義委託類型最好的腳?

  • 代表類型的親和缺點?

感謝您的時間!

回答

5
  • 如果您使用LINQ to Objects,那麼您使用的是代表。 (如果你使用EF或類似的東西,那麼你正在使用委託類型的表達式樹。)

  • 如果你使用MVC,你可能使用表達式樹太(@Html.For(x => ...)

  • 如果你曾經開始線程或任務,你會使用代表。

基本上他們是偉大的在一個易於表達方式較單一的操作。它們可以用作單方法接口的替代方法,並且可以很好地爲定製行爲提供鉤子而不是使用繼承。

由於.NET 3.5及其ActionFunc委託系列,我基本上很少創建自定義委託類型 - 只有當它基於可讀性理由這樣做時纔有意義。

+0

@ Html.For是表達式樹 - 它解析它以找出意圖 –

+0

@Marc:乾杯,將編輯。 –

+0

感謝Jon對此評論! – GibboK

相關問題