Estoy tratando de serializar una lista de descendientes. Esto es lo que tengo ahora, que funciona bien:Xml Serialize List of Descendants
class Animal {}
class Zebra:Animal{}
class Hippo:Animal{}
[XmlRootAttribute("Zoo")]
class Zoo
{
[XmlArrayItem(typeof(Zebra))]
[XmlArrayItem(typeof(Hippo))]
public List<Animal> Actions
{ set; get; }
}
Esto funciona muy bien y no puede serializar ambos Animal
s. Me pregunto si es posible crear una clase Attribute
donde pueda pasar la lista de animales (instancias), y crearé para mí los atributos XmlArrayItem
.
En general, estoy buscando una manera de evitar especificar los descendientes de Animal
cada vez que creo uno nuevo. Quiero que todos los descendientes de Animal
sean serializados, cualquiera que sea su tipo.