微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 C# 中获取编译时常量

如何解决在 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。 它不显示给定行的常量,但至少显示当前配置的常量。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。