2011-07-14 6 views
1

私はC#とAsp.Net Webフォームを使用します。Webアプリケーションでデリゲートタイプを使用すると便利なのは

私はAsp.Netが "Delegate Model"を使ってGUIオブジェクトのイベントを処理する方法について読んだ。

他の文脈では、イベントハンドリングの一部として「カスタムデリゲートタイプ」を使用することに合意しています。

私の質問:現実の世界のシナリオでは

  • イベント処理から離れてデリゲート型を使用することが有用であることができるとき?例:クラスの検証フィールド?

  • どのようなアーキテクチャでカスタム代理人が最高のフィートを入力しますか?

  • 代理人タイプの長所と短所

ありがとうございます!

答えて

5
  • LINQ to Objectsを使用する場合は、代理人を使用しています。 (あなたがEFまたは類似のものを使用している場合は、デリゲート型の式ツリーを使用している。)あなたはMVCを使用している場合、あなたはおそらくあまりにも(@Html.For(x => ...)

  • の場合を式ツリーを使用している

  • スレッドやタスクを開始すると、デリゲートを使用します。

基本的には、単一の操作を簡単に表現できる方法で表現するのに最適です。これらは単一メソッドのインターフェイスの代わりに使用でき、継承を使用する代わりにカスタム動作のフックを提供するのに適しています。

ActionFuncデリゲートファミリを持つ.NET 3.5以降、私はカスタムのデリゲート型を作成することはほとんどありません。これは、可読性の面で基本的には理にかなっています。

+0

@ Html.Forは式ツリーです - それを解釈して意図を把握します –

+0

@Marc:乾杯、編集します。 –

+0

ありがとうございました。 – GibboK

関連する問題