以下代碼生成CS9056(“型別和別名不能命名為'檔案'”):
public sealed class file
{
}
這發生在我將 VS 升級到 2022 Preview 17.4.0 之后。以前用來編譯的代碼就好了。我找不到任何資訊表明它file現在是 C# 中的關鍵字。我嘗試使用 5.0SDK 翻譯構建但針對 .NET Framework 4.8 的解決方案。
我確實知道型別應該正常使用大寫名稱,并且我可以通過更改class file為來解決這個問題class @file,但這是在一個自動生成的檔案中,我無法更改生成器。并且應用一些sed技巧似乎是一種技巧。
為什么file在這里被視為關鍵字,它的用途是什么?我可以禁用它嗎?
uj5u.com熱心網友回復:
這是 VS 2022 17.4 中編譯器中引入的更改。file顯然現在是型別宣告的修飾符。
https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/break-changes/compiler break changes - dotnet
型別不能命名檔案 在 Visual Studio 2022 版本 17.4 中引入。從 C# 11 開始,型別不能命名為檔案。編譯器將報告所有此型別別名稱的錯誤。要解決此問題,必須使用 @ 轉義型別名稱和所有用法
...
您可以在相關的 csharplang 問題中了解有關此更改的更多資訊。
從檔案參考的附加鏈接:https ://github.com/dotnet/cshaplang/issues/6011
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/506667.html
上一篇:影像的PythonPost請求
