“using” statement locations within namespace declarations
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
Should Usings be inside or outside the namespace
我支持一些代码,这些代码通常在名称空间声明中包含所有的using语句。这让我有点不舒服,但我不知道这是否应该引起关注。我想不出一个直接的问题,除了它违背了通常的惯例。
以下方面有什么问题吗?
1 2 3 4 5 6 7 8 9 | 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; |
而不是更广泛使用:
1 2 3 4 5 6 7 8 9 10 | 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默认情况下建议使用第一个示例(在命名空间声明中使用
Location of the using statement
affects the scope of the references
within the file.
我想不出任何可以"保证"将其限制在较小范围内的情况。不过,我更愿意遵守惯例——或者详尽地评论——只是为了确保"下一个人"不必猜测我的意图。
可能这个链接会详细回答你的问题
- C-使用语句的位置