【问题标题】:Is it possible to add more than 1 namespace in a same file (.cs)?是否可以在同一个文件 (.cs) 中添加多个命名空间?
【发布时间】:2018-10-16 19:12:45
【问题描述】:

我目前正在学习 C#,因此我希望获得一些支持 - 是否可以在同一个文件中添加多个命名空间?

【问题讨论】:

  • 是的。有可能的。你可以自己试试。

标签: c# .net namespaces


【解决方案1】:

是的。以下将在单个文件中编译无忧:

namespace Blah {
    public enum Stuff {A, B, C}
}
namespace Meh {
    public enum MoreStuff {A, B, C}
}

仅供参考,如果您愿意,这两个枚举都可以称为 Stuff,但我以不同的方式命名它们以保持示例简单。如果它们都被称为 Stuff,那么它们的完全限定名称将是 Blah.StuffMeh.Stuff

【讨论】:

    【解决方案2】:

    是的,您可以,但我建议您不要这样做,因为它可能会违反 Single Responsibility Principle

    查看this question 以了解有关在单个文件中包含多个类的讨论(这是不同的,但我觉得为什么/为什么不这样做的原因是相似的)。

    您有什么特别的原因要这样做吗?

    【讨论】:

    • 虽然将多个类放在一个文件中不是个好主意,但它与SRP无关
    • @CodingYoshi 你难道不能认为一个文件是一个“模块”吗?如果一个文件有多个类并且做很多事情,它可能会使代码更难阅读?
    • SRP 是关于具有特定责任的类。将多个这样做的类放到一个文件中并不会改变这一事实。
    • 我有 7 个类,它们只用一种方法实现一个接口。在所有类中,该方法的实现只有一行代码。将所有类放在一个文件中,这将使我有可能将所有实现放在一个地方 -> 所以当我想引入新的实现或删除一些时,可以在一个地方进行更改......
    • 完全没有,只是想知道
    猜你喜欢
    • 2015-05-16
    • 1970-01-01
    • 1970-01-01
    • 2019-11-04
    • 1970-01-01
    • 2011-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多