簡體   English   中英

您可以為 C# 版本添加預處理器指令嗎?

[英]Can you add a preprocessor directive for a C# version?

有沒有辦法添加一個預處理器指令來比較編譯器使用的 C# 版本?

例如 :

public T MyMethod<T>()
{
#if CS_7
    return default; // Feature 'default literal' is not available in C# 7.0. Please use 7.1 or greater.
#else
    return null; // Ignore the fact that this won't work, it isn't the point of the question
#endif
}

.NET 版本是通往這里的路嗎? 不會有同一個項目使用的編譯器不同的情況嗎? (即如果不同的員工使用不同版本的 Visual Studio)

顯然你不能,但使用的 C# 版本取決於項目中使用的框架版本( 每個框架的版本列表),它提供默認的 C# 版本,除非通過類似屬性的其他方式手動配置(請參閱鏈接文檔)。

因此,您需要 C# 版本預處理器指令的大多數情況可以通過添加框架預處理器指令或使用項目文件中的屬性強制項目本身中的特定 C# 版本來解決。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM