C# 获取C中的编译时间常数#

C# 获取C中的编译时间常数#,c#,msbuild,csc,C#,Msbuild,Csc,在C#中,您可以定义编译时常量,可以通过检查这些常量来配置编译 #定义我的常数 #如果我的妻子 ... #否则 ... #恩迪夫 但我找不到一种方法来查看在当前行中定义了哪些常量。 我需要像这样的东西 #警告定义的_常量将给我调试;NET5\u 0不考虑其他因素,只需设置一个字段即可 #if MY_CONST public static bool IsMyConst = true; #else public static bool IsMyConst = false; #endif

在C#中,您可以定义编译时常量,可以通过检查这些常量来配置编译

#定义我的常数
#如果我的妻子
...
#否则
...
#恩迪夫
但我找不到一种方法来查看在当前行中定义了哪些常量。 我需要像这样的东西
#警告定义的_常量
将给我
调试;NET5\u 0

不考虑其他因素,只需设置一个字段即可

#if MY_CONST
   public static bool IsMyConst = true;
#else
   public static bool IsMyConst = false;
#endif

添加胡椒粉和盐调味。

过了一段时间,我发现可以通过MSBuild和


给出
跟踪;调试;净额;NET5_0;NETCOREAPP
用于net5.0版本。
它不显示给定行的常数,但至少显示当前配置的常数。

请问您这样做的目的是什么?另外:一个完整的列表会很长而且很难辨认,通常你只需要检查一个特定的变量就可以了。我无法想象为什么人们会想知道所有现有的列表……是的,在你得到列表后,你该如何处理该列表?因为定义是预编译器指令,可能被设置为编译器参数,我不确定谈论“在当前行定义”是否有意义。对于编译单元来说,在编译时这可能是有意义的。