using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
我必须将上面的代码放在几乎每个.cs文件中。有什么方法可以避免吗?
答案 0 :(得分:10)
不,那些告诉编译器您的代码引用了哪些命名空间。他们声明了一个范围,他们需要编译。
请参阅Microsoft的以下有关.NET框架中名称空间的官方文档:
http://msdn.microsoft.com/en-us/library/dfb3cx8s%28VS.80%29.aspx
答案 1 :(得分:4)
向项目添加一个类并使用语句键入这些类。文件+导出模板。选择项目模板,下一步。打勾你的课,接下来。 Tick System和System.Core,Next。根据您的口味选择好的价值。完成。
现在,您可以使用Project + Add New Item从此模板启动新的源代码文件。
答案 2 :(得分:4)
如果要使用短类名,则无法删除每个.cs文件顶部的using指令。避免使用using指令的唯一解决方案是在任何地方都使用完全限定的类名。
如果这太激进了,我建议你将using指令括在一个区域中,如果IDE允许的话,将它折叠起来。
#region Usings
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
#endregion
答案 3 :(得分:3)
好吧,你可以使用完全限定的名字。因此,您可以说var x = new StringBuilder();
而不仅仅是var x = new System.Text.StringBuilder();
。对System.Text
命名空间中的所有内容执行此操作,您无需使用System.Text using指令。大多数时候你使用using指令会更好,但是现在你会遇到一种情况,你只需要一次命名空间中的一种类型,然后你也可以使用全名。
此外,您可能会发现其中一些已经未使用过。例如,您的大多数类可能不直接使用System.IO中的类型。程序倾向于将IO工作封装为一两个类,而其他类型将使用那些而不是核心System.IO类型。
答案 4 :(得分:1)
检查您是否可以在IDE中的新文件模板中包含这些语句。
答案 5 :(得分:1)
使用Resharper。
(这实际上是很多问题的答案,而不仅仅是这个问题。)每当您键入项目中引用的程序集中的名称而不是名称空间时,Resharper会自动提示您并将名称空间声明插入到代码中在你的代码中声明。它还会提醒您冗余的命名空间声明,以便您可以轻松删除代码未使用的声明。