使用说似乎是理想的(就可读性而言)Debug.WriteLine
写入输出而不是大量#if DEBUG
声明。
当程序在发布模式下编译时,所有开销都用Debug.WriteLine
消失就好像它不存在一样,或者该函数仍然被调用,但内部没有执行任何操作?
如果是这样,有什么方法可以在自定义类上获得此功能,即,只有在调试模式下才会编译静态调用?
它被称为条件属性 http://msdn.microsoft.com/en-us/library/system.diagnostics.conditionalattribute.aspx它已经在那里了:Debug.WriteLine()
当您在发布模式下编译时,调用将被完全删除。
它的声明如下:
[ConditionalAttribute("DEBUG")]
public static void WriteLine(string message)
因此,如果DEBUG
符号未声明,例如,在发布版本的默认配置中。 (您可以在项目属性中更改为不同构建配置定义的预处理器符号。)
对于(几乎?)中的每个方法也是如此Debug
。事实上,这是之间的主要区别Debug
and Trace
- Trace
的方法也保留在版本中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)