Verallgemeinerte Typkonvertierung
Aktualisiert: November 2007
.NET Framework stellt die beiden folgenden Mechanismen zum Konvertieren von benutzerdefinierten Datentypen in andere Datentypen zur Verfügung:
Definition eines Typkonverters für einen benutzerdefinierten Typ durch Erweitern der System.ComponentModel.TypeConverter-Klasse und Verbinden des Typkonverters mit dem Typ über das System.ComponentModel.TypeConverterAttribute-Attribut.
Das Implementieren der System.IConvertible-Schnittstelle auf einem benutzerdefinierten Typ.
Folgende Tabelle hebt die Unterschiede zwischen diesen beiden Mechanismen hervor.
Hinweis: |
---|
Entwurfszeitunterstützung steht für einen benutzerdefinierten Typ nur zur Verfügung, wenn dieser über einen für ihn definierten Typkonverter verfügt. |
Konvertierung mit TypeConverter |
Konvertierung mit IConvertible |
||||
---|---|---|---|---|---|
Kann sowohl zur Entwurfszeit als auch zur Laufzeit verwendet werden. |
Kann nur zur Laufzeit verwendet werden. |
||||
Verwendet Reflektion und ist daher langsamer als die Konvertierung mit IConvertible. |
Verwendet keine Reflektion. |
||||
Ermöglicht bidirektionale Typkonvertierungen von benutzerdefinierten Typen in andere Datentypen und umgekehrt. Ein Beispiel: Ein für MyType definierter TypeConverter ermöglicht die Konvertierung von MyType in String und von String in MyType. |
Ermöglicht die Konvertierung von benutzerdefinierten Typen in andere Datentypen, jedoch nicht in umgekehrter Richtung. |
||||
|
|
Details über das Verwenden von Typkonvertern zum Durchführen von Konvertierungen finden Sie unter System.ComponentModel.TypeConverter. Informationen über das Implementieren eines Typkonverters für die Bereitstellung von Entwurfszeitunterstützung für einen benutzerdefinierten Typ finden Sie unter Implementieren eines Typkonverters.
Siehe auch
Aufgaben
Gewusst wie: Implementieren eines Typkonverters