我怎么才能让它起作用呢?
在C#
代码中:
if (condition)
{
#define CONSTANT
}
我试着在项目文件的<PropertyGroup>
部分中通过<DefineConstants Condition="'$condition'"></DefineConstants>
来做一些事情.
但它不会起作用,因为在程序构建后,条件将基于我们知道的东西.
我怎么才能让它起作用呢?
在C#
代码中:
if (condition)
{
#define CONSTANT
}
我试着在项目文件的<PropertyGroup>
部分中通过<DefineConstants Condition="'$condition'"></DefineConstants>
来做一些事情.
但它不会起作用,因为在程序构建后,条件将基于我们知道的东西.
不能;您的运行时代码(if
)不能影响编译时指令(#define
).你需要使用另一种方法.可以使用您在运行时计算一次的static readonly bool
-最新.NET版本上的JIT将usually将其视为const
,并在JIT过程中适当地执行死代码删除,使if (SomeStaticReadOnlyOrConst)
almost与#if SOME_SYMBOL
相同.