假设我们在主命名空间为 MyNamespace
的项目中有以下文件 和 [文件夹] 结构:
- [实体]
- Article.cs
- Category.cs
- [接口(interface)]
- IReviewable.cs
- ISearchable.cs
- Enumerations.cs
根据ReSharper的建议,类Article
和Category
的命名空间应该是MyNamespace.Entities,IReviewable的命名空间
和 ISearchable
应该是 MyNamespace.Interfaces 而 Enumerations
类的命名空间应该只是 MyNamespace .
这是因为 ReSharper 的建议基于文件夹结构,而它的建议基于文件在结构中的位置。
您如何看待上述命名空间?您认为仅在文件夹位置为类(接口(interface)等)实现 namespace 是否正确?
或者您认为命名空间声明不应该仅仅依赖于文件夹结构?
就我个人而言,我会将上述所有文件都放在一个 MyNamespace 下,因为它们都相互关联。
最佳答案
我认为 ReSharper 的建议很好。我认为根据类是什么而不是它们做了什么来对类等进行分组是错误的。
类比是将文档分组到 Word、Excel 等子文件夹中,而不是按 Project 或其他一些功能分组。
关于c# - 正确分配命名空间(根据 ReSharper 的建议),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1007550/