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
.NET Conference Italia 2024
Eseguire una query su SQL Azure tramite un workflow di GitHub
Usare una container image come runner di GitHub Actions
Ordine e importanza per @layer in CSS
Migliorare l'organizzazione delle risorse con Azure Policy
Hosting di componenti WebAssembly in un'applicazione Blazor static
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Cambiare la chiave di partizionamento di Azure Cosmos DB
Limitare le richieste lato server con l'interactive routing di Blazor 8
Generare un hash con SHA-3 in .NET
Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core
Creare un webhook in Azure DevOps