オブジェクトの一部のプロパティを更新するC#コードがあります。更新プロセスが完了したときに対応するためのイベントハンドラが定義されています。残念ながら、私はこのイベントが何回も解雇されていることを知りました。イベントハンドラが間違った時刻に設定されているため、これが起こっていると思われます。現在のところ、それは次のように設定されている:C#でイベントハンドラをクリアまたはチェックする
により、コードの複雑さに、私はそれがが設定すべき場所追跡の困難な時期を持っています。私はそれが以前に設定されていないイベントハンドラを設定するだけです。このため、私はこのような何かをしたい:
ClearEventHandlers(myObject);
または
myObject.Update_Succeeded = null;
myObject.Update_Succeeded += new EventHandler(myObject_Update_Succeeded);
私がしようとしているものを達成する方法はありますか?
ありがとうございました!
このようなアプローチはお勧めしません。イベントリスナーは、何も知らない他のイベントリスナーの登録を解除する必要はありません。 – Groo
@Groo - 一般に、私は同意します。しかし、すべてのリスナーをクリアする方法が必要な時があります。 – CodeNaked
私はこのような状況にまだいないことを告白する必要があります。そして、あなたが記述したパターンに従うBCLには、(私がこれまで見てきたオープンソースライブラリでも)単一のクラスはありません。 – Groo