我经常在 namespace 和该 namespace 中的类之间命名冲突,并且想知道一种最佳做法,即除了添加随机前缀外,首先使用这些名称似乎很有意义。

拥有一个Models.Technology命名空间似乎很有意义,其中包含数十种技术类(例如,武器,农业,回收技术)以及一些相关的接口(interface)。我还决定在Technology namespace 中创建一个Technology抽象类,所有技术都从该类派生。

但是,这迫使我使用如下代码:

public Technology.Technology research(Technology.Technology tech) {...}

同样:
public Building.Building build(int count) {...}

顺便说一句,我没有命名我的命名空间技术,因为我在其他地方使用了该术语作为可用技术列表的包装...

最佳答案

如果没有关于何时遇到此问题的更精确指示,很难为您提供一些一般性建议。

但是我想如果您的命名空间中有一个基类,而其他类继承自该类,那么您将遇到这个问题。如果是这种情况,您可以调用您的类BaseTechnology(基类)或AbstractBuilding(抽象类)或IAnimal(接口(interface))。这甚至使您更加清楚,因为您在类型名称中指定了一些重要的信息。

关于c# - 如何避免对类及其 namespace 使用相同的名称,例如Technology.Technology?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1158092/

10-13 04:35