Freigeben über


Verallgemeinerte Typkonvertierung

Aktualisiert: November 2007

.NET Framework stellt die beiden folgenden Mechanismen zum Konvertieren von benutzerdefinierten Datentypen in andere Datentypen zur Verfügung:

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.

Hinweis:

Ein TypeConverter für einen Typ wird außerhalb des Typs implementiert und mit dem Typ durch Anwenden eines TypeConverterAttribute-Attributs verbunden.

Hinweis:

IConvertible wird über einen benutzerdefinierten Typ implementiert. Um einen Typ zu konvertieren, muss ein Benutzer des Typs eine Konvertierungsmethode (des IConvertible-Vertrags) für diesen Typ aufrufen.

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

Weitere Ressourcen

Erweitern der Entwurfszeitunterstützung