2009-10-26 72 views

回答

3

如果表單的狀態的有效性取決於屬性被設置,則設置在構造的性質。您總是希望您的對象在構建完成後處於有效狀態。

0

在構造函數中。通常情況下,你需要設置一些表單,或者在實際顯示錶單之前設置其他類型的表單。在這些情況下,甚至在表單實際加載之前,您會希望設置所有實例變量。

0

構造應負責初始化,除非你有特殊需要或依賴初始化表格裝入變量,比如它初始化的東西,是依賴於別的東西。

2

呀,但要小心你在一個窗體的構造做了什麼,爲可視化設計器,當您打開編輯的形式將運行此。

如果你把任何東西在這裏,依賴於其他的東西被設立在運行時,很容易引起錯誤,你將無法編輯表單佈局。

我會說把它放在窗體的Load這個原因。

+0

你是對的,你需要小心。但是,如果要設置的屬性是類不變式,那麼意味着除非設置了這些屬性,否則沒有其他客戶端應該觸摸該對象,在這種情況下,構造函數是唯一合理的位置。推論:依賴於運行時初始化的屬性不應該是設計器管理類的類不變量。 – 2009-10-26 17:09:34

0

你應該初始化在構造函數的性質。每個表單實例顯然只調用一次構造函數。每次顯示錶單時都會調用加載事件處理程序。此外,如果您在加載事件處理程序中執行了初始化工作(例如填充組合框),則必須先編寫一些非常難看的代碼,以便在顯示錶單之前在該組合框中預先選擇一個值。這只是一個例子。希望有所幫助。