Main()上的ConditionalAttribute

时间:2011-02-27 06:26:07

标签: c#

这是一个出于好奇的问题。我正在搞乱一些代码,并意识到以下内容仍然在发布中编译:

class Program
{
    [Conditional("DEBUG")]
    private static void Main()
    {
        // do stuff
    }
}

我认为ConditionalAttribute应该消灭该方法,但事实并非如此。切入点有什么特别之处?

1 个答案:

答案 0 :(得分:9)

我相信它会消除调用到方法,而不是方法本身。 <{1}}永远不会(或永远不会)从你的代码中调用,所以这不会改变任何东西。