Caliburn.Micro IEventAggregator发布方法缺少重载

 孙孟兰_580 发布于 2023-01-11 09:06

我正在通过一些在线学习Caliburn.Micro的教程第一次.有些教程使用的是旧的1.3.0版本,我使用的是较新的2.0.0.6版本,这是最新的Nuget软件包,可能是这种差异的根源:

尝试发布以下消息时:

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

编译器抛出一个错误,指出未找到重载.可用的Publish唯一重载具有以下签名:void Publish(object message,Action marshal)

我通过使用下面显示的后台工作线程方法让这个工作,但在我的情况下,它似乎有点矫枉过正.单个参数重载是否真的从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));
}

最后,奖励积分:

除了在后台线程上发布消息之外,这第二个参数有什么用呢?有人可以提供一些其他可以用于此重载的示例吗?

1 个回答
  • 在Caliburn Micro 2.0版中,该EventAggregator.Publish方法还采取行动来整理事件.要保持2.0之前的行为,您应该切换到该EventAggregator.PublishOnUIThread方法.有关1.5和2.0之间不兼容性的信息,请参阅此处的迁移说明.

    总的来说,我认为Codeplex文档有点过时了.有关最新的文档,请参阅新的专用网站.

    2023-01-11 09:09 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有