【问题标题】:.NET - Which system assemblies are annotated for nullable reference types?.NET - 哪些系统程序集被注释为可空引用类型?
【发布时间】:2021-07-07 20:36:19
【问题描述】:

我正在尝试查找有关 C# 8 的可为空引用类型功能的 .NET 系统程序集的状态。

未带注释的代码或使用早期语言版本编写的代码将被视为“null-oblivious”,这意味着编译器不会生成任何关于可空性的警告。

当涉及到在可空的启用上下文中使用系统程序集时,这真的很烦人,因为无法判断是否需要进行空检查。

有什么方法可以检查程序集是否针对可空引用类型进行了注释?

或者有关于这个的官方状态页面吗?

【问题讨论】:

    标签: c# .net windows .net-assembly nullable-reference-types


    【解决方案1】:

    在 VS 16.10 中,您应该能够通过对您在代码中使用的程序集的符号使用 go-to-definition 来查看是否在外部程序集中启用了可空性。如果启用了可空性,您应该会在文件顶部看到 #nullable enable。使用最新的 C# 扩展时,这似乎也适用于 VS Code。

    请注意,在 VS 中,这目前需要在选项 -> 文本编辑器 -> C# -> 高级中禁用“导航到反编译源(实验性)”。

    就状态页面而言,它可能会帮助您查看 dotnet 运行时存储库中的 this issue,其中概述了某些系统程序集何时可以为空注释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-24
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2011-06-15
      相关资源
      最近更新 更多