Одним большим ограничением сегодня является то, что свойства должны быть изменяемыми, чтобы инициализаторы объектов работали: они функционируют, сначала вызывая конструктор объекта ( по умолчанию, в данном случае без параметров), а затем назначаем его установщикам свойств.
Свойства, доступные только для инициализации, исправляют это! Они вводят метод доступа init, который является вариантом метода доступа set, который можно вызвать только во время инициализации объекта:
Код: Выделить всё
public class Person
{
public string FirstName { get; init; }
public string LastName { get; init; }
}
Подробнее здесь: https://stackoverflow.com/questions/623 ... -c-sharp-9