如何运行 一些基于发布或调试构建模式的代码?
How to run some code based on release or debug build mode?
我有一个变量(即bool releaseMode = false;
)
我希望根据我们是否处于发布模式 (releaseMode = true;
) 或调试模式 (releaseMode = false;
)
来设置变量的值
根据你的问题,你可以使用:
/// <summary>
/// Indicate if the executable has been generated in debug mode.
/// </summary>
static public bool IsDebugExecutable
{
get
{
bool isDebug = false;
CheckDebugExecutable(ref isDebug);
return isDebug;
}
}
[Conditional("DEBUG")]
static private void CheckDebugExecutable(ref bool isDebug)
=> isDebug = true;
当然你可以把名字换成:
IsReleaseExecutable
return !isDebug;
这种方法意味着编译所有代码。因此,可以根据此标志以及与用户或程序有关的任何其他行为参数来执行任何代码,例如调试和跟踪引擎的激活或停用。例如:
if ( IsDebugExecutable || UserWantDebug ) DoThat();
否则像这样的预处理器指令:
C# if/then directives for debug vs release
#if DEBUG vs. Conditional("DEBUG")
我有一个变量(即bool releaseMode = false;
)
我希望根据我们是否处于发布模式 (releaseMode = true;
) 或调试模式 (releaseMode = false;
)
根据你的问题,你可以使用:
/// <summary>
/// Indicate if the executable has been generated in debug mode.
/// </summary>
static public bool IsDebugExecutable
{
get
{
bool isDebug = false;
CheckDebugExecutable(ref isDebug);
return isDebug;
}
}
[Conditional("DEBUG")]
static private void CheckDebugExecutable(ref bool isDebug)
=> isDebug = true;
当然你可以把名字换成:
IsReleaseExecutable
return !isDebug;
这种方法意味着编译所有代码。因此,可以根据此标志以及与用户或程序有关的任何其他行为参数来执行任何代码,例如调试和跟踪引擎的激活或停用。例如:
if ( IsDebugExecutable || UserWantDebug ) DoThat();
否则像这样的预处理器指令:
C# if/then directives for debug vs release
#if DEBUG vs. Conditional("DEBUG")