我只是好奇这是如何工作的.似乎无法找到很多细节.可能在我的搜索中没有正确处理问题.但基本上,编译器如何解析名称?它以什么顺序搜索C#文件开头的using语句中列出的命名空间?
按照指定的顺序.使用指令实际上是"愚蠢的",因为编译器试图在非限定类型的前提下使用你添加的每个命名空间.如果没有完全限定类型匹配,则会出现未找到错误.如果多个匹配,则会出现模糊类型错误.
来自CLR Via C#第3版(链接到第4版):
使用C#using指令完全是可选的; 如果您愿意,我们随时欢迎您输入类型的完全限定名称.C#using指令指示编译器尝试将不同的前缀添加到类型名称,直到找到匹配项.