Hi ich habe hier einen C# codeausschnitt und versuche den in C++ .net um zuschreiben. Bis auf das Serialisieren des Arrays geht alles. Wenn ich aber den Arrayzeiger zum serialisieren übergebe kommt ne Fehlermeldung. hier mal der C# Code: { Person[] personen = new Person[2] { new ......} XMLSeriializer serializer = new XMLSerializer(typeof(Person[])); TextWriter tr = new StremWriter("A.xml"); serializer.Serialize(tr, personen); tr.close(); } public class Person { public Person(string name, int alter) { ... } }
Hi, der äquivalente C++ .NET(2005) Code sollte so aussehen : { array<Person^> ^personen = gcnew array<Person^>(2) { gcnew ... }; XmlSerializer ^serializer = gcnew XmlSerializer(array<Person^>::typeid); TextWriter ^tr = gcnew StreamWriter("A.xml"); serializer->Serialize(tr, personen); tr->Close(); } Gruß
besten Dank harle werd es dann gleich mal ausprobieren Power
also das serialisieren geht jetztsuper. Leider habe ich ein ähnliches Problem be deserialisieren. Ich hoffe harle hat auch dafür ne Idee. Hier der C# Code Person[] personen = (Person[])serializer.Derzerialize(tr); mit array<Person^> personen = (array<Person^>) serializer->Derzerialize(tr); gehts leider nicht Power
meine Idee ... XmlSerializer ^serializer = gcnew XmlSerializer(array<Person^>::typeid); TextReader ^tr = gcnew StreamReader("B.xml"); array<Person^> ^personen = nullptr; try { personen = safe_cast<array<Person^>>( serializer->Deserialize(tr) ); } catch(InvalidCastException^) { Console::WriteLine("Cast hat nicht geklappt"); } harle
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.