Udostępnij za pośrednictwem


Uogólnione konwersja typu

.NET Framework udostępnia dwa mechanizmy konwersji typów danych zdefiniowanych przez użytkownika (Typy niestandardowe) na inne typy danych:

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.

UwagaUwaga
A TypeConverter dla typu jest realizowane poza typu i skojarzoną z typem, stosując TypeConverterAttribute atrybut.
UwagaUwaga
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.

Zobacz też

Zadania

Jak: Konwerter typu wdrożenia

Inne zasoby

Rozszerzenie wsparcia w czasie projektowania