嗨我擁有具有屬性狀態(例如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