命名空间声明中的“using”语句位置

时间:2011-05-13 02:32:05

标签: c# namespaces structure conventions

  

可能重复:
  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
{

3 个答案:

答案 0 :(得分:2)

这里没有什么值得关注的;实际上,StyleCop默认建议使用第一个示例(using语句命名空间声明中)。

答案 1 :(得分:2)

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

答案 2 :(得分:0)

  

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

我想不出任何可以“保证”限制范围较小的情况。虽然,我宁愿坚持惯例 - 或者详尽地评论 - 只是为了确保'下一个人'不必猜测我的意图。

这个链接可能会详细解答您的问题