如何解决Intellisense 不反映可为空的引用类型
我有一个面向 .NET Standard 2.0 和 .NET 5.0 的 C# 程序(使用 <TargetFrameworks>
元素)。我在 .NET 5.0 上启用了可为空的引用类型。现在我得到了所有可以为空的引用类型警告,这正是我想要的。
但是,Intellisense 似乎没有显示正确的信息。例如,在 .NET 5.0 中,ToString()
现在返回 string?
。但 Intellisense 显示它返回 string
。
此外,如果我转到定义,它也会向我显示它返回类型 string
。
如何让 Intellisense 向我显示 .NET 5.0 签名?
解决方法
问题是,虽然我的目标是框架的两个版本,但 Intellisense 选择了一个从中获取信息。就我而言,它选择了第一个:
<TargetFrameworks>netstandard2.0;net5.0</TargetFrameworks>
如果我更改项目文件中框架的顺序,以便 .NET 5.0 优先:
<TargetFrameworks>net5.0;netstandard2.0</TargetFrameworks>
Intellisense 现在向我显示 .NET 5.0 上的数据。
所以 Intellisense 使用的框架默认为列出的第一个。但是,您也可以从工具栏中的下拉菜单中选择使用哪个框架。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。