Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema al deserializar

Estas en el tema de Problema al deserializar en el foro de .NET en Foros del Web. Buenas gente, estoy haciendo una aplicación en vb.net y estoy teniendo problemas al deserializar. Creo que se cual es el problema pero no se como ...
  #1 (permalink)  
Antiguo 15/03/2009, 14:04
 
Fecha de Ingreso: febrero-2007
Ubicación: Uruguay
Mensajes: 172
Antigüedad: 17 años, 2 meses
Puntos: 1
Problema al deserializar

Buenas gente, estoy haciendo una aplicación en vb.net y estoy teniendo problemas al deserializar. Creo que se cual es el problema pero no se como resolverlo.
La función recibe un filename(el cual es el nombre del archivo xml), el problema que cuando sigue ejecutando me salta un error: "Error en el documento XML (2, 2)."
La clase pedido es una clase abstracta de la cual heredan: Repartidor, Teléfonico y Mostrador.

Leyendo averigué que las clases abstractas no pueden serializarse ni deserializarse. Entonces como puedo hacer para que me deserialize el xml y me los guarde en la lista?

Gracias y disculpen las molestias

Código:
 Public Function Deserialize(ByVal filename As String) As List(Of Pedido)
            ' Create a Type array.
            Dim extraTypes(3) As Type
            extraTypes(0) = GetType(Repartidor)
            extraTypes(1) = GetType(Telefonico)
            extraTypes(2) = GetType(Mostrador)
            extraTypes(3) = GetType(PlatoDia)
            ' Create the XmlSerializer instance.
            Dim mySerializer As New XmlSerializer(GetType(Pedido), extraTypes)
           
            ' Reading a file requires a FileStream.

            Dim fs As New FileStream(filename, FileMode.Open)
            Dim unpedido As Pedido
            unpedido = CType(mySerializer.Deserialize(fs), Pedido)
            
            Dim lista As List(Of Pedido)
            lista = mySerializer.Deserialize(fs)
            Return lista
__________________
Actualizate hoy(Blog) De vuelta actualizado!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:24.