2012-08-14 97 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並以任何您需要的方式在業務邏輯中處理它。

相關問題