Share via


Verallgemeinerte Typkonvertierung

.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.

Weitere Informationen zur Konvertierung mithilfe von Typkonvertern 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