0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

我必须将上面的代码放在几乎每个 .cs 文件中。有什么办法可以避免吗?

4

6 回答 6

10

不,那些告诉编译器你的代码引用了哪些命名空间。它们声明了一个范围,并且它们是编译所必需的。

有关 .NET 框架中的命名空间,请参阅 Microsoft 的以下官方文档:

http://msdn.microsoft.com/en-us/library/dfb3cx8s%28VS.80%29.aspx

于 2009-12-28T17:19:31.147 回答
4

向您的项目添加一个类并键入这些 using 语句。文件 + 导出模板。选择项目模板,下一步。勾选你的班级,下一步。勾选系统和 System.Core,下一步。在这里根据您的口味选择好的价值。结束。

您现在可以使用 Project + Add New Item 从此模板开始一个新的源代码文件。

于 2009-12-28T17:26:04.057 回答
4

如果你想使用短类名,你不能去掉每个 .cs 文件顶部的 using 指令。避免 using 指令的唯一解决方案是在任何地方使用完全限定的类名。

如果这太激进了,我建议您将 using 指令包含在一个区域中,如果您的 IDE 允许,则将其折叠起来。

#region Usings
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
#endregion
于 2009-12-28T17:26:04.760 回答
3

好吧,您可以对事物使用完全限定的名称。因此,var x = new StringBuilder();您不仅可以说var x = new System.Text.StringBuilder();. 对命名空间中的所有内容执行此System.Text操作,您就不再需要 System.Text using 指令。大多数情况下,使用 using 指令会更好,但有时您会遇到一种情况,即您一次只需要命名空间中的一种类型,然后您也可以只使用全名。

此外,您可能会发现其中一些已经未使用。例如,您的大多数类可能不直接使用 System.IO 中的类型。程序倾向于将 IO 工作封装为一两个类,而您的其他类型将使用这些而不是核心 System.IO 类型。

于 2009-12-28T17:25:22.763 回答
1

检查您是否可以在 IDE 的新文件模板中包含这些语句。

于 2009-12-28T17:21:27.747 回答
1

使用锐器

(That is actually the answer to a lot of questions, not just this one.) Resharper automatically prompts you and inserts namespace declarations into your code whenever you type a name that is in an assembly referenced in your project but not a namespace declared in your code. It also alerts you to redundant namespace declarations so you can easily trim out the ones your code isn't using.

于 2009-12-28T18:02:15.087 回答