【发布时间】:2016-01-04 09:41:19
【问题描述】:
我有以下课程
namespace COM.XX.ZZ{
class XX{
}
}
当我尝试在不同的类中使用它时
using COM.XX.ZZ;
class someClass{
static void main(String args[]){
XX.someMethod();
}
}
Visual Studio 混淆了类和包,因为它们的名称相同。 命名空间和类应该始终不同是不是 Visual Studio 的一个已知限制?
【问题讨论】:
-
显示什么错误?
-
你有一个同名的类和命名空间这一事实是一个糟糕的设计决定。为自己节省很多痛苦并改变其中一个。命名空间应描述一般类别/区别,例如
MyApp.Web.WebSockets,包含该类别下的特定类,例如WebSocketFactoryThingy。在我看来,一个类的名称不应该是命名空间的一部分。但是,这只是我。 -
Visual Studio 的哪个版本?
-
XX.someMethod() 不是静态方法(但你这样调用,你会调用静态方法),所以我猜 XX 是一个类的实例,对吧?
-
以plural形式定义命名空间,以singular形式定义类名,瞧,问题就迎刃而解了。
标签: c# visual-studio class namespaces