我想将配置绑定到记录类型。
这是配置类型的定义(它没有无参数构造函数):
public record AppConfiguration(string ConnectionString);
Run Code Online (Sandbox Code Playgroud)
这是示例Main方法:
public static void Main(string[] args)
{
var configuration = new ConfigurationBuilder().AddJsonFile("appsettings.json").Build();
AppConfiguration appConfig = new(); // error
configuration.GetSection("app").Bind(appConfig);
}
Run Code Online (Sandbox Code Playgroud)
如果我将定义转换为:
public record AppConfiguration
{
public string ConnectionString {get; init;}
}
Run Code Online (Sandbox Code Playgroud)
它按预期工作,但我宁愿使用记录的“单行”定义。这个用例的记录是正确的吗?