loading experience

C#

C# 14: la parola chiave field nelle proprietà

Validare o trasformare il valore di una proprietà senza dichiarare a mano il campo privato di supporto.

C# 14: la parola chiave field nelle proprietà

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.

La parola chiave field elimina il campo di supporto scritto a mano.
La parola chiave field elimina il campo di supporto scritto a mano.

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.

Lascia un commento