我正在使用Prism.EventAggregator
订阅活动。当我订阅时,参数类型与触发实际事件时出现的EventArgs
不同。因此,我试图使用某种映射器方法来转换EventArgs
。
问题似乎出在映射上。当我消除此步骤时,它可以完美运行。但是我不允许将EventArgs
暴露给定义动作的层。
public void SubscribeForStrangeEvent(Action<string> doSomething)
{
void TempAction(StrangeEventArgs args) => doSomething(args.SomeProperty);
_eventAggregator.GetEvent<StrangeEvent>().Subscribe(TempAction);
}
我希望发布StrangeEvent
时,它将导致TempAction
运行,然后doSomething
运行。奇怪的行为是,当事件首次发布时,它按预期工作。但是第二次发布不会导致TempAction
运行。