gpt4 book ai didi

Caliburn.Micro IEventAggregator Publish方法缺少重载

转载 作者:行者123 更新时间:2023-12-04 03:43:49 25 4
gpt4 key购买 nike

我正在通过在线学习Caliburn.Micro的一些教程进行首次学习。一些教程使用的是较早的1.3.0版本,而我使用的是较新的2.0.0.6版本,该版本是最新的Nuget软件包,这很可能是这种差异的来源:

尝试发布以下消息时:

public void Red()
{
_events.Publish(new ColorEvent(new SolidColorBrush(Colors.Red)));
}

编译器将引发错误,指出未找到重载。唯一可用的Publish重载具有以下签名:
无效发布(目标消息, Action 组长)

我通过使用下面显示的后台工作线程方法使它正常工作,但在我看来,这似乎有点过头了。是否真的从Caliburn.Micro中消除了单参数重载?

另外,文档在这里:
https://caliburnmicro.codeplex.com/wikipage?title=The%20Event%20Aggregator
仍然显示了使用更基本的单参数示例的示例,您只需传递一条消息即可。此链接上的文档是否是正确描述2.0.0.6的最新文档?
public void Red()
{
_events.Publish(new ColorEvent(new SolidColorBrush(Colors.Red)),
action => Task.Factory.StartNew(action));
}

最后,要获得奖励积分:

除了将消息发布到后台线程之外,第二个参数还有什么用?有人可以举例说明此过载的用途吗?

最佳答案

在Caliburn Micro 2.0版中,EventAggregator.Publish方法也采取措施编码(marshal)事件。为了保持2.0之前的行为,您应该改用EventAggregator.PublishOnUIThread方法。有关1.5和2.0之间不兼容的信息,请参见迁移说明here

总的来说,我认为Codeplex文档有些过时了。请引用new dedicated web site以获得最新的documentation

关于Caliburn.Micro IEventAggregator Publish方法缺少重载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24107050/

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