【发布时间】:2021-11-10 01:13:57
【问题描述】:
namespace Y
{
class foo { }
}
namespace X.Z
{
class bar : Y.foo { }
} // fine
namespace X.Y.Z
{
class bar2 : Y.foo { }
} // error!, now foo can't be found because it looks for X.Y.foo
这是一个 c# 错误吗?我会虽然在命名空间中只是在命名空间中声明的项目名称前面加上前缀。显然正在发生其他事情,我不确定这是一件好事。
【问题讨论】:
-
不是错误,使用
global::Y.foo;消除歧义。选择好名字,docs.microsoft.com/en-us/dotnet/standard/design-guidelines/… -
呃,你可以把
using Y;放在最上面,然后有class bar2 : foo { }
标签: c# namespaces