問題:オブジェクトのリストを含むドキュメントクラスがあります。これらのオブジェクトは、SolutionExpired
,DisplayExpired
などのイベントを発生させます。ドキュメントは、これに応答する必要があります。一度にすべてのイベントハンドラを削除する
ドキュメントはオブジェクトを交換することがありますが、1つのオブジェクトが複数のドキュメントの「一部」になることはありません。
私のドキュメントクラスには、イベントハンドラとして機能する一連のメソッドが含まれています。オブジェクトがドキュメントに入力されるたびに、私はAddHandler
を使用してイベントを設定し、オブジェクトがドキュメントから削除されるたびにRemoveHandler
を使用してダメージを元に戻します。しかし、すべてのステップが適切に行われているかどうかを確認することが難しく、不正なイベントハンドラになる可能性がある場合があります。
ロングストーリーショート;特定のメソッドを指しているハンドラーをすべて削除するにはどうすればよいですか?注目すべきイベントソースのリストはありません。どこにでも保存できます。
のような何か:
RemoveHandler *.SolutionExpired, AddressOf DefObj_SolutionExpired
[コントロールからすべてのイベントハンドラを削除する方法](http://stackoverflow.com/questions/91778/how-to-remove-all-event-handlers-from-a-control) – ChrisF
可能[コントロールからすべてのイベントハンドラを削除する方法]の複製(https://stackoverflow.com/questions/91778/how-to-remove-all-event-handlers-from-a-control) –