Tra le novità di C# 6 c'è la possibilità di utilizzare l'attributo nameof, per convertire in stringa il nome di una variabile o di un oggetto. Per capire esattamente l'utilità di nameof, osserviamo il seguente codice:
switch (e.PropertyName) { //caso con nameof case nameof(PropertyOne): { break }; //caso senza nameof case "PropertyTwo": { break;} }
Nel primo caso, rinominare la proprietà applicherà la modifica anche all'interno del case, fattore che garantirà l'integrità del codice. Nel secondo caso, invece, la ridenominazione non avverrà, lasciando il codice in una situazione di inconsistenza.
Un altro caso in cui potrebbe risultare utile nameof è quando viene scatenata una ArgumentNullException: potrebbe esserci utile capire su quale argomento si sia verificato l'errore.
(if number == null) throw new ArgumentNullException(nameof(number));
E' possibile usare nameof anche con proprietà di oggetti, come mostra il seguente codice:
nameof(school.Year.Student)
In questo caso verrà stampato solamente stampato solamente il nome della classe, cioè Student.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Potenziare Azure AI Search con la ricerca vettoriale
Code scanning e advanced security con Azure DevOps
Gestire undefined e partial nelle reactive forms di Angular
Configurare dependabot per aggiornare le dipendenze di terze parti con GitHub Actions
Generare un hash con SHA-3 in .NET
Gestire il colore CSS con HWB
Le novità di Angular: i miglioramenti alla CLI
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Eseguire operazioni sui blob con Azure Storage Actions