在C#中的目的是什么?
我在生成的代码中看到了双冒号( ::
:)。 我想知道它的目的是什么?
这是命名空间别名限定符运算符 。 从链接到MSDN页面引用:
名称空间别名限定符(
::
用于查找标识符。 它总是位于两个标识符之间,如下例所示:global::System.Console.WriteLine("Hello World");
这是命名空间别名限定符。 当有两个具有相同名称和相同名称空间的不同types(来自不同的程序集)时,可以使用它。 例如我们的ORM产品与VistaDB 3和VistaDB 4对话。在这两种情况下,连接类都是VistaDB.Provider.VistaDBConnection。 所以我们将VistaDB 3程序集extern alias
为vdb3
,将VistaDB 4程序集extern alias
为vdb4
,现在可以将连接类别消除为vdb3::VistaDB.Provider.VistaDBConnection
和vdb4::VistaDB.Provider.VistaDBConnection
。 如果没有别名限定符,这些会引起“模棱两可的参考”编译器错误。
这是范围parsing运算符:
http://en.wikipedia.org/wiki/Scope_resolution_operator
C ++中的范围parsing运算符(::)用于定义类中已经声明的成员函数(在扩展名为.hpp或.h的头文件中)