我有一个关于名称空间名称和类的问题:

如果我在命名空间VeloConnect中有一个名为cVeloConnect的类。
例如

namespace VeloConnect
{
    public class cVeloConnect
    {
        // Some content
        public void PrintMe();

    }

    public class cSomeClass
    {
        // Some content

    }
}


现在我想创建一个新的cVeloConnect实例,将其称为VeloConnect实例,我再也无法访问VeloConnect命名空间了。
例如

VeloConnect.cVeloConnect VeloConnect = new VeloConnect.cVeloConnect();
VeloConnect.PrintMe();
// The below thing is not possible
VeloConnect.cSomeClass MyClass = new VeloConnect.cSomeClass();


如果我不想重命名名称空间或以前的实例,该如何访问另一个类?

最佳答案

好的,一种选择是遵循命名约定,以避免这种情况-您的类不应以c开头,而本地变量通常以小写字母开头。

为了避免在声明中完全使用命名空间,您可以仅在代码顶部使用using指令。或者,如果您确实要指定名称空间,则可以使用global::

global::VeloConnect.cSomeClass MyClass = new global::VeloConnect.cSomeClass();


但是总的来说,我不喜欢在我的实际代码中看到名称空间-我更喜欢使用using指令,因此我可以在代码正文中使用简单的名称。无论哪种方式,我都强烈建议您开始遵循.NET naming conventions

关于c# - 如何访问与类实例同名的 namespace ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6912155/

10-09 09:34