1
如果我有以下Microsoft.Practices.Prism.Events.IEventAggregator实例:IEventAggregator会多次订阅吗?
eventAggregator.GetEvent<MyEvent>.Subscribe(SomeMethod);
和上面的代码行被击中多次,确实EventAggregator检查是否已经有一个订阅新资料还是将继续订阅并且多次(每次)发布一个Publish()?
如果你有一个基类,上面有5个孩子继承,上面的代码将订阅5次。这是否意味着如果事件一旦发布,它将执行5次或一次? – 4thSpace
@ 4thSpace:如果五种类型中的每一种都有一个实例,那么当事件发布时,它将发布五次。请记住,处理程序绑定到*实例*而不是*类型*。如果您创建了一个静态方法并将该处理程序设置为静态方法,那么它只会被注册一次,静态构造函数对于该类型是本地的,而不是派生类型,并且只能执行一次。 – casperOne