Есть такой код, стандартный вариант использования коллекции:
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{} то все работает. Но я не хочу.
Здравствуйте, 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
<<Слушаю болтовню коллег...>>