上記のように、状況によって異なります。 Delegates以前は、ロジックを実装するための別のメソッドがロジックに必要でした。これにより、Delegate正当化するのが困難になりました。ただしLambda Expressions、実際には非常に便利で強力になり、Anonymous Methods簡単に正当化できます。DelegateType
Delegates次の場合に最適です。
- イベント ハンドラ
- スレッドの開始
- コールバック
- リンク
特別なコードを持つテンプレートの概念的な概念は、Delegate非常に優れています。
が操作されたときに何らかの形式の通知を提供する を探しEvent Handlerている場合、 は理想的です。最も一般的な実装と最も簡単な例は、. それぞれは を表し、 のそれぞれには、変更が行われたことを示すイベントがあります。ClassObjectUser InterfaceClassControlControlInterface
AButtonクリックされることがすべての目的です。ただし、クリックされるまで、実行したり何かをしたりする必要はありません。の例Event Handler。
多くの場合、自然界ではDelegate. 推論はDelegate Object、メソッドをカプセル化して、匿名で呼び出すことができるようにすることです。AnEventは、が発生したときに呼び出されるメソッドをClassクライアントが指定できるようにする方法です。DelegateEvent
すべてのEvent Handlerは、相関する に呼び出されるプロシージャですEvent。これらEvent Handlersには次の 2 つの要素が必要です。
- あ
Delegate
Eventオプションで、そのデータを保持するクラス。
したがって、ほとんどの場合、それらは手を取り合って進みます。
明らかに、あなたの質問は詳細を提供していないため、物理的に回答したり、基準に合わせたりすることが難しくなります。
あなたを助けるいくつかのサイト:
これらは両方とも重要な概念であるため、理解することが非常に重要です。うまくいけば、これが少し明確にするのに役立ちます。