EventAggregator.PublishOnUIThread(aMessage)与EventAggregator.Publish(aMessage,Execute.OnUIThread)相同吗?

时间:2014-09-03 07:08:59

标签: caliburn.micro

Micro 2.x用户,

我无法模拟(使用moq)并验证对EventAggregator.PublishOnUIThread的调用,因为它是一个扩展方法!

在源代码中四处寻找让我想出另一个IS模拟的方法调用: - )

但是,如果知道EventAggregator.Publish(aMessage,Execute.OnUIThread)会很高兴 是相当于EventAggregator.PublishOnUIThread(aMessage)?

1 个答案:

答案 0 :(得分:2)

是的,它们是等价的。

这就是当前EventAggregator.PublishOnUIThread扩展方法的实现方式:

public static void PublishOnUIThread(this IEventAggregator eventAggregator, object message)
{
    eventAggregator.Publish(message, Execute.OnUIThread);
}

有关详细信息,请参阅EventAggregatorExtensions.cs源代码。