gpt4 book ai didi

wpf - mvvm wpf Messenger类,注销消息

转载 作者:行者123 更新时间:2023-12-03 10:30:47 26 4
gpt4 key购买 nike

我正在使用Josh Smith的MVVM Foundation项目Messenger类,只是有一个有关取消订阅消息的问题。目前,我有多个ViewModels将消息注册为字符串,例如,我有-

ViewModelA-注册消息“A”
ViewModelB-注册消息“A”

因此,这两个注册消息具有相同的字符串。

我的问题是,关闭ViewModel时,从ViewModel实例中注销特定消息的最佳方法是什么(假设多个ViewModel可以具有相同的消息字符串)。

干杯,

蒂姆

最佳答案

Messenger类的全部关键在于,它仅持有对订阅者(“同事”)的弱引用,因此,如果关闭ViewModel,它将在垃圾被收集后立即停止接收消息。

如果等待垃圾收集仍然不够好,您可以尝试强制垃圾收集。有关更多信息,请参见this link

我能想到的唯一其他选择是子类Messenger并编写自己的Unregister()方法。

关于wpf - mvvm wpf Messenger类,注销消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3130540/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com