Этапы воспроизведения
Я создал базовое веб-приложение в Visual Studio. Программа program.cs включает в себя:
Код: Выделить всё
var builder = WebApplication.CreateBuilder(args);
var options = builder.Configuration.GetSection("CustomOptions").Get();
builder.Services.AddControllers();
var app = builder.Build();
app.UseHttpsRedirection();
app.UseAuthorization();
app.MapControllers();
app.Run();
public record Options
{
public string? EnableFeatureX { get; init; }
public IEnumerable Users { get; init; } = [];
}
public record User
(
int Id,
string? Name
);
Код: Выделить всё
{
"Logging":
{
"LogLevel":
{
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
}
},
"AllowedHosts": "*",
"CustomOptions":
{
"EnableFeatureX": null,
"Users": [
{ "Id": 1, "Name": "Noah" },
{ "Id": 2, "Name": null }
]
}
}
Я ожидаю увидеть, что объект "options" при запуске имеет две записи в Users IEnumerable: одну с идентификатором: 1, имя: "Noah" и одну с идентификатором: 2, имя: null
Фактическое поведение
Только объект "options" имеет одну запись, идентификатор: 1, имя: "Ной"
Подробнее здесь: https://stackoverflow.com/questions/798 ... has-missin
Мобильная версия