1

我有一个名为“ Core ”的命名空间,它是我项目的主要命名空间。

然后我创建了名为“接口”的新子命名空间,它将包含库的所有 GUI 和 WPF 类。有很多UserControls和Windows ETC。同时我有另一个名为“接口”的类,它是一个处理和管理接口命名空间及其功能的静态类。这是为了避免用户\开发人员管理他的软件的 GUI,所以这就是我创建这个静态类的原因。

所以现在我有一个小问题,当调用静态类 Core.Interface 时,编译器不会在子命名空间和静态类之间分开,因为它们的名称完全相同。

我不想更改他们的名字,所以请不要建议任何新名字。我只是不知道将 Interface 类移动到 Interface 命名空间中是否更好,或者只是删除子命名空间“Interface”并将所有内容移动到主命名空间“Core”,但这会很混乱,我想要一些严格的顺序在我的项目中。

那你建议我怎么做?

更新:好的,所以我对这些建议深信不疑。在每种情况下,我都会为子命名空间找到新的专有名称。并将静态类保留在主命名空间中的位置,以避免用户定义使用子命名空间只是为了使用它们中的每一个的主静态类。

无论如何,谢谢你们的回答和提出建议。

4

2 回答 2

2

理想情况下,您应该在命名空间和类之间有明显的区别。命名空间是包,而类就是该包中的内容。例如,您有一个包含苹果和橙子的篮子,您不想将篮子称为苹果,对吗?

如果您确实必须保留这些名称,则不要在开头使用“using Core.Interface”引用命名空间,而是在每次使用它们时调用完整的类路径,这样编译器就会知道您使用的是哪一个。

另一种选择是 在您想要使用子类类并使用静态类的完整路径时使用类似别名并使用 InterfaceNameSpace 定义。using InterfaceNameSpace = Core.Interface;

于 2013-04-26T08:22:45.380 回答
2

将命名空间重命名InterfaceInterfaces; 由于名称空间通常包含多个类,因此后缀s不会破坏语义,可能会更好。

于 2013-04-26T08:53:44.260 回答