1
AddHanlderの代わりにWithEvents宣言を使用する場合、対応するイベントの登録を解除するコードは何ですか?これはWithEvents変数をNothingに設定するだけですか?これで十分ですか(フレームワーク的に)?WithEvents宣言を使用してイベント登録を解除する
AddHanlderの代わりにWithEvents宣言を使用する場合、対応するイベントの登録を解除するコードは何ですか?これはWithEvents変数をNothingに設定するだけですか?これで十分ですか(フレームワーク的に)?WithEvents宣言を使用してイベント登録を解除する
私はちょうど短い間だけしか表示されないフォームを持っているとしましょう、しかし、それは私のメインドメインモデルに加入して、変更についての更新を取得します。モデルは私が私のイベントハンドラを解除していない場合、それはこのフォームがガベージコレクトされないになります、外生きる私を意志に参照を持っているので
Private WithEvents _model As WeatherModel
Public Sub New(model As WeatherModel)
_model = model
End Sub
Private Sub WeatherModel_Update(sender As Object, e As WeatherUpdateEventArgs) _
Handles _model.WeatherUpdate
'Handle updated weather conditions
End Sub
:私はこのようなコードを持っているかもしれません。その場合、私はを私のFormClosing
イベントハンドラに確実に入れたいと思っています。
オブジェクトとオブジェクトの両方が同じライフタイム(つまり、同時にスコープから外れる)またはアプリケーションの存続期間全体にわたって存在する場合は、それを心配する必要はありません。
静的バインドイベントの登録を解除することはできません。 – adatapost
なぜこれをやろうとしていますか? –
@AVD:なぜあなたはそれをコメントとして伝えますか?これは答えですか? 2つのオブジェクトが永遠にリンクされているということですか? –