我们啥时候需要将 using 指令放在命名空间范围内? [复制]

Posted

技术标签:

【中文标题】我们啥时候需要将 using 指令放在命名空间范围内? [复制]【英文标题】:When do we need to put using directives inside a namespace scope? [duplicate]我们什么时候需要将 using 指令放在命名空间范围内? [复制] 【发布时间】:2011-06-28 20:58:58 【问题描述】:

我不知道为什么 Asp.net MVC 开发人员将using 指令放在System.Web.Mvc 命名空间中,如下所示。

namespace System.Web.Mvc

    using System;
    using System.Collections.ObjectModel;

    [Serializable]
    public class ModelErrorCollection : Collection<ModelError>
    

        public void Add(Exception exception)
        
            Add(new ModelError(exception));
        

        public void Add(string errorMessage)
        
            Add(new ModelError(errorMessage));
        
    

我们什么时候需要将using 指令放入namespace 范围内?

【问题讨论】:

我什至不知道是否有必要。我能想到的唯一原因可能是如果您有一个源文件,其中包含多个命名空间。但是人们真的经常这样做吗?我希望不大。 【参考方案1】:

见Should 'using' statements be inside or outside the namespace?

【讨论】:

【参考方案2】:

这是你的选择。 StyleCop 工具警告说这是最佳实践,但是 Visual Studio 生成的文件总是在命名空间之外使用 usings。

Should all the using directives for namespaces be inside the namespace?

【讨论】:

以上是关于我们啥时候需要将 using 指令放在命名空间范围内? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

类和命名空间是啥关系

sa1200 所有 using 指令都必须放在命名空间(StyleCop)内纯粹是装饰性的吗? [复制]

C# 关键字--using

using 用法拾忆

C# 中使用using的三种方法

.NET 6新特性试用 | 文件范围的命名空间