Ich habe nach einer intuitiveren Möglichkeit zum Konvertieren zwischen Datentypen in C# gesucht (z. B. eine Aufzählung in einen String) und bin auf die Klasse TypeConverter gestoßen. Ich habe die Dokumentation darüber gelesen, wie man einen erstellt, und es scheint ziemlich einfach zu sein. Überschreiben Sie einfach ein paar Methoden von TypeConverter mit einer benutzerdefinierten Konvertierungslogik und fertig.
Allerdings Nachdem ich ihn erstellt habe, konnte ich nicht herausfinden, wie ich diesen Konverter tatsächlich verwenden soll. Jede Ressource, die ich gefunden habe, erklärt einfach, wie man eine erstellt, und der einzige Hinweis, den ich auf die tatsächliche Verwendung gesehen habe, ist das Dekorieren meiner Typklasse mit [TypeConverter(typeof(MyConverter))]. Das Problem ist, dass ich eigentlich keine Typklasse habe. Die Typen, in die ich konvertiere bzw. aus denen ich konvertiere, sind Enum und String, sodass ich keine Ahnung habe, wo ich den TypeConverter einfügen soll.
Hypothetisch gesehen: Wenn mein Typ eine benutzerdefinierte Klasse wäre und ich die Dekoration nur in der Klasse anbringen würde, in der sie definiert ist, wie würde ich dann den Typ konvertieren? Benutze ich den Typ einfach als String, wo immer ich will, und der Konverter erledigt seine Arbeit auf magische Weise, ohne dass ich dazu aufgefordert werde, oder muss ich ihn irgendwie dazu auffordern? Gibt es einen Bereich, in dem ich den Typkonverter verwenden kann, oder ist er überall zugänglich, wo sich der Typ befindet?
Ich hatte irgendwie erwartet, dass dies wie System.Convert funktioniert, aber das scheint nicht der Fall zu sein.
Wie wird TypeConverter tatsächlich verwendet und wie unterscheidet er sich von System.Convert.ToXXX()? ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post