是否可以在运行时停用条件编译符号?

时间:2014-12-02 16:25:01

标签: c# .net

我很确定答案是 NO 但我只是想确保运行时> > strong>,ex;

/* code that make this been skip*/

#if DEBUG
    /* some code here */
#endif

没有做这样的事情;

public class test
{
    public static bool ActivateDebug = true;

    public void SomeMethod()
    { 
        /*some code*/

        #if DEBUG
        if (test.ActivateDebug)
        { 
            /*some code */
        }
        #endif

        /*some code */
    }
}

1 个答案:

答案 0 :(得分:2)

否,在编译的预处理期间控制条件编译符号。这意味着编译器实际上删除了#if#endif之间的代码(或者添加标志是true还是false)。

由于代码在编译的应用程序中甚至不存在,因此没有办法可以"神奇地"把它弄回来。