我们在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