事件是否使对象保持活动状态
本文关键字:活动状态 对象 是否 事件 | 更新日期: 2023-09-27 18:17:26
假设我有这样一个系统:
public class AppController {
public event Action LanguageChangedEvent;
}
public class UIElement {
private AppController _appController = (some initialization);
public UIElement() {
_appController.LanguageChangedEvent += OnLanguageChanged;
}
public void OnLanguageChanged() {
// Do something
}
}
由于事件保持活动状态,并且它有对UIElement类中方法的引用,因此它有对UIElement对象的引用。
该引用是否保持对象存活?
因为OnLanguageChanged
是一个实例方法,所以_appController
持有对构造的UIElement
实例的引用。
_appController
是活的,UIElement
也是活的