我正在编写一个程序,它与外部数据无法控制。这些数据会随着时间而改变,但我希望我的程序能够与其各种版本兼容。在其他语言中,我会使用#define指定版本,并使用#if来为指定版本执行必要的操作。像版本相关代码
#if VERSION >= 5
...
#endif
我知道这是不可能在C#中,因为它只允许定义符号,但不能分配给他们的东西。所以我想知道,完成这个最好的方法是什么?我可以定义VERSION_5之类的东西,但是我宁愿能够检查特定的版本,尤其是范围,这会很烦人。我能想到的下一个最好的东西是const,但是这必须在运行时检查,这可能会使事情稍微减慢一点。我不确定它在我的项目中是否会引人注目,但我很担心。
有没有一个标准的方式来做到这一点在C#中?最好的方法是什么?
版本合约.... –
为什么要使用预处理器?难道你不能在运行时使用普通的'if(version> = 5)'条件语句做出这样的决定吗? –
就像我说过的,我有点担心它可能会对性能产生影响。这是一个服务器应用程序,几乎每个传入消息的结构都将取决于版本。 – Mars