很多情况下我们希望一些调试信息不输出,但又不至于用到trace和debug的一些功能,仅仅是包一下几句话,非调试状态就不运行,有这些用法
using System.Diagnostics; class XY { [Conditional( "DEBUG ")] public static void DebugLog(string in_string) { Console.WriteLine(in_srting); } public static int Main(string[] in_args) { DebugLog( "This is a test "); return 5; } }
if (System.Environment.StackTrace.ToLower().IndexOf( ":line ")> =0) Console.WriteLine( "debug "); else Console.WriteLine( "release ");
string buildtype; try { bool found = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(DebuggableAttribute), false).Length > 0; buildType = found ? "Debug " : "Release "; } catch { buildType = " <error> "; }
#If DEBUG Then '调试状态下运行 Else #End If