デリゲートでC#に実装されたオブザーバーパターン?
-
06-07-2019 - |
質問
である質問には既に回答がありますC#、オブザーバーパターンは既にイベントを使用して実装されていませんか?
イベントを使用してオブザーバーパターンがc#で既に実装されているかどうかを尋ねます。
イベントとオブザーバーのパターンを取得していますが、オブザーバーのパターンは実際には単なるデリゲートとイベントではありませんか?
解決
あなたは正しいです。イベントは、若干異なる機能を備えた単なるデリゲートです。オブザーバーパターンはすべて、 event
キーワードに触れることなくデリゲートで実装できます。
「イベント」の内容に興味があるかもしれません。キーワードが実際にテーブルに表示されます。
- イベントはインターフェースの一部になることができますが、 通常のデリゲートフィールドは できません
- イベントは外部クラスから呼び出すことはできません。 しかし、通常のデリゲートはできます
- イベントには、カスタム機能をオーバーライドおよび提供できる追加のアクセサー(追加および削除)があります
編集:イベントとデリゲートのILコード比較に関する優れた記事をご覧ください。 (ヒント:ほぼ同じです。)
所属していません StackOverflow