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
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Utilizzare una qualunque lista per i parametri di tipo params in C#
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Definire il colore di una scrollbar HTML tramite CSS
Supportare la sessione affinity di Azure App Service con Application Gateway
Abilitare .NET 10 su Azure App Service e Azure Functions
Dallo sviluppo locale ad Azure con .NET Aspire
Le cron expression di un workflow di GitHub
Abilitare il rolling update su Azure Functions flex consumption
Esporre tool MCP con Azure Functions
Selettore CSS :has() e i suoi casi d'uso avanzati
Utilizzare Intersect e Except per filtrare set di dati in TSql
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Gli oggetti CallOut di Expression Blend 4.0
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Sfruttare una CDN con i bundle di ASP.NET
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Le DirectInk API nella Universal Windows Platform
- Esaminare documenti XML con namespace utilizzando LINQ to XML


