La prima versione di C# non ha shortcut per scrivere proprietà. Bisogna dichiarare il campo privato e scrivere getter e setter per leggerne e impostarne il valore. La versione 2 di C# ha semplificato notevolmente la scrittura di proprietà permettendo di scrivere getter e setter senza codice lasciando al compilatore il compito di generarlo. Quando questa forma contratta non è usabile, perchè dobbiamo scrivere del codice custom nel getter o nel setter, dobbiamo per forza usare la forma completa.
La versione 14 di C# semplifica la sintassi completa prevedendo la possibilità di scrivere codice nei getter e setter, ma senza dichiarare il campo privato. Al suo posto viene usata la parola chiave field. Inoltre, possiamo omettere codice nel getter o nel setter e il compilatore genererà il codice a seconda del metodo.
// Da C# 1 a C# 13
private string _value;
public string Value
{
get => _value;
set => _value = value ?? throw new ArgumentNullException(nameof(value));
}
//Da C# 14
public string Value
{
get;
set => field = value ?? throw new ArgumentNullException(nameof(value));
}In questo esempio, il getter viene generato dinamicamente dal compilatore, mentre nel setter rappresentiamo il campo privato usando la parola field.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzo delle Feature flag in ASP.NET Core
Validazione personalizzata nelle Minimal API di ASP.NET Core
Referenziare un package NuGet in una file based app .NET
Le cron expression di un workflow di GitHub
Importare repository da Bitbucket a GitHub Enterprise Cloud
Costruire endpoint SSE in ASP.NET Core
Creare un indice su una colonna JSON in SQL Server
Blazor e InputHidden in .NET 10
Utilizzare il Null conditional assignment di C# 14
Utilizzare i command service nei test con .NET Aspire
Ciclo di vita risorse con .NET Aspire


