Quando aggiungiamo un attributo su un metodo, può capitare di dover passare, come parametro dell'attributo, il nome di un parametro del metodo. Fino a C# 10, il nome del parametro può essere specificato solamente passando la stringa e questo comporta lo svantaggio che in caso di cambio del nome del parametro senza aggiornamento della stringa nell'attributo, non ci accorgiamo dell'errore se non a run time.
Con l'avvento di C# 11, possiamo utilizzare il metodo nameof per referenziare i nomi dei parametri del metodo su cui applichiamo un attributo. Il prossimo esempio mostra il codice necessario fino a C# 10 e quello da scrivere con C# 11.
//C# 10 [MyCustomAttribute("myparam"))] public void MyMethod(string myparam) { } //C# 11 [MyCustomAttribute(nameof(myparam))] public void MyMethod(string myparam) { }
Grazie all'utilizzo di nameof possiamo ottenere un controllo in fase di compilazione e accorgerci subito di eventuali errori.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Configurare policy CORS in Azure Container Apps
Evitare il flickering dei componenti nel prerender di Blazor 8
Utilizzare Model as a Service su Microsoft Azure
Usare le collection expression per inizializzare una lista di oggetti in C#
Eseguire attività pianificate con Azure Container Jobs
Creare un'applicazione React e configurare Tailwind CSS
Eseguire una query su SQL Azure tramite un workflow di GitHub
Reactive form tipizzati con FormBuilder in Angular
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Utilizzare la session affinity con Azure Container Apps
Potenziare Azure AI Search con la ricerca vettoriale
Evitare la command injection in un workflow di GitHub
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