Quelle: dotnetpro
Einen objektorientierten Mapper selbst erstellen, Teil 1 16.08.2021, 00:00 Uhr

Landkarte zur Typumwandlung

Mit Reflection und Attributen Eigenschaftswerte zwischen Objekten übertragen.
Das deutsche Wort „Mappe“ und das englische „Map“ ­haben nicht nur von der Schreibweise her Gemeinsam­keiten. Mappe bedeutete im Frühneuhochdeutschen „Um­schlag(tuch) für Landkarten“, so der Duden. Der Anglophile nennt seine Landkarte „map“. „To map“ lässt sich mit „abbilden“ übersetzen. Um die Abbildung eines Objekts auf ein anderes soll es im Folgenden gehen. In diesem ersten Teil werden Attribute und reichlich Reflection [1] zum Einsatz kommen, ein zweiter Teil wird dann untersuchen, inwieweit sich mit C# 9 und Codegeneratoren Alternativen ergeben.
Es gibt zwar schon reichlich OO-Mapper, aber so richtig wollte keine der vorhandenen Lösungen zum hier geschilderten Problem passen. Die untersuchten Podukte versprachen keinen wesentlichen Gewinn im Vergleich mit einem Mapping „zu Fuß“, also fiel die Entscheidung, einen eigenen OO-Mapper zu entwickeln. Der Aufwand erschien in etwa gleich, inklusive zu erwartender Erweiterungen und Änderungen, sodass eine eigene Lösung den unbestreitbaren Vorteil bot, bei notwendigen Änderungen flexibler reagieren zu können.

dotnetpro

Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde
  • 2 Monate Gratis testen
  • Über 4.000 qualifizierte Fachartikel
  • Auf jedem Gerät verfügbar