самая простая и краткая форма для написания свойства на C#9 и C #10

Какова самая простая и краткая форма написания свойства следующим образом, учитывая особенности C#9 или даже C#10?

Возможно ли это без использования поля поддержки?

      string fName;
public string Name { get { return fName; } set { SetPropertyValue<string>(nameof(Name), ref fName, value); } }

1 ответ

      public string Name {get;}

Должно быть самое простое, что вы можете сделать.

Если вам нужна поддержка PropertyChanged WPF, я обычно

      private string name;
public string Name {get => name; set => Set(ref name, value); }
private void Set<T>(ref T field, T value, [CallerMemberName]string caller = "")
{
    field = value;
    PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(caller ));
}

При необходимости добавьте сравнение внутри метода Set, чтобы вызывать событие только в том случае, если новое значение не равно старому значению. Насколько я знаю, в С# 9 или 10 нет ничего нового, что улучшало бы это.

Другие вопросы по тегам