在visual studio 2008解决方案中,我在两个不同的命名空间中有同一个类的两个版本。
在VB中,如果我这样做:
imports MyNamespace
' ...
dim x as DuplicatedClass = new DuplicatedClass()
它使用MyNamespace.DuplicatedClass而不是全局命名空间的DuplicatedClass。同时,在C#中,执行以下操作:
using MyNamespace;
// ...
DuplicatedClass x = new DuplicatedClass();
使用全局命名空间的DuplicatedClass。要使用另一个版本,我必须使用MyNamespace.DuplicatedClass
。
我知道这是一个有问题的设置,但我不能改变它。有没有一种方法可以防止C#看到全局命名空间的类,或者专门卸载它,或者...考虑到全局命名空间中有多少个类,每次被迫选择命名空间可能会非常耗时。
发布于 2010-09-02 19:24:14
也许你能做的最好的事情就是创建一个using别名:
//create alias
using defDuplicatedClass = MyNamespace.DuplicatedClass;
defDuplicatedClass x = new defDuplicatedClass();
别名的范围是文件。因此,您必须根据需要在每个文件的顶部重复它,但这可能比在每次出现DuplicatedClass时重复一个名称空间要好。
https://stackoverflow.com/questions/3630395
复制