Wie werden Eigenschaften von zwei verschiedenen Objekten abgebildet?

8

Ich möchte wissen, wie man Felder von zwei verschiedenen Objekten abbildet und ihm die Werte zuweist.

Beispiel:

%Vor%

Jetzt habe ich ein List-Objekt. Ich möchte die Werte der Klasse "manager" zuweisen. Jeder automatische Weg, dies zu tun. Ich kann es explizit tun und Werte zuweisen. Aber mein Objekt ist sehr groß, das ist das Problem. Ich möchte auch keine Tools von Drittanbietern verwenden.

Hinweis: Es kann kein Präfix für den Manager haben. Es kann alles sein. (Beispiel: mgrID kann wie mgrCode sein)

    
Murugavel 16.07.2013, 11:32
quelle

2 Antworten

14

Sie könnten die Reflektion dafür verwenden, auch wenn Sie die Eigenschaft casing ignorieren (beachten Sie employee.ID vs. manager.MgrId ):

%Vor%

Wenn Sie das Präfix Mgr nicht kennen, können Sie nur nach Suffixen suchen:

%Vor%

Und eine sehr enge und unpraktische Annahme : Zuordnung basierend auf der Eigenschaftsreihenfolge (wenn Sie erwarten, dass die zwei Typen Eigenschaften in der gleichen Reihenfolge und Nummer haben, der einzige Unterschied sind die Eigenschaftsnamen ). Ich würde niemandem empfehlen, es im wirklichen Leben zu benutzen, aber dennoch, hier ist es (um es noch %Vor%     

Alex Filipovici 16.07.2013, 11:45
quelle
10

Verwenden Sie Reflektion oder AutoMapper . Ich empfehle letzteres, da das Schreiben neuen Codes verschwenderisch ist, wenn es keinen Zweck hat.

%Vor%

Wenn die Eigenschaften keine idiomatische Quellenkennung haben, verwenden Sie die Projektion von AutoMapper.

%Vor%     
Romoku 16.07.2013 11:42
quelle

Tags und Links