Generics in .NET Framework
Aggiornamento: novembre 2007
I generics consentono di personalizzare un metodo, una classe, una struttura o un'interfaccia in base al tipo di dati preciso al quale l'oggetto dovrà essere applicato. Ad esempio, anziché utilizzare la classe Hashtable, che consente chiavi e valori di qualsiasi tipo, è possibile utilizzare la classe generica Dictionary<TKey, TValue> e specificare il tipo consentito per la chiave e quello consentito per il valore. Tra i vantaggi offerti dai generics sono inclusi un livello più elevato di riusabilità del codice e una maggiore indipendenza dai tipi.
In .NET Framework e negli spazi dei nomi System.Collections.Generic e System.Collections.ObjectModel vengono fornite alcune classi Collection generiche. Le interfacce generiche per l'implementazione di confronti di ordinamento e uguaglianza vengono fornite nello spazio dei nomi System, insieme ai tipi di delegati generici per gestori eventi, conversioni e predicati di ricerca.
Il supporto per i generics è stato aggiunto a System.Reflection per l'esame di tipi e metodi generici, a System.Reflection.Emit per la creazione di assembly dinamici che contengono tipi e metodi generici e a System.CodeDom per la creazione di grafici di origine che includono generics.
Visual Basic, C# e Visual C++ forniscono il supporto completo per la definizione e l'utilizzo di tipi generici. Common Language Runtime fornisce nuovi codici operativi e prefissi per il supporto di tipi generici in Microsoft Intermediate Language (MSIL).
In questa sezione
Cenni preliminari sui generics in .NET Framework
Viene descritta la funzionalità generics, le funzionalità che introduce in .NET Framework e il modo in cui viene esposta in Common Language Runtime.Insiemi generici in .NET Framework
Vengono descritte le classi Collection generiche e altri tipi generici in .NET Framework.Delegati generici per la modifica di matrici ed elenchi
Vengono descritti i delegati generici per conversioni, predicati di ricerca e azioni da eseguire sugli elementi di una matrice o di un insieme.Interfacce generiche
Vengono descritte le interfacce generiche che forniscono funzionalità comuni a famiglie di tipi generici.Vantaggi e limitazioni di generics
Vengono riepilogati i vantaggi e le restrizioni nell'utilizzo di generics.
Riferimenti
System.Collections.Generic
Viene fornito un catalogo della maggior parte dei tipi di insiemi generici forniti da .NET Framework, ad esempio le classi generiche List<T> e Dictionary<TKey, TValue>.System.Collections.ObjectModel
Sono riportati i tipi di insiemi generici aggiuntivi, ad esempio la classe generica ReadOnlyCollection<T>, utili per l'esposizione dei modelli a oggetti agli utenti delle classi.OpCodes
Per il supporto dei generics sono stati aggiunti nuovi codici operativi e prefissi, inclusi Stelem, Ldelem, Unbox_Any, Constrained e Readonly.
Sezioni correlate
Tipi di insieme comunemente utilizzati
Vengono fornite informazioni di riepilogo sulle funzionalità e sugli scenari di utilizzo dei tipi di insiemi presenti in .NET Framework, inclusi i tipi generici.Quando utilizzare insiemi generici
Vengono descritte le regole generali per determinare quando utilizzare i tipi di insiemi generici.Reflection e tipi generici
Viene illustrato come utilizzare la reflection per esaminare metodi e tipi generici.Procedura: definire un tipo generico con la reflection emit
Viene illustrato come generare assembly dinamici in cui sono inclusi metodi e tipi generici.Tipi generici in Visual Basic
Viene descritta la funzionalità generics per gli utenti Visual Basic. Sono inclusi gli argomenti relativi alle procedure per l'utilizzo e la definizione dei tipi generici.Introduzione ai generics (Guida per programmatori C#)
Viene fornita una panoramica sulla definizione e sull'utilizzo dei tipi generici per gli utenti C#.Overview of Generics in Visual C++
Viene descritta la funzionalità generics per gli utenti C++, incluse le differenze tra generics e modelli.