在命名空间声明中使用"using"语句位置

7
可能重复:
使用应该在命名空间内还是外部 我正在支持一些代码,它所有的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
{

这篇文章可能会有帮助:https://dev59.com/L3VC5IYBdhLWcg3w-mdO - keyboardP
可能是重复的吗?https://dev59.com/L3VC5IYBdhLWcg3w-mdO - Adam Driscoll
由于我无法删除此问题,因此将其关闭为完全重复。 - Phil.Wheeler
3个回答

2

这里没有什么需要担心的;事实上,第一个例子(使用using语句在命名空间声明内部)是StyleCop默认推荐的。


2

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


0

using语句的位置会影响文件内引用的范围。

我想不出任何情况需要将其限制在更小的范围内。虽然,我更喜欢遵循惯例 - 或者详细注释 - 只是为了确保“下一个人”不必猜测我的意图。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接