C#OnPropertyChangedEvents实现和委托问题

时间:2009-10-18 18:47:48

标签: c# delegates

我在UI上有一个进度条我想在记录插入数据库时​​更新。我之前做过这个,当时我只有一个UI层和一个没有问题的业务层。但我现在将我的代码分解为UI层,业务层和数据层,我无法想象如何从我的业务层中正确调用我的数据层中的OnPropertyChangedEvent并让我的UI进行更新。我刚刚开始熟悉代表,所以任何建议都会有所帮助。

谢谢!

1 个答案:

答案 0 :(得分:1)

典型地,您不希望数据层具有业务层的任何知识,即您希望依赖关系向下流动(使用抽象)UI - > BLL - > DAL。如果要在插入记录时从数据层获取通知,则可以在业务层订阅的数据层中公开OnBeforeInsert,OnAfterInsert,OnBeforeUpdate,OnAfterUpdate等事件。在数据库操作之前和之后调用事件,您可以创建一个自定义的EventArgs类,其中包含您需要访问的任何数据,然后您可以在调用事件时对其进行实例化和传递。然后,UI / BLL可以使用它来显示进度或做任何它认为合适的事情。