これまでは Positional Record の各フィールドに属性を付与することができませんでしたが、.NET 5 RC 1 から可能になりました。
これで、各フィールドの入力検証などをおこなうことができるようになります。
// .NET 5 RC 1 以降
using System.Text.RegularExpressions;
record Age([Range(0, 200)] int Value);
record NamePhonetic(
[RegularExpression(@"^\p{IsKatakana}*$"), ErrorMessage = "Must only Katakana."]
string LastName,
[RegularExpression(@"^\p{IsKatakana}*$"), ErrorMessage = "Must only Katakana."]
string FirstName);
おわり。