Conversione di tipi generalizzata
Aggiornamento: novembre 2007
In .NET Framework sono forniti i seguenti due meccanismi per la conversione dei tipi di dati definiti dall'utente (o tipi personalizzati) ad altri tipi di dati.
Definizione di un convertitore di tipi per un tipo personalizzato mediante l'estensione della classe System.ComponentModel.TypeConverter e l'associazione del convertitore di tipi al tipo tramite un attributo System.ComponentModel.TypeConverterAttribute.
Implementazione dell'interfaccia System.IConvertible su un tipo personalizzato.
Nella tabella che segue sono messe in risalto le differenze tra questi due meccanismi.
![]() |
---|
È possibile fornire supporto per un tipo personalizzato in fase di progettazione solo se per tale tipo è stato definito un convertitore di tipi. |
Conversione mediante TypeConverter |
Conversione mediante IConvertible |
||||
---|---|---|---|---|---|
Utilizzabile sia in fase di progettazione che in fase di esecuzione. |
Utilizzabile solo in fase di esecuzione. |
||||
Utilizza la reflection ed è quindi più lenta della conversione fornita da IConvertible. |
Non utilizza la reflection. |
||||
Consente di eseguire conversioni a due vie: dal tipo personalizzato ad altri tipi di dati e da altri tipi di dati al tipo personalizzato. Un TypeConverter definito per Tipo, ad esempio, consente di operare conversioni da Tipo a Stringa e da Stringa a Tipo. |
Consente la conversione da un tipo personalizzato ad altri tipi di dati, ma non da altri tipi di dati al tipo personalizzato. |
||||
|
|
Per informazioni dettagliate sull'utilizzo di convertitori di tipi per l'esecuzione di conversioni, vedere System.ComponentModel.TypeConverter. Per informazioni sull'implementazione di un convertitore di tipi per fornire supporto in fase di progettazione per un tipo personalizzato, vedere Implementazione di un convertitore di tipi.
Vedere anche
Attività
Procedura: implementare un convertitore di tipi