在我的域层中,所有域对象都会发出事件(类型为InvalidDomainObjectEventHandler),以指示调用IsValid属性时的无效状态.
在aspx代码隐藏中,我必须手动连接域对象的事件,如下所示:
_purchaseOrder.AmountIsNull += new DomainObject.InvalidDomainObjectEventHandler(HandleDomainObjectEvent); _purchaseOrder.NoReason += new DomainObject.InvalidDomainObjectEventHandler(HandleDomainObjectEvent); _purchaseOrder.NoSupplier += new DomainObject.InvalidDomainObjectEventHandler(HandleDomainObjectEvent); _purchaseOrder.BothNewAndExistingSupplier += new DomainObject.InvalidDomainObjectEventHandler(HandleDomainObjectEvent);
请注意,在每种情况下都会调用相同的方法,因为InvalidDomainobjectEventArgs类包含要显示的消息.
有没有什么办法可以编写一个语句来连接所有类型为InvalidDomainObjectEventHandler的事件?
谢谢
大卫
解决方法
我不认为你可以在一个声明中做到这一点..但你可以使代码更容易读取如下:
_purchaseOrder.AmountIsNull += HandleDomainObjectEvent; _purchaseOrder.NoReason += HandleDomainObjectEvent; _purchaseOrder.NoSupplier += HandleDomainObjectEvent; _purchaseOrder.BothNewAndExistingSupplier += HandleDomainObjectEvent;
除此之外 – 似乎答案是否定的:(