这让我难倒了几分钟.出于某种原因,我无法在下面的"测试"课程中限定常量.编译器认为'A'是'ABA'命名空间的结尾,因此没有看到常量.任何人都可以告诉我为什么资格'ABConstants.Constants.A'在这里不起作用?
namespace A.B.Constants
{
public class Constants
{
public enum A
{
A,
B
};
}
}
namespace A.B.A
{
public class Test
{
A.B.Constants.Constants.A enumA; // Error here on the 'B'
Constants.Constants.A secondEnumA; // This works
}
}
Run Code Online (Sandbox Code Playgroud)
我无法告诉你为什么会这样(无聊的回答:因为C#规范如此说 - 但这并没有给出任何见解).这是一个解决方法:
global::A.B.Constants.Constants.A enumA;
Run Code Online (Sandbox Code Playgroud)
使用global::
前缀或extern别名.
归档时间: |
|
查看次数: |
100 次 |
最近记录: |