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
Triggerare una pipeline su un altro repository di Azure DevOps
Configurare automaticamente un webhook in Azure DevOps
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Eseguire una ricerca avanzata per recuperare le issue di GitHub
Utilizzare WebJobs su Linux con Azure App Service
Ricevere notifiche sui test con Azure Load Testing
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Configurare e gestire sidecar container in Azure App Service
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Cancellare una run di un workflow di GitHub
Aggiornare a .NET 9 su Azure App Service
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API