我对命名空间名称和类有疑问:
如果我在名称空间VeloConnect中有一个名为cVeloConnect的类。 e.g。
namespace VeloConnect
{
public class cVeloConnect
{
// Some content
public void PrintMe();
}
public class cSomeClass
{
// Some content
}
}
现在我想创建一个新的cVeloConnect实例,调用此实例VeloConnect,我再也无法访问VeloConnect命名空间了... e.g
VeloConnect.cVeloConnect VeloConnect = new VeloConnect.cVeloConnect();
VeloConnect.PrintMe();
// The below thing is not possible
VeloConnect.cSomeClass MyClass = new VeloConnect.cSomeClass();
如果我不想重命名命名空间或以前的实例,我如何访问其他类?
答案 0 :(得分:5)
嗯,一个选项是遵循命名约定以避免这种情况 - 您的类不应该以c
开头,而您的本地变量通常以小写字母开头信。
为了避免在声明中使用所有命名空间,您只需在代码顶部使用using
指令即可。或者,如果确实想要指定命名空间,则可以使用global::
:
global::VeloConnect.cSomeClass MyClass = new global::VeloConnect.cSomeClass();
一般来说,我不喜欢在我的实际代码中看到命名空间 - 我更喜欢使用using
指令,所以我可以在代码体中使用简单的名称。无论哪种方式,我都强烈敦促您开始关注.NET naming conventions。
答案 1 :(得分:1)
别名命名空间;
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();