Сериализация свойств типа IList<MyType>
От: Аноним  
Дата: 26.02.05 19:33
Оценка:
public SomeClass
{
private IList<MyType> myList = new List<MyType>();
public IList<MyType> MyList { get { return myList; } set { myList = value } }
}

Cannot serialize member System.Collections.Generic.IList`1[MyType]] because it is an interface.

Если это можно решить с помощью атрибута, то ткните меня носом в него пож.
Сериализация свойств типа IList
От: Аноним  
Дата: 27.02.05 21:37
Оценка:
> Cannot serialize member System.Collections.Generic.IList`1[MyType]] because it is an interface.

Сериализовать свойство "public IList MyList" можно, если использовать XmlAttributeOverrides, а вот генерики что-то не сдаются.

SomeClass sc = new SomeClass();
sc.MyList.Add(new MyType());
sc.MyList.Add(new MyType());
sc.SerializeTo("some.xml");
...


public class MyType
{
public string Text = Guid.NewGuid().ToString();
}

public class SomeClass
{
public IList MyList
{
get { return myList; }
set
{

}
}
private List<MyType> myList = new List<MyType>();

public void SerializeTo(string filename)
{
XmlElementAttribute attr = new XmlElementAttribute();
attr.ElementName = "MyType";
attr.Type = typeof(MyType);

XmlAttributes attrs = new XmlAttributes();
attrs.XmlElements.Add(attr);

XmlAttributeOverrides attrOverrides = new XmlAttributeOverrides();
attrOverrides.Add(this.GetType(), "MyList", attrs);

XmlSerializer s = new XmlSerializer(this.GetType(), attrOverrides);
TextWriter writer = new StreamWriter(filename);
s.Serialize(writer, this);
writer.Close();
}
}



данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.