コードインスペクション:匿名デリゲートによるイベント登録解除
このインスペクションは、新しい匿名デリゲートを使用してイベントの登録解除を試みたことを報告します。 新しいラムダ式または匿名メソッドは別のデリゲートインスタンスであるため、この登録解除呼び出しでは元のハンドラーは削除されません。
サンプル
publisher.Changed += (s, e) => Console.WriteLine("Changed");
publisher.Changed -= (s, e) => Console.WriteLine("Changed");
EventHandler handler = (s, e) => Console.WriteLine("Changed");
publisher.Changed += handler;
publisher.Changed -= handler;
クイックフィックス
インスペクションエラーに対する専用の迅速な解決策はありません。 一般的な修正方法は、デリゲートインスタンスを保存し、購読と購読解除の両方に同じ変数を使用することです。
2026 年 6 月 12 日