预处理器指令和不必要的 Using 指令

Preprocessor directives and unnecessary Using directives

我有一些代码只需要 运行 在已部署的环境中 (stage/test/production)。

该代码生成了对出现在 .cs 文件顶部的其他名称空间的一些使用。

但是,当我将此代码放入我的预处理器指令中时 #IF !DEBUG .cs 文件顶部的用法现在声明

Using directive is unnecessary.

这感觉很危险。由于这是一个多人项目,我担心有人会在某个时候输入此文件并自动删除使用,因为它们被标记为不必要。

我目前的解决方案是只注释文件顶部的代码而不删除它们。

那么,我怎样才能使不必要的 usings 指令变得不必要?

也将你的用法放在#IF 中:

#IF !DEBUG
using MySpecialStuff 
#endif

public class MyClass
{
    static void Main()
    {
#IF !DEBUG
        var msc = new MySpecialClass(); 
#endif
    }   
}

或者,在声明中完全限定您需要的 class。

public class MyClass
{
    static void Main()
    {
#IF !DEBUG
        var msc = new MySpecialStuff.MySpecialClass(); 
#endif
    }   
}