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
Referenziare un @layer più alto in CSS
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Sfruttare al massimo i topic space di Event Grid MQTT
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
La gestione della riconnessione al server di Blazor in .NET 9
Cancellare una run di un workflow di GitHub
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Configurare e gestire sidecar container in Azure App Service
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Rendere le variabili read-only in una pipeline di Azure DevOps
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT