嗨我拥有具有属性状态(例如doc.Status)的文档类,情况如下:当Status属性设置为确认时,我想创建另一个相关文档。当文档状态设置为非确认时,我想删除该相关文档(如果存在)。达到此目的的最佳方式是什么?在属性set方法中设置if子句,或者在属性值更改时使用相同的if子句激发事件?C#在属性值更改时触发的事件
1
A
回答
1
这取决于您想要为您的功能实现的行为。
1)使用“如果条款”中设置属性: 在这种方法中,一旦你将编译文档类,你不能为一组属性变得硬编码然后改变行为。所以,如果要做的唯一事情是创建和删除相关文档,那么这种方法是可取的。在“状态”属性更改
2)创建活动: 此功能应该在的情况下,当你想在分离从文档类“状态”属性中的任何改变后所执行的操作使用。如果更改“status”属性后执行的业务逻辑在编译文档类时未确定,则此方法更可取。
选择是你的!
0
“很高兴有办法”将生成一个事件,并挂钩一个方法,它将创建另一个文件。如果别人会为你的代码提供服务,这将是一个更加明确的解释方式。
1
我肯定会去事件解决方案。这将更多地解耦您的解决方案,并且如果您未来愿意的话,可以更轻松地使用代码中其他地方的功能。
1
这非常依赖于您的应用程序。 通常,您的模型应该(我假设您的文档类所属的)不应包含业务逻辑。它只应提供允许对数据进行基本操作的数据和方法以及回调。
您应该最好implement your own event并以任何您需要的方式在业务逻辑中处理它。
相关问题
- 1. 骨干 - 在特定属性发生更改时触发事件的模型
- 2. 触发属性更改时故事板动画未完成
- 3. jQuery/Javascript - 如何在按钮的值更改时触发事件?
- 4. Silverlight:如何在textchange事件触发时更改textbox的值
- 5. URL更改时是否触发事件
- 6. 更改事件未触发
- 7. 触发更改事件
- 8. DateTimePicker更改值不会触发值更改事件 - Winforms
- 9. 仅在依赖属性更改值后引发事件
- 10. 如何在变量值更改时触发事件?
- 11. 依赖属性已更改在设计中的集合属性上未触发的事件时间
- 12. 更改时附加事件到属性
- 13. javascript属性更改事件
- 14. 在XAML的事件触发器中设置依赖属性值?
- 15. 在更改后未触发SelectedIndexChanged事件
- 16. 触发器更改输入值以编程方式更改时的事件?
- 17. WPF触发器更改父项属性
- 18. ChangeWatcher未触发绑定属性更改
- 19. 当SelectedIndex属性更改时,ListBox的SelectedItem属性发生更改?
- 20. jQuery的触发的DatePicker更改事件
- 21. 在属性上触发事件/功能? (C#)
- 22. 模型更改时触发更改事件
- 23. 如何在属性值更改时更新从属属性?
- 24. 触发更改事件当淘汰赛视图模型属性更新
- 25. 何时应该发起“属性更改”事件?
- 26. 当发生什么事情时更改控件属性 - wpf xaml
- 27. 无法使用事件触发器更改背景。在IsMouseOver属性不点火
- 28. JavaScript:触发事件恢复innerHtml属性
- 29. 当一个项目的属性更改值时,调用BindingList已更改事件
- 30. 下拉的触发器更改事件
你真正的问题是什么?感觉就像这个问题的答案是一个意见问题。请阅读:http://stackoverflow.com/questions/how-to-ask。你有什么尝试,为什么不工作? – 2012-08-14 06:45:24
我还没有尝试过任何东西。我只是问什么是解决这个问题的最佳方法。 – 2012-08-14 06:50:26
这是一个选择的问题。我宁愿实现INotifyPropertyChanged接口并引发事件 – NoviceProgrammer 2012-08-14 06:50:27