小编Moh*_*jid的帖子

将 IConfiguration 绑定到 C# 记录类型

我想将配置绑定到记录类型。

这是配置类型的定义(它没有无参数构造函数):

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)

它按预期工作,但我宁愿使用记录的“单行”定义。这个用例的记录是正确的吗?

c# configuration c#-record-type

5
推荐指数
2
解决办法
197
查看次数

标签 统计

c# ×1

c#-record-type ×1

configuration ×1