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