Tengo clase A
hereda de la clase B
. Tengo una lista de la clase que contiene B
A
y B
artículos:XML serializando una lista de una clase base
List<B> myList = new List<B>();
myList.Add(new A());
Cuando intento para serializar esta lista usando XmlSerializable
, se produce una excepción. Si defino la lista como de tipo B, entonces no obtengo esta excepción. ¿Cuál es la mejor manera de serializar la clase derivada?
Gracias de nuevo ... me has ahorrado un gran dolor de cabeza. Estuve atascado todo el día en algunos aspectos raros de la serialización :) una nota relacionada - dado que el serializable pasa por llamar al get en cada miembro público - ¿hay algún tipo de obtención condicional? Pregunto porque también lo uso para encuadernar, así que mi get/set cambia las propiedades y, por lo tanto, la segunda vez que 'establece' (desde deserializar) no es lo que originalmente se esperaba que entrara en el conjunto – Steve
lo llamaría 'condicional' accesors '(¿es eso posible?) – Steve
No estoy seguro de haber entendido la pregunta. En la serialización ejecuta 'get' en todas sus propiedades públicas (también campos). En la deserialización, crea un objeto a través del constructor predeterminado y luego llama a 'set' en cada propiedad. –