繁体   English   中英

::在C#中的目的是什么?

[英]What is the purpose of :: in C#?

我在生成的代码中看到了双冒号( :: :)。 我想知道它的目的是什么?

它是命名空间别名限定符运算符 引用链接到MSDN页面:

命名空间别名限定符( ::用于查找标识符。 它始终位于两个标识符之间,如下例所示:

 global::System.Console.WriteLine("Hello World"); 

这是命名空间别名限定符。 当有两个不同类型具有相同名称和相同名称空间(来自不同程序集)的潜力时,可以使用它。 例如,我们的ORM产品与VistaDB 3和VistaDB 4进行对话。在这两种情况下,连接类都是VistaDB.Provider.VistaDBConnection。 所以我们将VistaDB 3程序集的extern alias改为vdb3 ,将VistaDB 4程序集改为vdb4 ,现在可以将连接类消除歧义为vdb3::VistaDB.Provider.VistaDBConnectionvdb4::VistaDB.Provider.VistaDBConnection 如果没有别名限定符,这些将引发“模糊引用”编译器错误。

它是范围解析运算符:

http://en.wikipedia.org/wiki/Scope_resolution_operator

C ++中的范围解析运算符(::)用于定义已经声明的成员函数(在带有.hpp或.h扩展名的头文件中)

暂无
暂无

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

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