目前在我的代码中我有这个 if 语句:
if (System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.Major > 0)
{
//Stuff that will execute when we get out of beta
}
因为可以在编译时预测这条语句的结果,出于好奇,我想知道是否有办法用类似的东西替换它
#if MAJOR_VERION > 0
//Do stuff
#endif
此外,如果这是可能的,那么它是好的还是坏的 .net 实践?
最佳答案
您不能这样做 - 预处理器符号是“开”或“关”(已定义或未定义),而不是具有数值。
不过,您可以在适当的项目配置中轻松定义 BETA 预处理器符号。然后,您可以在结束测试版时将其删除。
(请注意,我不确定拥有这样的条件化代码通常是个好主意。如果您在测试结束之前不打算执行该代码,那么您将如何测试该代码? )
关于c# - 如何使用汇编版本的预处理器条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5235515/