Wie serialisieren Schnittstelle eingegeben Mitglied

Habe ich eine Klasse, die hat eine Eigenschaft, die definiert ist als Schnittstelle.
Nutzer meiner Klasse zuweisen können, um diese Eigenschaft einer Klasse Umsetzung, die die Schnittstelle implementiert.
Ich möchte in der Lage sein, um dieses zu laden Klasse Zustand aus einer Textdatei auf der Festplatte. Benutzer sollten in der Lage sein, um Sie manuell ändern Sie die xml-Datei, um die Anwendung der operation.

Wenn ich versuche zu serialisieren meiner Klasse, es sagt mir, ich kann nicht serialisieren, die eine Schnittstelle.
Ich verstehe, dass der serializer hat keine Kenntnis über die Struktur des Eigentums ist Klasse, nur um zu wissen, dass es eine Schnittstelle implementiert.

Hätte ich erwartet, dass es zu aufrufen der GetType auf das Mitglied, und spiegeln die Struktur der eigentlichen Klasse. Gibt es eine Möglichkeit, dies zu erreichen?
Gibt es einen anderen Weg zur Umsetzung meiner Anforderungen?

Bearbeiten: Klärung, meine Absichten:
Lässt sagen, dass ich diese Klasse:

class Car
{
IEngine engine
}
class ElectricEngine : IEngine 
{
int batteryPrecentageLeft;
}
class InternalCombustionEngine : IEngine 
{
int gasLitersLeft;
}

und die Klasse Benutzer hat eine Klasse mit

Car myCar = new Car();
myCar.Engine = new ElectricEngine() {batteryPrecentageLeft= 70};

Wenn ich serialisieren der Klasse myCar, erwarte ich das die xml Aussehen wie diese:

<Car>
<Engine>
<ElectricEngine>
<batteryPrecentageLeft>70</batteryPrecentageLeft>
</ElectricEngine>
<Engine>
</Car>
InformationsquelleAutor itaysk | 2012-04-20
Schreibe einen Kommentar