GetEvent<祝辞.事件聚合器的订阅产生异常
本文关键字:异常 祝辞 事件 GetEvent | 更新日期: 2023-09-27 18:05:55
我正在使用反射加载dll,然后尝试在该dll中执行方法。这个方法有这一行,它订阅了一个事件。在
这行出现异常这行是在dll中,我使用反射动态调用
evntAgg.GetEvent<ExceptionEvent>().Subscribe(Message);
异常是这样的:
IDelegateReference的目标类型应该是System。Action ' 1[[CustomType, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]。参数名称:actionReference
这是事件处理方法,并且在我动态调用的同一个dll中
public void Message(ExceptionEvent exception)
{
//Do something
}
任何帮助都将是感激的?
当使用Prism的EventAggregator
-class时,您将需要满足某些要求:
-
定义源自
CompositePresentationEvent<TEventArgs>
的事件,其中TEventArgs
源自System.EventArgs
-
定义一个public方法来处理你的事件,以
TEventArgs
的实例作为参数;例如:public void HandleExceptionEvent(ExceptionEventArgs eventArgs) { }
方法必须是公共的,否则
EventAggregator
将无法调用该方法 -
订阅您的活动:
evntAgg.GetEvent<ExceptionEvent>.Subscribe(HandleExceptionEvent);