代码检查:通过匿名委托取消订阅事件。
此检查会报告通过新的匿名委托尝试取消事件订阅的情况。 该取消订阅操作不会移除原有的处理程序,因为新的 Lambda 或匿名方法是不同的委托实例。
示例
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年 5月 8日