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
Gestire trasferimenti cloud con Azure Storage Mover
Controllare la velocità di spostamento su una pagina HTML
Proteggere l'endpoint dell'agente A2A delle Logic App
Esporre un server MCP esistente con Azure API Management
Applicare il progressive enhancement in applicazioni web
Creare un indice su una colonna JSON in SQL Server
Self-healing degli unit test con Copilot in GitHub
Abilitare il rolling update su Azure Functions flex consumption
Esporre un server MCP con Azure API Management
Utilizzare zizmor per rendere più sicuri i workflow di GitHub
Integrare Agenti A2A in Azure API Management
Validazione personalizzata nelle Minimal API di ASP.NET Core


