C # проблема сериализации - PullRequest
       8

C # проблема сериализации

1 голос
/ 24 января 2011

Это класс в приложении ac #:

[Serializable()] 
public class AAA
{
    private List<AAA> arr;
    private AAA parentA;

    public List<AAA> Arr
    {
        get { return arr; }
        set { arr = value; }
    }

    public AAA ParentA        
    {
        get { return parentA; }
        set { parentA = value; }
    }
 }

, когда я пытаюсь сериализовать этот класс с помощью XMLSerializer, и список "arr" или "parentA" содержит значение, которое сериализация не может записатьXML.

Подскажите, пожалуйста, как его решить?

Пожалуйста, приложите пример кода.

Примечание: я должен использовать XMLSerializer, а не любой другой сериализатор.

10x

Ответы [ 2 ]

2 голосов
/ 24 января 2011

Отсутствует атрибут? И переменная может быть публичной.

[Serializable()]
public class AAA {
    public List<AAA> arr;
    public AAA parentA;
}
1 голос
/ 24 января 2011

добавить к атрибуту класса

[XmlInclude (typeof (AAA))]] открытый класс AAA

и открытое поле, например

[XmlArray ("AAAarray")] [XmlArrayItem ("Param", typeof (AAA))] public IList arr {get;задавать;}

...