我們在Visual Basic .NET中開發了一個相當健壯的程序,並且我們創建了一個實質上代表整個程序作爲單個對象的API。這工作得很好,我們已經使用了很多年 - 但現在一個項目出現了,我們真的可以使用它的多個實例。多實例化廣泛使用全局變量的項目
問題是代碼庫對啓動模塊中的全局變量(gSvcMgr)有廣泛的引用。我怎樣才能讓這個對象的多個實例引用一個不同的變量?我可以使用命名空間嗎?或Shadows關鍵字?
我可以進一步描述結構,如果我一直不清楚,或者如果具體可能有所幫助。
雖然重構全局變量是不可能的,但如果它是唯一的選擇,我們有一個非常大的代碼庫,只有少數開發人員。
謝謝!
Um ...在自己的線程上創建對象的每個實例,並將所有全局變量標記爲[thread-static](http://msdn.microsoft.com/zh-cn/library/system.threadstaticattribute( v = VS.90)的.aspx)? – GSerg 2012-07-19 23:57:57
不知道你爲什麼不把這個標記爲答案,但謝謝你的建議。我無法確定這是否適用於模塊變量,但我明天會到辦公室試試看。 – FellowMD 2012-07-20 03:27:36
我只是沒有做出這個答案,因爲我完全不確定它會起作用,甚至不推薦它。 – GSerg 2012-07-20 09:00:06