分离一个匿名的事件处理程序
分离一个匿名的事件处理程序
\n可能是重复问题:
\n如何在C#中取消订阅匿名方法\n如何取消注册匿名事件处理程序 \n
\n好的,假设我有以下代码:\n
private void AttachEvent(AwesomeObject someObject) { int id = GetCurrentIdValue(); someUnknownClass.SomeEvent += () => someObject.CreateAwesomeness(id); }
\n(本质上,我只是试图说明在事件处理程序中使用局部变量的必要性,如此线程中建议的)。从内存管理的角度来看,我不能只是从someUnknownClass.SomeEvent中分离出来,因为我无法控制处理程序。此外,假设someUnknownClass是第三方类型,因此我无法在该类中添加任何代码来内部分离事件,就像建议的那样。\n我的问题是,如何避免内存泄漏,同时仍然能够使用匿名方法作为事件处理程序?