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
Trasformare qualsiasi backend in un servizio GraphQL con Azure API Management
Migrare una service connection a workload identity federation in Azure DevOps
Eseguire attività con Azure Container Jobs
Configurare policy CORS in Azure Container Apps
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
C# 12: Cosa c'è di nuovo e interessante
Effettuare il binding di date in Blazor
Gestire undefined e partial nelle reactive forms di Angular
Potenziare Azure AI Search con la ricerca vettoriale
Eseguire operazioni sui blob con Azure Storage Actions
I più letti di oggi
- Impostare un elemento come ridimensionabile tramite CSS
- Proteggersi dagli attacchi di Open Redirect in ASP.NET Core MVC
- Personalizzare l'errore del rate limiting middleware in ASP.NET Core
- Accedere alla console di una Azure Container App
- Modificare i metadati nell'head dell'HTML di una Blazor Web App
- Gli oggetti CallOut di Expression Blend 4.0
- SQL Server 2005 December CTP
- Sfruttare le nuove tipologie di input di HTML5 con ASP.NET 4.0
- Upload da una pagina web con Dundas Upload