是否有可能在編譯時檢測C#的當前版本是否爲6或以上,並帶有預處理器指令?在編譯時檢測C#版本
我想要做這樣的事情:
var myVar = ...;
string name;
#if VERSION_6_OR_MORE
name = nameof(myVar);
#else
name = "myVar";
#endif
我使用Visual Studio 2015和C#6,這樣我就可以使用nameof()
。然而,其他人想要編譯此代碼可能會使用舊版本,其中nameof()
不存在。
我想使用預處理器指令,因此我可以將nameof()
保留在C#6中,但其他不使用該版本的人也可以編譯它。
你爲什麼想做這樣的事情嗎? – Fka
看看這個答案:[如何在C#中獲取當前產品版本?](http://stackoverflow.com/a/7382420/6741868)。 –
@KeyurPATEL OP需要.NET Framework版本 - 而不是構件的構建版本。 – Filburt