繁体   English   中英

C#编译器以什么顺序搜索名称空间/二进制文件以查找变量名?

[英]C# in what order does the compiler search through the namespaces/binaries to find a variable name?

我只是很好奇这是如何工作的。 似乎找不到太多细节。 在我的搜索中可能没有正确表达该问题。 但是,基本上,编译器如何解析名称? 它以什么顺序搜索C#文件开头的using语句中列出的名称空间?

按照指定的顺序。 从某种意义上说,编译器会尝试使用不合格的类型在您添加的每个名称空间之前添加前缀,因此使用指令实际上是“愚蠢的”。 如果没有完全合格的类型匹配,则会出现未找到的错误。 如果多个匹配项,您将得到一个含糊的类型错误。

CLR通过C#第三版(链接到第四版):

使用C#using指令完全是可选的。 如果愿意,总是欢迎您键入类型的全限定名。 C#using指令指示编译器尝试在类型名称之前添加不同的前缀,直到找到匹配项为止。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM