【发布时间】:2011-05-06 01:44:57
【问题描述】:
我很确定我知道答案,但我想知道是否有办法在我的 C# 项目中定义一个全局“使用”指令,这样我就不必在每个代码文件的顶部重复该指令.
我的兴趣真正源于在 .NET Framework 中引入扩展方法。使用扩展方法的唯一方法是为包含扩展方法的命名空间定义 using 指令。如果没有 using 指令,我将失去扩展方法的 Intellisense 功能,这意味着我不会总是看到可用的方法。
作为一名框架开发人员,确保框架中提供的类型和方法清晰且可供消费开发人员使用是我的关键。虽然文档和培训服务于他们的目的,但我发现大多数开发人员会在这段时间内滚动浏览 Intellisense 列表以查看可用的方法和属性。即使他们去对象浏览器或查看参考文档,除非他们知道扩展方法,否则他们不会知道扩展方法。这就是 Intellisense 的用武之地。
而且,虽然我可以将 using 指令添加到 VS 使用的模板中,但 VS 中的“删除和排序”选项将删除引用扩展方法的指令(如果没有使用)。
那么,说了这么多,有没有办法在 VS 2010 中定义全局“使用”指令?如果没有,MS 是否有可能在未来考虑它?
【问题讨论】:
-
这是由扩展方法滥用引起的。开发人员现在很难找到合适的#using。几年后当其他人必须阅读代码时谋杀。
-
我不同意。扩展方法是有目的的,但只有在您知道它们存在时才有用。默认情况下,当没有 using 指令时,它们不可用。因此,如果开发人员必须首先了解该方法,这不是开发人员找到正确的 using 语句的问题。而且,借助 VS 中内置的 Resolve 功能以及 ReSharper 等工具,找到正确的 using 指令变得更加容易。
标签: c# visual-studio-2010 using-statement using-directives .net-4.0