【发布时间】:2017-07-07 08:41:04
【问题描述】:
假设我有一个方法可以从父对象中删除单个子对象并引发 PropertyChanged 事件以指示子对象列表已更改。现在说我有第二种方法,可以在一次调用中删除多个子项,并且使用第一种方法,以免再次编写一段代码。在这种情况下,我应该让第二种方法调用第一种方法 N 次并引发 PropertyChanged 事件 N 次,还是应该在第二种方法结束时只引发一次事件?谢谢。
【问题讨论】:
-
如果您可以尽量减少方法调用并获得相同的结果,请始终减少调用次数。
-
好吧,我宁愿浪费一点性能来换取更少的代码来维护/调试。但我也想确保它的设计符合 C# 哲学。
-
我猜
PropertyChanged内部只设置了一个标志,表明该对象应该被更新,所以无论如何它可能并不重要。我猜你在这种情况下的代码不是时间关键的? -
这完全取决于我的班级的用户如何设计他的事件处理程序。他可以合理地期望单个方法代码的单个事件引发并依赖该行为。
-
从辅助方法的第一个方法中提取删除对象的代码,将 RaisPropertyChangedEvent 代码保留在第一个方法中,然后在批量删除中使用辅助方法
标签: c# events methods propertychanged