Vielleicht dann ein TDictionary mit dem String als Schlüssel machen und als Wert einen Pointer auf den Getter bzw. Setter speichern?
Wenn es ein Pointer ist, ist es dann der selbe Pointer für alle Instanzen von meinem Daten-Objekt oder muss ich für jedes Daten-Objekt die Pointer speichern? Dann müsste ich wieder pro Instanz von meinem Daten-Objekt die Namensvergleiche ausführen um die Verbindung von Namen zum Pointer zu finden. Das würde keinen Vorteil bringen, da ich die Felder nur ein mal pro Objekt abfrage...