Molto spesso capita di avere attributi di cui dobbiamo impostare una proprietà di tipo Type. A partire dalla versione 11, C# permette di creare attributi che accettano un parametro generico sostituendo la proprietà di tipo Type.
public class GenericAttribute<T> : Attribute { }
public class MyClass
{
[MyGenericAttribute<string>()]
public void Method()
{
//code
}
}Quando usiamo questa funzionalità dobbiamo tenere presente che ci sono alcune limitazioni. La prima è che visto che gli attributi devono essere completi già a design time, non possiamo usare parametri generici ereditati dalla classe. Per fare un esempio, il seguente codice non è valido.
public class GenericType<T>
{
[GenericAttribute<T>()] // Errore
public void Method()
{
//code
}
}Un'altra limitazione è che alcuni tipi non sono direttamente supportati come dynamic, i tipi nullabili e le tuple. Questi possono essere sostituiti con tipi simili, come object per dynamic, string per string? (e lo stesso per tutti i tipi nullable), e ValueTuple<> per le tuple.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare una qualunque lista per i parametri di tipo params in C#
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Creare una libreria CSS universale: Clip-path
Recuperare le subissue e il loro stato di completamento in GitHub
Pubblicare un MCP Server in GitHub MCP Registry
Supportare la sessione affinity di Azure App Service con Application Gateway
Combinare Container Queries e Media Queries
Gestire codice JavaScript con code splitting e lazy loading
La gestione della riconnessione al server di Blazor in .NET 9
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Generare una User Delegation SAS in .NET per Azure Blob Storage
I più letti di oggi
- Microsoft Security Bulletin MS02-054
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Rilasciato l'aggiornamento del Service Pack 1 di Visual Studio 2005 per Windows Vista
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!


