在 C# 中获取编译时常量
Get compiletime constants in C#
在 C# 中,您可以定义可以检查以配置编译的编译时常量
#define MY_CONST
#if MY_CONST
...
#else
...
#endif
但是我找不到一种方法来查看在当前行定义了哪些常量。
我需要类似的东西
#warning DEFINED_CONSTANTS
那会给我 DEBUG; NET5_0
不考虑其他,设置一个字段即可
#if MY_CONST
public static bool IsMyConst = true;
#else
public static bool IsMyConst = false;
#endif
加入胡椒粉和盐调味。
一段时间后,我发现可以使用
通过 MSBuild 显示定义的常量
<Target Name="ShowConstants" AfterTargets="AfterBuild">
<Warning Text="$(DefineConstants)" />
</Target>
这为 net5.0 构建提供了 TRACE;DEBUG;NET;NET5_0;NETCOREAPP
。
它不显示给定行的常量,但至少显示当前配置的常量。
在 C# 中,您可以定义可以检查以配置编译的编译时常量
#define MY_CONST
#if MY_CONST
...
#else
...
#endif
但是我找不到一种方法来查看在当前行定义了哪些常量。
我需要类似的东西
#warning DEFINED_CONSTANTS
那会给我 DEBUG; NET5_0
不考虑其他,设置一个字段即可
#if MY_CONST
public static bool IsMyConst = true;
#else
public static bool IsMyConst = false;
#endif
加入胡椒粉和盐调味。
一段时间后,我发现可以使用
通过 MSBuild 显示定义的常量 <Target Name="ShowConstants" AfterTargets="AfterBuild">
<Warning Text="$(DefineConstants)" />
</Target>
这为 net5.0 构建提供了 TRACE;DEBUG;NET;NET5_0;NETCOREAPP
。
它不显示给定行的常量,但至少显示当前配置的常量。