代码之家  ›  专栏  ›  技术社区  ›  Macmade

.NET-哪些系统程序集被注释为可为空的引用类型?

  •  0
  • Macmade  · 技术社区  · 5 年前

    我正在尝试查找有关的.NET系统程序集的状态 C#8的特征。

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

    有没有办法检查是否为可为null的引用类型对程序集进行了注释?

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

    0 回复  |  直到 5 年前
        1
  •  2
  •   Rikki Gibson    5 年前

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

    metadata view of nullable-enabled System.Console

    至于状态页面,它可能会帮助您查看 this issue 在dotnet运行时repo中,它概述了某些系统程序集何时可以为null并进行注释。