Ich habe SalesMan
Klasse, die von User
Klasse geerbt wird und implementiert auch ISalesMan
Schnittstelle.Vererbung und Konvertierung von Objekten
public class SalesMan : User, ISalesMan
{
...
}
Ich brauche User
Objekte in SalesMan
Objekte zu konvertieren. Ich verstehe, dass direkte Gießen von User
Art von Objekten in SalesMan
Typ ist nicht möglich. Wie sollte ich die Konvertierung machen? Ich denke, zwei verschiedene Arten:
für
SalesMan
Klasse Erstellen Konstruktor,User
Parameter und initialisiert ein neuesSalesMan
Objekt auf der Grundlage der gegebenenUser
nimmt.Erstellen von neuen Verfahren für die
SalesMan
Klasse, dieUser
als Parameter und gibt ein neuesSalesMan
Objekt auf der Grundlage der gegebenenUser
Parameter.
... oder gibt es einen noch schlaueren Weg, um diese Art von Problem zu lösen?
Der im Artikel beschriebene "intelligente" Kopierkonstruktor funktioniert nur für Werttypfelder. Wenn viele Instanzen wie folgt erstellt werden müssen, ist Reflection möglicherweise zu langsam. –
Ich würde Option 1 nicht als Kopierkonstruktor bezeichnen. Sie haben normalerweise folgende Form: MyClass (MyClass o) Dies würde Conversion-Konstruktor in C++ genannt werden –
@Seb Rose Sie haben Recht - bearbeitet. –