[英]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.VistaDBConnection
和vdb4::VistaDB.Provider.VistaDBConnection
。 如果没有别名限定符,这些将引发“模糊引用”编译器错误。
它是范围解析运算符:
http://en.wikipedia.org/wiki/Scope_resolution_operator
C ++中的范围解析运算符(::)用于定义已经声明的成员函数(在带有.hpp或.h扩展名的头文件中)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.