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



可能的重复项:
使用应该在命名空间内部还是外部

我支持一些代码,这些代码不寻常地将其所有 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
{

这里没有什么可关注的;事实上,第一个示例(命名空间声明中的 using 语句)默认由 StyleCop 推荐。

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

using 语句的位置 影响引用的范围 在文件中。

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

可能此链接将详细回答您的问题

  • C# - use 语句的位置

最新更新