|
|
1
7
第一个示例打印“B.Foo”,第二个示例打印“A.B.Foo”。这是因为在第二个例子中
因为命名空间查找遵循与类型名限定查找相同的规则。 Section 3.8 符合C规范。
基本上,当
|
|
|
2
5
我没有读过C规范,但我可以简单地通过推论告诉你发生了什么。当您将using B放在A.C名称空间中时,您不再在全局范围内,而是在周围名称空间的范围内。首先应用程序将尝试在A.C中解析,然后在A。 最简单的修复方法是将inside using语句更改为:
但是,你可以通过添加
请注意,您现在将解析为A.C.B |
|
|
3
4
其他答案都是正确的,但还有一点需要注意。记住这一点很有帮助
其实只是一个简短的写作方式
如果您对命名空间查找可能出现严重错误的方式感兴趣,请参阅我的系列文章: http://blogs.msdn.com/b/ericlippert/archive/tags/namespaces/ |
|
|
4
0
我相信规范的相关部分是:
以及第9.4.2节,该节讨论了使用指令如何影响标识符的作用域资源。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |