如何访问与类实例同名的名称空间

本文关键字:实例 空间 何访问 访问 | 更新日期: 2023-09-27 18:04:09

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

如果在命名空间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命名约定。

别名命名空间;

 using vc=VeloConnect;
 // ... then, later ....
 vc.cVeloConnect VeloConnect = new vc.cVeloConnect();
 VeloConnect.PrintMe();
 // The below thing is not possible
 vc.cSomeClass MyClass = new vc.cSomeClass();