IXmlSerializable
От: hatka  
Дата: 31.08.05 12:56
Оценка:
Есть такой код, стандартный вариант использования коллекции:

public class MyClass
{
[XmlIgnore]
private DBKeyColumnsCollection _columns;

[XmlElement("column")]
public DBKeyColumnsCollection Columns
{
    get
    {
        if(_columns==null)
            _columns=new DBKeyColumnsCollection();
        return _columns;
    }
}
}

public class DBKeyColumnsCollection : 
    DBColumnsCollection, 
    IXmlSerializable
{
...
}


Ничего не сериализуется. Если в свойство добавить set{} то все работает. Но я не хочу.
Re: IXmlSerializable
От: AlLucky Беларусь Qulix Systems
Дата: 31.08.05 13:49
Оценка:
Здравствуйте, hatka, Вы писали:

H>Ничего не сериализуется. Если в свойство добавить set{} то все работает. Но я не хочу.

Насколько я знаю, XmlSerializer сериализует только те проперти, которые имеют и геттер и сеттер, видимо иначе при десериализации он не сможет установить эти значения.
Вот выдержка из МСДН

The Serialize method converts the public fields and read/write properties of an object into XML. It does not convert methods, indexers, private fields, or read-only properties. To serialize all of an object's fields and properties, both public and private, use the BinaryFormatter

Sincerely Mine AlLucky Sly
<<Слушаю болтовню коллег...>>
Aleksandr Sly
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.