c# - 使用 C# 9 记录添加评论的正确方法是什么?
问题描述
在启用 Nullable 的 C# 9 记录中添加注释的正确方法是什么?
如果我尝试
public record Person
{
/// <summary>
/// Gets the first name.
/// </summary>
public string FirstName { get; init; }
/// <summary>
/// Gets the last name.
/// </summary>
public string LastName { get; init; }
}
我收到警告。
退出构造函数时,不可为空的属性“FirstName”必须包含非空值。考虑将属性声明为可为空。
如果我尝试
public record Person(string firstName, string lastName);
我收到警告:
缺少公开可见类型或成员“Person.firstName”的 XML 注释
这也不起作用。
/// <summary>
/// Person.
/// </summary>
/// <param name="FirstName">Get the first name.</param>
/// <param name="LastName">Get the last name.</param>
public record Person(string FirstName, string LastName);
发出警告:
XML 注释有一个用于“FirstName”的参数标记,但没有该名称的参数
解决方案
对于第一种情况,您收到的警告与文档注释无关。您有一个不可为空的属性,其默认值等于null
。这就是你收到警告的原因。
对于第二种情况,这是编译器中的一个已知问题,已在dotnet/roslyn#49134中修复。
根据@matt-johnson-pint 评论进行编辑,这已通过 Visual Studio 16.9 和 .NET 5.0.200 SDK 修复
推荐阅读
- graphql - 无法读取未定义的属性“重新获取”
- python - AssersionError:Torch 未在启用 CUDA 的情况下编译
- sql - MS Access SQL - 从查询中删除重复项
- javascript - 在 Webpack 管道期间保存已编译的 TypeScript 文件
- javascript - JavaScript TypeError:无法为滚动读取 null 的属性“样式”
- c++ - 如何将参数列表存储到向量?
- flutter - 制作一个 Flutter 应用程序,每当有新通知发布在大学主页上时,它都会提供推送通知
- pandas - Pandas 真假匹配
- vb.net - 我在哪里可以找到缺失的设计视图?
- reactjs - 如何修复错误类型 Item[] | undefined 不能使用 react 和 typescript 分配给 Item[] 类型?