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
Creare un'applicazione React e configurare Tailwind CSS
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Eseguire i worklow di GitHub su runner potenziati
Cancellare una run di un workflow di GitHub
Creazione di plugin per Tailwind CSS: espandere le Funzionalità del Framework
Utilizzare un service principal per accedere a Azure Container Registry
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Ottenere un token di accesso per una GitHub App
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Configurare lo startup di applicazioni server e client con .NET Aspire
Recuperare l'ultima versione di una release di GitHub
Creare alias per tipi generici e tuple in C#