2011-06-17 37 views

回答

1

在我的公開獲取,我只想確認我的對象列表是空的,沒有建立之前,將其返回給調用者。不要忘記lock這部分代碼,以確保只有您的空列表上的第一個調用進行創建。

+0

你的意思是這樣的:http://msdn.microsoft.com/de-de/library/c5kehkcz(v=vs.80).aspx? ?爲什麼我應該鎖定創建菜單控件? – msfanboy 2011-06-17 09:35:08

+0

你需要鎖定它,因爲如果你的實例的獲取屬性從2個不同的線程在同一時間訪問,你可能最終他們兩人將嘗試創建一個意想不到的結果你的菜單。如果您的實例將從單個線程訪問,則不需要該實例。 – Dummy01 2011-06-17 09:46:39

+0

該代碼在asp.net應用程序中運行,所以...該虛擬是正確的:) – msfanboy 2011-06-17 13:47:04

0

我不知道你打算做什麼(你的問題是相當模糊的),但是如果你想確保在任何調用之前執行的初始化一次且僅一次到類的任何成員,靜態構造函數是去的地方。

+0

共建的菜單項列表追加他們在文本菜單和返回與公共Get方法。直至現在的ContextMenu在Get方法創建的,因此創造了多次... – msfanboy 2011-06-17 08:25:27