如何使用汇编版本的预处理器条件?

Zet*_*Two 2 .net c#

目前在我的代码中我有这个if语句:

if (System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.Major > 0)
{
     //Stuff that will execute when we get out of beta
}
Run Code Online (Sandbox Code Playgroud)

由于可以在编译时预测这个语句的结果,我想知道,只是出于好奇,如果有办法用类似的东西替换它

#if MAJOR_VERION > 0
//Do stuff
#endif
Run Code Online (Sandbox Code Playgroud)

另外,如果这是可能的,那么它是好还是坏.net练习?

Jon*_*eet 5

你不能这样做 - 预处理器符号要么"开"或"关"(定义与否),而不是数字值.

您可以在适当的项目配置中轻松定义BETA预处理器符号.然后,您可以在测试结束时将其删除.

(我不确定这样的条件化代码通常是个好主意,请注意.如果在测试结束之前不打算执行该代码,那么您将如何测试该代码?)