c# - 有没有办法将 "using"指令分组到一个单独的文件中?

标签 c# using using-directives

假设您有一些使用语句的样板。说这样的话:

#if !NUNIT
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Category = Microsoft.VisualStudio.TestTools.UnitTesting.DescriptionAttribute;
#else
using NUnit.Framework;
using TestClass = NUnit.Framework.TestFixtureAttribute;
using TestMethod = NUnit.Framework.TestAttribute;
using TestInitialize = NUnit.Framework.SetUpAttribute;
using TestCleanup = NUnit.Framework.TearDownAttribute;
using TestContext = System.Object;
#endif

(这是我的单元测试代码)如果我不想把它放在每个有单元测试的文件的顶部,有没有办法在这里设置一个间接级别?

我认为这行不通,但这里有一个我在想的例子:

创建一个名为 NUnitCompatability.cs 的文件并将上面的代码放入其中。然后添加using NUnitCompatability到我所有的单元测试文件。这适用于 Delphi,但不适用于 C#(我认为)。但是还有其他方法可以实现这种功能吗?

最佳答案

不,这是不可能的。

你可能在想using指令就好像它们类似于 #include在 C 中。情况并非如此。

一个 using指令仅告诉编译器在哪些命名空间中搜索特定文件中使用的类型。因此,您也无法将它们存储在单独的文件中。

我不会费心在我的代码中为 using 放置条件编译器指令指令。几乎没有与未使用的 using 相关的开销s 在编译时(搜索空间稍大)和无开销 完全 在运行时 .

关于c# - 有没有办法将 "using"指令分组到一个单独的文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3577063/

相关文章:

c# - ASP.NET MVC + Silverlight + 表单例份验证

c# 我想知道字符串中的前 3 个字符是否为字母?

C++ - "using"关键字说明

c# - 命名空间和使用指令

c++ - 名称查找歧义不一致

c# - 放一个类名=命名空间,在使用

c# - 为什么 Gmail API 不能从 C# 发送 HTML 格式的电子邮件?

c# - 写入json重构代码

c++ - 如何克服C++头文件的命名空间之恶?

c++ - 使用定义相互依赖