2016-07-26 26 views
1

diese meiner Klasse sagen, dass über rekursive Aufruf generiert wird:Ausgabe eine Klasse serialisiert, dass Verweise selbst als Eigenschaft

public class Level 
{ 
    public string Name { get; set; } 
    public string Value { get; set; } 
    public List<Level> NextLevel { get; set; } 
    public Level() 
    { 
     NextLevel = new List<Level>(); 
    } 
} 

aber wenn ich versuche, dies zu serialisiert, um XML ich diesen Fehler:

The type System.Collections.Generic.List`1[[....ResponseModel+Level, Testing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] may not be used in this context.

Ich habe versucht Json Serialisierung und es ist in Ordnung.

Ich nehme an, es ist ein Problem mit der NextLevel Eigenschaft. Wird hier ein spezielles Attribut benötigt?

Ich habe nicht viel Information darüber gefunden.

+1

Bitte teilen Sie Ihren Serialisierungscode. – Jace

Antwort

1

Listen/Arrays Sie würden in der Regel die XmlArray und XmlArrayItem Attribute, um Ihr Eigentum in anzuwenden haben, um die Verwendung von XML-Serialisierung zu serialisiert zu spezifizieren, dass sie es als eine verschachtelte Sequenz von XML-Elementen serialisiert werden sollen:

[XmlArray("NextLevel")] 
[XmlArrayItem("Level")] 
public List<Level> NextLevel { get; set; } 
+0

Das hat den Trick gemacht, danke! Ich lese mehr über XML-Attribute – user2326106