小编For*_*stC的帖子

延迟事件处理直到事件被触发

在C#中,在实体完全修改之前,延迟处理所有已知事件的最佳方法是什么?比如说,实体 - MyEntity - 具有属性ID,名称和描述......

   public class MyEntity
   {
       public Int32 ID { get; set; }
       public String Name { get; set; }
       public String Description { get; set; }
   }
Run Code Online (Sandbox Code Playgroud)

修改每个属性时,会为每个修改触发一个事件.

有时,ID是唯一已修改的属性,有时会修改所有属性.我希望修改事件的已注册侦听器等待,直到修改了"批处理"中修改的所有属性.

完成此任务的最佳方法是什么?

在我的脑海中,类似于UnitOfWork模式,可以在调用堆栈的顶层包装一个using语句围绕方法调用,但不知道如何实现这样的事情......

编辑:作为澄清......监听器通过应用程序分散,并在其他线程中执行.另一个actor设置 - 例如 - 它必须调用MyEntity.Name属性来设置值的名称.

由于设计原因,Name属性的修改可以触发其他属性更改,因此需要听众知道属性的修改已经完成.

c# events event-handling

12
推荐指数
1
解决办法
1214
查看次数

标签 统计

c# ×1

event-handling ×1

events ×1