事件是否使对象保持活动状态

本文关键字:活动状态 对象 是否 事件 | 更新日期: 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也是活的