使用 C# 9 的新记录类型,如何在对象的构造过程中注入自定义参数验证/空检查/等而无需重新编写整个构造函数?
类似的东西:
record Person(Guid Id, string FirstName, string LastName, int Age)
{
override void Validate()
{
if(FirstName == null)
throw new ArgumentException("Argument cannot be null.", nameof(FirstName));
if(LastName == null)
throw new ArgumentException("Argument cannot be null.", nameof(LastName));
if(Age < 0)
throw new ArgumentException("Argument cannot be negative.", nameof(Age));
}
}
Run Code Online (Sandbox Code Playgroud)