Es war ein Fehler reflektierende Eigenschaft 'Listen'
Ich versuche zu serialisieren eines benutzerdefinierten Objekts in xml mit diesem code:
MatchList matchList = converter.Convert(excelStream);
XmlSerializer xmlSerializer = new XmlSerializer(typeof(MatchList));
StringWriter stringWriter = new StringWriter();
xmlSerializer.Serialize(stringWriter, matchList);
string serializedXml = stringWriter.ToString();
txtResult.Text = serializedXml;
Jedoch bekomme ich die exception oben in der 2. Zeile:
Die matchlist-Objekt ist definiert als:
public class MatchList
{
public Header Header { get; set; }
[XmlArray("Lists")]
[XmlArrayItem("List")]
public virtual List<List> Lists { get; set; }
}
die interne <Liste> ist ein benutzerdefiniertes Objekt, nicht c# - Liste-Objekt.
was Ausnahme hast du bekommen?
Bitte zeigen Sie den code der
Durch Zufall, ist Ihre
Sie müssen post
was Ausnahme hast du bekommen?
Bitte zeigen Sie den code der
List
Klasse. Das heißt, um Verwirrung zu vermeiden, warum nicht mit einem anderen Namen als Liste?Durch Zufall, ist Ihre
List
nicht öffentlichen? Wenn ich mich Recht erinnere, XmlSerializer
erfordert, dass alle Objekte öffentlich. EDIT: Woah, wusste nicht Ihr Typ war List<List>
... kann nicht... aber... ****explodiert****Sie müssen post
List
im T
von List<T>
für uns, Ihnen zu helfen. Ist T
im List<T>
einen generischen Typ?
InformationsquelleAutor Luis Valencia | 2012-11-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
hinzufügen und markieren knownTypeAttribute mit serialisierbaren Typen wie
object
XmlSerializer
nur zu stolpern, sich mit dem Typen mit der gleichen Klasse short-name?InformationsquelleAutor burning_LEGION
Wenn Sie eine Immobilie haben, die in Ihrem Objekt, die Sie brauchen nicht zu serialisieren, fügen Sie das Attribut
oben drauf. Zu finden, die problematische Eigenschaft, Graben, indem Sie die "Details Anzeigen..." in der exception-Nachricht, und halten Sie die "Innere Ausnahme" alle Weg.
InformationsquelleAutor Ehud Grand