我需要的是在每个 dll 中为某些事件类型注册具体的类。
public interface IDomainEventHandler<T> where T : IDomainEvent
{
void Handle(T domainEvent);
}
我不想扫描事件处理程序,因为在继承的类中一次又一次地注册和执行相同的处理程序,但我希望在结构映射引导程序中调用每个 dll 中的初始化方法。
所以在每个 dll (模块)中我会包括类似的东西
public void SetEntityEventHandlers()
{
ObjectFactory.Initialize(x =>
{
x.For<IEntityBeforeUpdateEvent<Person>>()
.Add<PersonBizObj>();
x.For<IEntityBeforeUpdateEvent<Person>>()
.Add<EmployeeBizObj>();
//lets say I have a ManagerBizObj which inherits from EmployeeBizObj and I do not want it in the //event handler loop
}
}
那么 StructureMap 是否有一种方便的方法来执行此操作,添加一个程序集(dll)明智的初始化函数?