我正在編寫一個程序,它與外部數據無法控制。這些數據會隨着時間而改變,但我希望我的程序能夠與其各種版本兼容。在其他語言中,我會使用#define指定版本,並使用#if來爲指定版本執行必要的操作。像版本相關代碼
#if VERSION >= 5
...
#endif
我知道這是不可能在C#中,因爲它只允許定義符號,但不能分配給他們的東西。所以我想知道,完成這個最好的方法是什麼?我可以定義VERSION_5之類的東西,但是我寧願能夠檢查特定的版本,尤其是範圍,這會很煩人。我能想到的下一個最好的東西是const,但是這必須在運行時檢查,這可能會使事情稍微減慢一點。我不確定它在我的項目中是否會引人注目,但我很擔心。
有沒有一個標準的方式來做到這一點在C#中?最好的方法是什麼?
版本合約.... –
爲什麼要使用預處理器?難道你不能在運行時使用普通的'if(version> = 5)'條件語句做出這樣的決定嗎? –
就像我說過的,我有點擔心它可能會對性能產生影響。這是一個服務器應用程序,幾乎每個傳入消息的結構都將取決於版本。 – Mars