命名空间声明中的“使用”语句位置[重复]

Posted

技术标签:

【中文标题】命名空间声明中的“使用”语句位置[重复]【英文标题】:"using" statement locations within namespace declarations [duplicate] 【发布时间】:2011-08-24 14:34:51 【问题描述】:

可能重复:Should Usings be inside or outside the namespace

我正在支持一些代码,这些代码通常将其所有 using 语句都包含在命名空间声明中。这让我有点不舒服,但我不知道这是否应该引起关注。除了违反惯例之外,我想不出一个直接的问题。

有什么问题吗:

namespace myProject.controls

    using System;
    using System.Collections;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.UI.WebControls;
    using System.Web.UI.htmlControls;

而不是更广泛使用的:

using System;
using System.Collections;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

namespace myProject.controls

【问题讨论】:

这篇文章可能会有所帮助:***.com/questions/125319/… 可能重复? ***.com/questions/125319/… 将此问题作为完全相同的副本关闭(因为我无法删除它)。 【参考方案1】:

using 语句的位置 影响参考范围 在文件中。

我想不出任何可以“保证”将其限制在较小范围内的情况。不过,我更愿意遵守约定——或者详尽地评论——只是为了确保“下一个人”不必猜测我的意图。

这个链接可能会详细回答你的问题

C# - Location of using statements

【讨论】:

【参考方案2】:

唯一的区别与范围有关。在第一种情况下,using 声明在命名空间声明范围内,并且在其外部不可用,例如,在同一文件中的其他命名空间声明中。在第二种情况下,声明在整个文件的范围内。

【讨论】:

【参考方案3】:

这里没有什么可担心的;事实上,StyleCop 默认推荐第一个示例(在命名空间声明内部 声明using 声明)。

【讨论】:

以上是关于命名空间声明中的“使用”语句位置[重复]的主要内容,如果未能解决你的问题,请参考以下文章

命名空间内的 JetBrains Rider 导入引用

3.1 命名空间using的声明

致命错误:命名空间声明语句必须是 /home/central1/public_html/wp-content 中脚本中的第一个语句

.NET 命名空间和 using 语句 [重复]

在 C# .cs 文件中放置 using 语句的位置[重复]

查找 XML 文档中的所有命名空间声明 - xPath 1.0 与 xPath 2.0