繁体   English   中英

每个程序集有一个名称

[英]One namespace per assembly?

每个程序集至少有一个命名空间是一般指南吗?

在什么情况下,多个程序集通常应该共享相同的命名空间?

开发环境:C#和.NET

来自MSDN

部件

程序集是一组类型和资源,它们构成了一个逻辑逻辑单元。 .NET Framework中的所有类型都必须存在于程序集中; 每次使用Visual Basic .NET创建MicrosoftWindows®应用程序,Windows服务,类库或其他应用程序时,您都在构建单个程序集。 每个程序集都存储为.exe或.dll文件。

命名空间

命名空间不是程序集的替代品,而是补充程序集的第二种组织方法。 命名空间是一种对类型名称进行分组并减少名称冲突的方法。 命名空间可以包含其他命名空间和类型。 类型的全名包括包含该类型的命名空间的组合。

答案是 - 这取决于。

如果您的程序集都是给定项目的小组件,则它们可能不需要自己的名称空间,如果它们是不同的,自包含的并且在整个项目的名称空间下都“适合”。

如果您正在构建仅与切向相关并且可以在各种项目中轻松使用的程序集,则可能需要将这些程序集组合在它们自己的命名空间中。

如果您正在创建一个具有类似功能的类或与项目或CLR中现有类重复的成员,那么您也需要一个名称空间。

我建议让命名空间匹配它的文件位置。 尝试并安装resharper,你会明白我的意思。

我不知道程序集应该共享相同的命名空间的情况。 只有名称空间的第一部分应该是相同的,即公司或产品的名称。

请参阅马克的这篇文章

这篇帖子告诉Resharper解决这个问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM