我正在使用 Microsoft Community Toolkit 的默认 Messenger 在程序中的模块之间发送消息,它工作得很好 - 直到我尝试在静态类中接收消息。
我一直在努力浏览有关 Messenger 和 Register 的 Microsoft Learn 页面,但我的了解还不够,无法理解这些描述。 (这些特定的页面似乎是由专家为专家编写的,我不够专业(或聪明),无法弄清楚他们在说什么。)
我的问题是:静态类可以接收消息(看起来很有可能),如果可以,我必须使用什么语法来注册?它一定是上面最后一个例子的某种变体,但我还没有弄清楚它会是什么。
谢谢。
我刚刚开始将我的应用程序从使用事件和 EventHandler 更改为 WeakReferenceMessenger,并在使用静态类时遇到了相同的情况。我的解决方案是使用
typeof(classname), (r, m) =>
而不是
this, (r, m) =>
并且 lambda 被按预期调用。