2011-05-13 109 views
7

可能重复:
Should Usings be inside or outside the namespace“使用”的声明地点命名空间声明中

我支持一些代码,不寻常的,包含了命名空间声明中的所有其使用的语句。这让我有点不舒服,但我不知道这是否应该是值得关注的事情。除了与惯例相违背之外,我想不出一个直接的问题。

有什么不妥:

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语句 的
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 
{ 
+0

本文可能有帮助:http://stackoverflow.com/questions/125319/should-usings-be-inside-or-outside-the-namespace – keyboardP 2011-05-13 02:49:36

+0

作为一个完全重复的问题来关闭这个问题(因为我不能删除它)。 – 2011-05-13 03:19:44

+0

可能重复? http://stackoverflow.com/questions/125319/should-usings-be-inside-or-outside-the-namespace – 2011-05-13 02:49:40

回答

0

位置影响到文件中引用 的范围。

我想不出有什么情况会'保证'限制它的范围较小。尽管如此,我宁愿坚持惯例 - 或者详尽评论 - 只是为了确保“下一个人”不必猜测我的意图。

也许这个链接将回答您的问题进行详细

2

没有什么与此关注;实际上,第一个示例(using声明里面的命名空间声明)是由StyleCop默认推荐的。

2

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