Serialización

16/02/2006 - 10:09 por Abraham | Informe spam
Hola, tengo una duda a ver si alguien ha hecho algo parecido
Tengo una Classe A que tiene un propiedad ( o metodo el caso es el mismo) y
no tiene definido ningún XmlAtributte.
Heredo de la classe A en una nueva classe B. Quiero serializar la classe B y
me encuentro el siguiente problema, ¿Cómo puedo definir XmlAtribute de los
metodos que heredo de A sin tocar su código?
Mucho me temo que no podre utilizar atributos y tendré que redefinir el
metodo serializar a xml.

Pongo el código en vb para que quede un poco más claro el problema

public class A
public property Propiedad base

end property
end class

public class B
inhertis A
<System.Xml.serialize,XmlAtributte("B")> _
public property PropiedadDeB
'No tengo problemas con estas

end property
end sub

el problema es como modificar la propiedad base sin modificarla. Alquien ha
tenido este problema.

PD. A los moderadores no se si esto encaja exactamente en este foro sino es
asi agradeceria que me lo comunicarais.

Un saludo a todos y gracias de ante mano

Preguntas similare

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
16/02/2006 - 15:21 | Informe spam
Para agregar un atributo a una propiedad o metodo de la clase base deberas
forzosamente redefinirlo en la nueva clase. Lo mejor es si puedes
sobresescribir el metodo con Overrides pero si no se puede usa Shadows que
como no quieres cambiar el comportamiento de la propiedad/metodo no te
traeria ningun problema. Para no modificar el comportamiento de la propieda
o metodo dentro de este lo unico que debes hacer es llamar al de la clase
padre.

<XmlAttribute("PropA")> _
Public Overrides Property PropiedadA() As String
Get
Return MyBase.PropiedadA
End Get
Set(ByVal Value As String)
MyBase.PropiedadA = Value
End Set
End Property

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#2 Abraham
16/02/2006 - 16:52 | Informe spam
Ya me lo temia yo, pero bueno. Creo que optaré por definir un nuevo método (o
redefinir serializer, todavia no lo he decidido) y serializarla manualmente.
Gracias Eduardo de todas formas


"Eduardo A. Morcillo [MS MVP VB]" wrote:

Para agregar un atributo a una propiedad o metodo de la clase base deberas
forzosamente redefinirlo en la nueva clase. Lo mejor es si puedes
sobresescribir el metodo con Overrides pero si no se puede usa Shadows que
como no quieres cambiar el comportamiento de la propiedad/metodo no te
traeria ningun problema. Para no modificar el comportamiento de la propieda
o metodo dentro de este lo unico que debes hacer es llamar al de la clase
padre.

<XmlAttribute("PropA")> _
Public Overrides Property PropiedadA() As String
Get
Return MyBase.PropiedadA
End Get
Set(ByVal Value As String)
MyBase.PropiedadA = Value
End Set
End Property

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida