如何避免为类及其命名空间使用相同的名称,例如Technology.Technology?
我经常在命名空间和该命名空间中的类之间发生命名冲突,并且除了添加随机前缀之外,在首先使用这些名称似乎有意义时,我们想知道处理此问题的最佳实践。
拥有一个Models.Technology命名空间似乎是有意义的,它有许多技术类(即武器,农业,回收技术)和一些相关的接口。 我还决定在技术命名空间中使用一个技术抽象类,所有技术都来自该类。
但是,这迫使我使用这样的代码:
public Technology.Technology research(Technology.Technology tech) {...}
同样地:
public Building.Building build(int count) {...}
顺便说一下,我没有命名我的命名空间技术,因为我在其他地方使用该术语作为可用技术列表的包装器……
没有更准确的指示,当你遇到这个问题时,很难给你一些一般的建议。
但是当你在命名空间中有一个基类时,我会假设你有这个问题,其他类inheritance自它。 如果是这种情况,您可以调用您的类BaseTechnology(基类)或AbstractBuilding(抽象类)或IAnimal(接口)。 这甚至可以让您更清晰,因为您在类型的名称中指定了一些重要的东西。
好吧,无论你的免费精选名字大全是你的免费精选名字大全命名,如ns MyNamespace,还是你命名为c class MyClasse。 我个人赞成命名命名空间,因为它不是你在代码中经常使用的东西。
您还可以使用TechnologyBase或AbstractTechnology来命名与命名空间名称冲突的主要抽象类,这是我建议保持最符合逻辑的命名约定。
一般的警察是命名您的命名空间“实体”或其他东西。
另一个应对,只需在您正在为之工作的公司名称后调用命名空间。
那么Technology.Tech呢?
要么:
HumanBeing.Human
要么:
CocaCola.Coke?
我喜欢做的是有一个简单的规则。 我在哪里使用单词的前两个字母,然后是该单词的最后两个字母,如:
Technology.Tegy
它可能没有任何意义,但因为同样的规则总是适用,这意味着更少的混淆,并且除了那一条规则之外没有必要记住太多。 这只是我的偏好。 我,我自己喜欢看起来神秘的东西,所以如果这不是你的风格 – 那么也许这个答案不适合你。
我希望这有帮助…至少有点…… ?
上述就是C#学习教程:如何避免为类及其命名空间使用相同的名称,例如Technology.Technology?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1008207.html