我正在構建一個程序,其中許多部分可能會根據某個版本進行更改,並且我希望在同一個源代碼中支持這些更改,能夠更改只需一兩行代碼即可在版本之間進行交換。C# - 在同一個源代碼中支持不同版本的程序
例如,讓我們說,我的方法試驗,以及版本1:
public int Test() {
int val = 1;
val += 100;
return val;
}
而且版本2:
public int Test() {
int val = 1;
val += 100;
val *= 2;
return val;
}
由於C#不支持使用的#define值(所以我可以使用#IF VERSION == 1例如,我認爲支持這一點的唯一方法是使用const,將其變成類似於:
public int Test() {
int val = 1;
val += 100;
if (version == 2)
val *= 2;
return val;
}
但是,如果這樣的變化很多,這會對性能造成影響嗎?或者C#會自動忽略無法訪問的代碼?還是有更好的方法來解決這個問題?
我希望我很清楚,在此先感謝。