这是一个出于好奇的问题。我正在搞乱一些代码,并意识到以下内容仍然在发布中编译:
class Program
{
[Conditional("DEBUG")]
private static void Main()
{
// do stuff
}
}
我认为ConditionalAttribute应该消灭该方法,但事实并非如此。切入点有什么特别之处?
答案 0 :(得分:9)
我相信它会消除调用到方法,而不是方法本身。 <{1}}永远不会(或永远不会)从你的代码中调用,所以这不会改变任何东西。