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

Ste*_*ger 1 c# vb.net asp.net-mvc

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

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

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

    }

    public class cSomeClass
    {
        // Some content

    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个cVeloConnect的新实例,调用此实例VeloConnect,我再也无法访问VeloConnect命名空间了......例如

VeloConnect.cVeloConnect VeloConnect = new VeloConnect.cVeloConnect();
VeloConnect.PrintMe();
// The below thing is not possible
VeloConnect.cSomeClass MyClass = new VeloConnect.cSomeClass();
Run Code Online (Sandbox Code Playgroud)

如果我不想重命名命名空间或我之前的实例,如何访问其他类?

Jon*_*eet 5

好吧,一个选择是遵循命名约定以避免这种事情 - 你的类不应该从一开始c,你的本地变量通常以小写字母开头.

为了避免使用的名称空间在所有的声明,你可以只用一个using指令,在你的代码的顶部.或者,如果您确实要指定命名空间,可以使用global:::

global::VeloConnect.cSomeClass MyClass = new global::VeloConnect.cSomeClass();
Run Code Online (Sandbox Code Playgroud)

一般来说,我不喜欢在我的实际代码中看到命名空间 - 我更喜欢有using指令,所以我可以在代码体中使用简单的名称.无论哪种方式,我强烈建议您开始遵循.NET命名约定.