Uogólnione konwersja typu
.NET Framework udostępnia dwa mechanizmy konwersji typów danych zdefiniowanych przez użytkownika (Typy niestandardowe) na inne typy danych:
Definiowanie konwertera typu dla typu niestandardowe przez rozszerzenie System.ComponentModel.TypeConverter klasy i kojarzenie konwertera typu z typu za pomocą System.ComponentModel.TypeConverterAttribute atrybut.
Wykonawczych System.IConvertible interfejsu na typ niestandardowy.
W poniższej tabeli wymieniono różnice między te dwa mechanizmy.
[!UWAGA]
Podczas projektowania można wsparcia dla niestandardowego typu tylko wtedy, gdy ma zdefiniowanego dla niego konwertera typu.
Konwersję używając TypeConverter |
Konwersję używając element IConvertible |
---|---|
Może być używany zarówno w czasie projektowania, jak i w czasie wykonywania. |
Mogą być używane tylko w czasie wykonywania. |
Używa przed powielaniem w protokole; Dlatego jest wolniejsza niż konwersji włączone przez element IConvertible. |
Nie używać odbicia. |
Umożliwia konwersje typów dwukierunkowe z niestandardowego typu do innych typów danych i z innych typów danych na typ niestandardowy.Na przykład TypeConverter zdefiniowane MyType umożliwia konwersje od MyType do String i ciąg do MyType. |
Dozwolona konwersja z typu niestandardowego do innych typów danych, ale nie z innych typów danych na typ niestandardowy. |
Uwaga
A TypeConverter dla typu jest realizowane poza typu i skojarzoną z typem, stosując TypeConverterAttribute atrybut.
|
Uwaga
Element IConvertible jest implementowana przez typ niestandardowy.Aby dokonać konwersji typu, użytkownika typu wywołuje metodę konwersji (z element IConvertible umowy) typu.
|
Szczegółowe informacje na temat przy użyciu typu konwertery do przeliczania, zobacz System.ComponentModel.TypeConverter.Aby uzyskać informacje o implementowaniu konwertera typu zapewnia obsługę projektowania niestandardowych typu, zobacz wykonawczych konwertera typu.