假设我有以下内容:
public record Settings
{
public int Setting1 { get; init; }
}
public record MoreSettings : Settings
{
public string Setting2 { get; init; }
}
...
var settings = new Settings { Setting1 = 1 };
// This is an error - CS0117
MoreSettings moreSettings = settings with { Setting2 = "A string setting" };
Run Code Online (Sandbox Code Playgroud)
有没有一种干净的方法来实现这一目标?我的语法错误吗?
显然,在这种人为的情况下,我可以手动复制每个基本属性。
var moreSettings = new MoreSettings { Setting1 = settings.Setting1, Setting2 = "A String!" };
Run Code Online (Sandbox Code Playgroud)
但是如果基本记录类型有很多属性呢?
c#-9.0 ×1