我正在使用当前使用 C# 版本 7.3 的代码库,我正在尝试设置可为 null 的引用类型,但它会抛出错误并表示不支持此操作,请升级到 C#。
我想知道他们是否有任何后端解决方法,无需更新版本
NRT 是一项编译器功能,需要 C# 8 或更高版本 - 因为那是该功能首次存在的时候。然而,您收到此消息(而不仅仅是混淆的语法错误)的事实表明您可能已经拥有更新的编译器,并且它受到项目配置的限制 - 尝试使用
<LangVersion>8</LangVersion>
csproj 中的 (或上方)以暗示更高版本的语言。在几乎所有情况下,启用更新的编译器不会“破坏”现有代码 - 尽管您可能会收到一些消息,建议您为现有代码尝试新功能。如果您想要影响最小的更新,您可以隐藏这些消息,并在以后解决这些建议。