我有一个定义类
的程序namespace @default
{
public class Test
{
}
}
然后,我再次使用名为Test
的类来替换没有名称空间的另一个库。如何隐藏其他库Test
类,以便我的程序看不到@default.Test
作为其他库Test
类?
答案 0 :(得分:4)
默认情况下,在default
命名空间内,default.Test
类是您在说Test
时使用的类。
在default
命名空间之外,您需要在using语句中执行以下操作:
using ExternalTest = global::Test;
using Test = default.Test;
第一行并非绝对必要,因为您可以在任何地方使用global::Test
。
对于那些之前没有遇到过全球的人:global (C# Reference)。
答案 1 :(得分:1)
使用global::
作为标识符名称的前缀,以指示应从全局(未命名)命名空间开始找到它。例如:
class Test { }
namespace Default {
public class Test {
global::Test theOtherOne;
}
}
您经常会在自动生成的代码中看到它用于避免意外名称冲突。与Resources.Designer.cs一样