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
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
.NET Aspire per applicazioni distribuite
DevSecOps per .NET: dalla teoria alla pratica
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Arricchire l'interfaccia di .NET Aspire
Selettore CSS :has() e i suoi casi d'uso avanzati
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Generare una User Delegation SAS in .NET per Azure Blob Storage
Configurare e gestire sidecar container in Azure App Service
Integrare SQL Server in un progetto .NET Aspire
Utilizzare Containers in .NET Aspire
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Gli oggetti CallOut di Expression Blend 4.0
- Sfruttare una CDN con i bundle di ASP.NET
- Le DirectInk API nella Universal Windows Platform
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Inserire le news di Punto Informatico nel proprio sito


