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

时间:2010-01-11 21:23:46

标签: c# syntax

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

3 个答案:

答案 0 :(得分:49)

这是namespace alias qualifier operator。引用链接到MSDN页面:

  

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

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

答案 1 :(得分:34)

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

答案 2 :(得分:-5)

这是范围解析运算符:

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

  

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