5
誰かが、メソッドにイベントを追加するための+ =演算子に相当する生のコードを教えてくれるのだろうかと思っていました。私はそれが技術的な観点からどのように機能するのか興味があります。+ =と同等のコード=イベントへの割り当て
誰かが、メソッドにイベントを追加するための+ =演算子に相当する生のコードを教えてくれるのだろうかと思っていました。私はそれが技術的な観点からどのように機能するのか興味があります。+ =と同等のコード=イベントへの割り当て
event
は、プロパティが "get"と "set"を定義するのと同じ方法で、 "add"と "remove"を含む一連のメソッドを定義します。これは効果的です:
obj.add_SomeEvent(handler);
内部的にイベントは何でもできます。 2一般的なケースがあります。( "フィールド様" イベントを含む)デリゲートフィールドと
EventHandlerList
実装は、それが効果的にDelegate.Combine
を使用しています。
handler = Delegate.Combine(handler, value);
EventHandlerList
には、キーオブジェクトがあります。
Events.AddHandler(EventKey, value);