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
Loggare le query più lente con Entity Framework
Scrivere selettori CSS più semplici ed efficienti con :is()
Rendere le variabili read-only in una pipeline di Azure DevOps
Gestire i dati con Azure Cosmos DB Data Explorer
Generare la software bill of material (SBOM) in GitHub
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Creare una libreria CSS universale - Rotazione degli elementi
Effettuare il refresh dei dati di una QuickGrid di Blazor
Creare una libreria CSS universale: Nav menu
Collegare applicazioni server e client con .NET Aspire