我正在尝试查找有关 C# 8 的可空引用类型功能的 .NET 系统程序集的状态。
无注释的代码或使用早期语言版本编写的代码将被视为“null-oblivious”,这意味着编译器不会生成任何有关可空性的警告。
当涉及到从可空启用上下文中使用系统程序集时,这确实很烦人,因为无法判断是否需要空检查。
是否有任何方法可以检查程序集是否注释为可为空的引用类型?
或者有一些关于此的官方状态页面吗?
最佳答案
在 VS 16.10 中,您应该能够通过在代码中使用的程序集中的符号上使用 go-to-definition 来查看外部程序集中是否启用了可空性。如果启用了可为空性,您应该会在文件顶部看到 #nullable enable
。当使用最新的 C# 扩展时,这似乎也适用于 VS Code。
请注意,在 VS 中,当前需要在选项 -> 文本编辑器 -> C# -> 高级中禁用“导航到反编译源(实验)”。
就状态页面而言,它可能会帮助您查看 this issue在 dotnet 运行时存储库中,其中概述了某些系统程序集何时被可空注释。
关于c# - .NET - 哪些系统程序集被注释为可空引用类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68292715/