genérico # La configuración:c heredar recogida y serialización
class Item
{
private int _value;
public Item()
{
_value = 0;
}
public int Value { get { return _value; } set { _value = value; } }
}
class ItemCollection : Collection<Item>
{
private string _name;
public ItemCollection()
{
_name = string.Empty;
}
public string Name { get {return _name;} set {_name = value;} }
}
Ahora, al intentar serializar utilizando el siguiente fragmento de código:
ItemCollection items = new ItemCollection();
...
XmlSerializer serializer = new XmlSerializer(typeof(ItemCollection));
using (FileStream f = File.Create(fileName))
serializer.Serialize(f, items);
Al mirar el XML resultante veo que el ItemCollection.Name el valor no está allí!
Creo que lo que puede estar ocurriendo es que el serializador ve el tipo ItemCollection como una simple colección ignorando así cualesquiera otras propiedades añadidas ...
¿Hay alguien de haber encontrado un problema tal y encontrado una solución?
Saludos,
Stecy
+1; tenga en cuenta también que la mayoría de los marcos de enlace de datos también comparten el comportamiento. Simplemente no es una buena idea que las colecciones tengan propiedades; las colecciones tienen artículos (solo): ese es su trabajo. –
Bien, ahora necesito ajustar varias clases derivadas de colecciones ... Me preocupa que pueda complicar el diagrama de clases ... –