2012-08-14 101 views
1

嗨我拥有具有属性状态(例如doc.Status)的文档类,情况如下:当Status属性设置为确认时,我想创建另一个相关文档。当文档状态设置为非确认时,我想删除该相关文档(如果存在)。达到此目的的最佳方式是什么?在属性set方法中设置if子句,或者在属性值更改时使用相同的if子句激发事件?C#在属性值更改时触发的事件

+1

你真正的问题是什么?感觉就像这个问题的答案是一个意见问题。请阅读:http://stackoverflow.com/questions/how-to-ask。你有什么尝试,为什么不工作? – 2012-08-14 06:45:24

+0

我还没有尝试过任何东西。我只是问什么是解决这个问题的最佳方法。 – 2012-08-14 06:50:26

+0

这是一个选择的问题。我宁愿实现INotifyPropertyChanged接口并引发事件 – NoviceProgrammer 2012-08-14 06:50:27

回答

1

这取决于您想要为您的功能实现的行为。

1)使用“如果条款”中设置属性: 在这种方法中,一旦你将编译文档类,你不能为一组属性变得硬编码然后改变行为。所以,如果要做的唯一事情是创建和删除相关文档,那么这种方法是可取的。在“状态”属性更改

2)创建活动: 此功能应该在的情况下,当你想在分离从文档类“状态”属性中的任何改变后所执行的操作使用。如果更改“status”属性后执行的业务逻辑在编译文档类时未确定,则此方法更可取。

选择是你的!

0

“很高兴有办法”将生成一个事件,并挂钩一个方法,它将创建另一个文件。如果别人会为你的代码提供服务,这将是一个更加明确的解释方式。

1

我肯定会去事件解决方案。这将更多地解耦您的解决方案,并且如果您未来愿意的话,可以更轻松地使用代码中其他地方的功能。

1

这非常依赖于您的应用程序。 通常,您的模型应该(我假设您的文档类所属的)不应包含业务逻辑。它只应提供允许对数据进行基本操作的数据和方法以及回调。

您应该最好implement your own event并以任何您需要的方式在业务逻辑中处理它。

相关问题