самая простая и краткая форма для написания свойства на 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 нет ничего нового, что улучшало бы это.