Безопасно ли использовать свойства init C# 9 для привязки конфигурации (IOptions)?C#

Место общения программистов C#
Anonymous
Безопасно ли использовать свойства init C# 9 для привязки конфигурации (IOptions)?

Сообщение Anonymous »

Я заметил, что новые свойства init в C# версии 9, похоже, привязываются при использовании в строго типизированных классах параметров (шаблон параметров).
Другими словами, это работает :

Код: Выделить всё

    class SomeSettings
{
public string FirstSetting { get; init; }
public bool SecondSetting { get; init; }
}

...

configuration.GetSection(nameof(SomeSettings)).Get();
Но есть ли какие-либо потенциальные «подводные камни» или ограничения, о которых нам следует знать? (При использовании либо с прямой привязкой, либо при внедрении как IOptions с помощью Configure().)
Признаюсь, моя мотивация в том, что я подумываю о привязке и регистрации этих экземпляров непосредственно во время конфигурации как синглтоны, без надоедливых IOptions. Обертка . Единственная причина, по которой я до сих пор этого не сделал, — это возможность изменения свойств, но init, кажется, решает эту проблему.

Подробнее здесь: https://stackoverflow.com/questions/651 ... g-ioptions

Вернуться в «C#»