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
Eseguire query verso tipi non mappati in Entity Framework Core
Assegnare un valore di default a un parametro di una lambda in C#
Le novità di Angular: i miglioramenti alla CLI
Implementare il throttling in ASP.NET Core
Configurare il nome della run di un workflow di GitHub in base al contesto di esecuzione
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Utilizzare i primary constructor in C#
Utilizzare QuickGrid di Blazor con Entity Framework
Eseguire operazioni sui blob con Azure Storage Actions
Estrarre dati randomici da una lista di oggetti in C#
Routing statico e PreRendering in una Blazor Web App