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