Me gustaría implementar IXmlSerializable en una clase y solo anular ReadXml o WriteXml, pero no ambos. Si no implementé IXMLSerializable en esta clase, XMLSerializer serializaría automáticamente todos los miembros. Me gustaría que el comportamiento predeterminado se aplique para el caso no reemplazado. Sin embargo, dado que IXmlSerializable es una interfaz, y no una clase base, no estoy seguro de cómo hacerlo.Al implementar IXmlSerializable, ¿cómo solo anular ReadXml o WriteXml y no ambos?
Además, necesito, en un caso, hacer el comportamiento predeterminado, y cuando eso esté completo añadir un código adicional. Entonces, me gustaría sobrescribir y volver a llamar al comportamiento de clase 'base'. De nuevo, esto sería trivial si hubiera una clase base, pero no tan trivial ya que esta es una interfaz.
Gracias!
Es una necesidad extraña: al final de la deserialización de ciertas clases, necesito registrar las instancias recién creadas. Por lo tanto, esperaba: (1) Dejar la serialización tal como está, y (2) Anular la deserialización y agregar mi código de registro. – Eric
¿Necesita un equivalente a OnDeserializedAttribute que se aplica al serializador XML? – Richard
¡OnDeserialized hará el truco! Copie esto en el texto y lo marcaré como respondido. – Eric