C#中如何避免命名空间和类同名?

Hal*_*end 5 c# naming

\n

我知道建议在类和命名空间中使用不同的名称,但有时很难实现。说起来容易做起来难。当我们因为某种情况需要使用相同的名称时,他们从来没有给我们解决方案。

\n
\n\n

例如,我需要一个命名空间来放置所有有关配置的类,因此命名空间命名为ABC.Configuration。我不认为这个名字有什么问题。

\n\n

在命名空间下,我需要一个类来存储配置,因此它的名称也将是Configuration。有道理,你不觉得吗?

\n\n

除此之外,我在命名空间下还有一些其他类,例如 ConfigurationBuilder、ConfigurationManager 等。

\n\n

更重要的是,在Java中,包名我们使用“camelCase”,类名我们使用“PascalCase”。所以因为命名的情况,是没有问题的。

\n\n

那么在C#\xef\xbc\x9f中如何命名这种场景下的类

\n\n
\n\n

非常感谢。如果我使用Configuration.Configuration,我需要写更多的东西只是因为命名,而其他的只是ConfigurationManager,没有命名空间。有点乱。

\n\n

使用 ConfigurationStore 的想法很好,谢谢。\n我认为命名类的解决方案是在名称中明确标识用法并添加另一个单词。\n但是在我的项目中,我需要在某个地方使用配置,如果我写 ConfigurationStore.Path 来读取配置,看起来很奇怪。\n也许我可以使用像 IConfiguration 这样的接口来避免命名问题

\n

nvo*_*igt 5

您可以命名您的命名空间ConfigurationManagement。或者为您的类命名ConfigurationStore(如果它存储配置)。

CamelCase 与 PascalCase:告诉您将命名空间命名为类是不好的工具,也会告诉您名称仅大小写不同的实体也是不好的。

所以找到更好的名字。