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
Configurare OpenTelemetry per Application Insights su ASP.NET Core
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Utilizzare i command service nei test con .NET Aspire
Integrazione di Copilot in .NET Aspire
Evidenziare una porzione di testo in un pagina dopo una navigazione
Creare comandi nella dashboard .NET Aspire
Integrare il Docker Model Runner in un workflow di GitHub
Keynote .NET Conference Italia 2025
Evitare la compressione degli artefatti in un workflow di GitHub
Ciclo di vita risorse con .NET Aspire
Integrare OpenTelemetry direttamente in Azure Monitor
Gestione dei codeowners in GitHub


