Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

20.08.2014, 18:40

C# XmlSerialisierfail?

Hey liebe Community,

ich habe ein Problem bezüglich dem xmlserialisierer. Ist es irgendwie möglich ihn mitzuteilen, das er ein Objekt serialisieren soll, was von einem Interfacetyp ist.


C#-Quelltext

1
2
3
4
5
6
public void Test(IMeinInterface b)
{
serialisierer = new XmlSerializer(typeof(IMeinInterface));

serialisierer.Serialize(File.Open("bla"),  b); // NotSupportedException
}


Habt ihr eine Ahnung wie man das erreichen kann iwie^^, denn das wäre super polymorph ich könnte alles serialisieren, was das attribut [serializible] hat und das Interface implementiert.


mfg

ProgFrog

Tobiking

1x Rätselkönig

  • Private Nachricht senden

2

20.08.2014, 18:49

Ein Interface beschreibt nur Funktionen und besitzt keinerlei Daten. Was willst du da serialisieren? Was du willst ist vermutlich eine (abstrakte) Basisklasse.

3

20.08.2014, 18:52

Ja aber das übergebene Objet enthält ja die vollständigen Daten

Nimelrian

Alter Hase

Beiträge: 1 216

Beruf: Softwareentwickler (aktuell Web/Node); Freiberuflicher Google Proxy

  • Private Nachricht senden

4

20.08.2014, 18:54

Du scheinst da etwas misszuverstehen. Ein Interface ist lediglich dazu da, mehreren Klassen eine gemeinsame Schnittstelle zu geben (die dabei individuell implementiert werden kann). Zum Beispiel eine Compare-Funktion. Es bringt daher keinerlei Daten mit sich.

Was du wahrscheinlich eher möchtest, ist eine (abstrakte) Basisklasse, wie Tobiking schon angesprochen hat. Von dieser kannst du dann deine zu serialisierenden Klassen erben lassen.
Ich bin kein UserSideGoogleProxy. Und nein, dieses Forum ist kein UserSideGoogleProxyAbstractFactorySingleton.

Lares

1x Contest-Sieger

  • Private Nachricht senden

5

20.08.2014, 20:11

Mach dir doch einfach ne Klasse die mit Templates arbeitet, welche den Serializer aufruft. Dann kannst du praktisch jedes Objekt serialisieren und brauchst kein Interface.

Werbeanzeige