Le proprietà automatiche sono comode finché non serve un minimo di logica: a quel punto bisognava dichiarare un campo privato e scrivere get e set completi. C# 14 introduce la parola chiave field, che rappresenta il campo di supporto generato dal compilatore.
Prima e dopo
// Prima
private string _name = "";
public string Name
{
get => _name;
set => _name = value?.Trim() ?? "";
}
// Con C# 14
public string Name
{
get;
set => field = value?.Trim() ?? "";
} = "";
Casi d'uso tipici
- Normalizzazione: spazi, maiuscole, formati.
- Validazione: lanciare un'eccezione se il valore non è accettabile.
- Notifica delle modifiche nelle app MVVM.
public int Quantity
{
get;
set
{
ArgumentOutOfRangeException.ThrowIfNegative(value);
field = value;
}
}
Attenzione ai nomi
Se una classe ha già un membro chiamato field, dentro gli accessor la parola chiave ha la precedenza. In quei casi si può usare @field o this.field per riferirsi al membro esistente; il compilatore segnala le ambiguità.
Il risultato è codice più corto, con la logica vicino alla proprietà e senza campi privati sparsi nella classe.
Commenti (0)
Nessun commento ancora.