Csharp/C#教程:如何避免为类及其命名空间使用相同的名称,例如Technology.Technology?分享


如何避免为类及其命名空间使用相同的名称,例如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

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐