在 C# 中,A::B
和 A.B
有什么区别?我注意到的唯一区别是只有 ::
可以与 global
一起使用,但除此之外,有什么区别?为什么它们都存在?
最佳答案
::运算符仅适用于别名 global 是一个特殊的系统提供的别名。
所以...这有效:
using Foo = System.ComponentModel;
public MyClass {
private Foo::SomeClassFromSystemComponentModel X;
}
但不是这个:
public MyClass {
private System.ComponentModel::SomeClassFromSystemComponentModel X;
}
这可以让您摆脱在与库集成时可能出现的子命名空间的 hell :
namespace MyAwesomeProduct.System
{
}
而你在你的代码中有
using MyAwesomeProduct;
global::让您找到真正的系统。
关于c# - 范围解析运算符::与成员访问运算符。在 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4731501/