Intellisense 不反映可为空的引用类型
Intellisense doesn't reflect nullable reference types
我有一个面向 .NET Standard 2.0 和 .NET 5.0 的 C# 程序(使用 <TargetFrameworks>
元素)。我在 .NET 5.0 上启用了可空引用类型。现在我得到了所有可空引用类型警告,这就是我想要的。
但是,Intellisense 似乎没有显示正确的信息。例如,在 .NET 5.0 ToString()
现在 returns string?
。但是 Intellisense 向我展示了它 returns string
.
此外,如果我转到定义,那也会向我显示 returns 输入 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使用的框架默认是第一个列出的。但是,您还可以 select 从工具栏的下拉列表中使用哪个框架。
我有一个面向 .NET Standard 2.0 和 .NET 5.0 的 C# 程序(使用 <TargetFrameworks>
元素)。我在 .NET 5.0 上启用了可空引用类型。现在我得到了所有可空引用类型警告,这就是我想要的。
但是,Intellisense 似乎没有显示正确的信息。例如,在 .NET 5.0 ToString()
现在 returns string?
。但是 Intellisense 向我展示了它 returns string
.
此外,如果我转到定义,那也会向我显示 returns 输入 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使用的框架默认是第一个列出的。但是,您还可以 select 从工具栏的下拉列表中使用哪个框架。