我在过去的几个月里一直在使用ReSharper,抛开广告不谈,我无法想象自己没有它就无法进行编程。因为我喜欢生活在“什么该死的出错了”的边缘,我决定用最新的ReSharper 4.5夜间构建来试试运气。一切都很好。
但是,我注意到using指令分组格式发生了变化,我想知道哪个更接近通用标准:
年长的
#region Using directives
using System.X;
using System.Y;
using System.Z;
using System.A;
#region
namespace X { ... }新的
namespace X {
#region Using directives
using System.X;
using System.Y;
using System.Z;
using System.A;
#region
...
}除了延迟加载引用之外,它还有什么特殊的用途吗?(我一直在阅读Scott Hanselman对这个@http://www.hanselman.com/blog/BackToBasicsDoNamespaceUsingDirectivesAffectAssemblyLoading.aspx的看法)
谢谢;
发布于 2008-12-30 06:01:11
正如Scott在他的帖子中进一步发现的那样,这两种情况之间没有运行时差异。因此,它并没有达到延迟加载引用()的目的。
如果你读完斯科特博客中的评论,你还会看到,把这个谣言传给斯科特(Mike Brown)的开发人员说,他只听说过这件事,并没有亲自测试过。
也就是说,如果在命名空间中为类型设置了别名,并且在命名空间中定义了另一个具有相同名称的类型,则可能会通过给出编译器错误来改变using指令的放置位置。当然,这并不是运行时的区别。
最后,我相信MS编码指南说要像ReSharper 4.5那样做。但是盲目地遵循这个规则是愚蠢的,因为“因为微软说了”,因为
发布于 2008-12-30 06:11:41
好吧,通常是主观的。:)但对我来说,通常是“老”的方式。
发布于 2008-12-30 06:05:03
哦,我的错。当我搜索的时候,我没有看到这个问题。我知道这样做很愚蠢,因为微软是这么说的,但总的来说,对此“通常”的方法是什么?
众所周知,我经常使用ReSharper的代码清理,所以老实说,我只是想知道。
https://stackoverflow.com/questions/399594
复制相似问题