.net 问题序列化
我遇到以下异常:当我尝试序列化我的类时,出现了一个反映类型“valoradorch.estruturas.dispoHotel”的错误。 我的代码是:.net 问题序列化,.net,xml,vb.net,serialization,.net,Xml,Vb.net,Serialization,我遇到以下异常:当我尝试序列化我的类时,出现了一个反映类型“valoradorch.estruturas.dispoHotel”的错误。 我的代码是: Public Function getXMLdeObjecto(ByVal obj As Object) Dim ser As New XmlSerializer(obj.GetType()) Dim sb As New System.Text.StringBuilder() Dim writer
Public Function getXMLdeObjecto(ByVal obj As Object)
Dim ser As New XmlSerializer(obj.GetType())
Dim sb As New System.Text.StringBuilder()
Dim writer As New System.IO.StringWriter(sb)
ser.Serialize(writer, obj)
Return sb.ToString()
End Function
我尝试序列化的类:
Public Class estruturas
<Serializable()> _
Public Class PedidoDispo
Private myLocalidade As String
Public mydataInicio As Date
Public mydataFim As Date
Public mynumQuartos As Integer
Public mynumPessoas As Integer
Public myordenar As String
Public myidioma As String
Public Property Localidade() As String
Get
Return myLocalidade
End Get
Set(ByVal Value As String)
myLocalidade = Value.Replace(" ", "_")
End Set
End Property
Public Property dataInicio() As String
Get
Return mydataInicio
End Get
Set(ByVal Value As String)
mydataInicio = Value.Replace(" ", "_")
End Set
End Property
Public Property dataFim() As String
Get
Return mydataFim
End Get
Set(ByVal Value As String)
mydataFim = Value.Replace(" ", "_")
End Set
End Property
Public Property numQuartos() As String
Get
Return mynumQuartos
End Get
Set(ByVal Value As String)
mynumQuartos = Value.Replace(" ", "_")
End Set
End Property
Public Property numPessoas() As String
Get
Return mynumPessoas
End Get
Set(ByVal Value As String)
mynumPessoas = Value.Replace(" ", "_")
End Set
End Property
Public Property ordenar() As String
Get
Return myordenar
End Get
Set(ByVal Value As String)
myordenar = Value.Replace(" ", "_")
End Set
End Property
Public Property idioma() As String
Get
Return myidioma
End Get
Set(ByVal Value As String)
myidioma = Value.Replace(" ", "_")
End Set
End Property
Sub New(ByVal localidade As String, ByVal dataInicio As String, ByVal dataFim As String, ByVal numQuartos As Integer, ByVal numPessoas As Integer)
Me.Localidade = localidade
Me.dataInicio = DateTime.Parse(dataInicio)
Me.dataFim = DateTime.Parse(dataFim)
Me.numQuartos = numQuartos
Me.numPessoas = numPessoas
ordenar = "Popularity-desc"
idioma = "PT"
End Sub
End Class
<Serializable()> _
Public Class dispoHotel
Private myPedido As PedidoDispo
Private mylocalidade As String
Private mylistaHotel As List(Of hotel)
Public ReadOnly Property qtdHotels() As String
Get
Return mylistaHotel.Count
End Get
End Property
Public Property listaHotel() As List(Of hotel)
Get
Return mylistaHotel
End Get
Set(ByVal Value As List(Of hotel))
mylistaHotel = Value
End Set
End Property
Public Property pedido() As PedidoDispo
Get
Return myPedido
End Get
Set(ByVal Value As PedidoDispo)
myPedido = Value
End Set
End Property
Sub New(ByVal pedido As PedidoDispo)
Me.pedido = pedido
listaHotel = New List(Of hotel)
End Sub
Sub New()
listaHotel = New List(Of hotel)
End Sub
End Class
Public Structure hotel
Dim id As String
Dim nome As String
Dim categoria As Integer
Dim morada As String
Dim caracteristicas As List(Of String)
Dim distancia As String
Dim foto As String
Dim melhorPreco As String
Dim precos As Hashtable
End Structure
End Class
Public-Class-estruturas
_
公共级PedidoDispo
私有myLocalidade作为字符串
公共mydataInicio截止日期
公共mydataFim截止日期
作为整数的公共mynumQuartos
作为整数的公共mynumPessoas
公共myordenar作为字符串
作为字符串的公共mya
公共属性Localidade()作为字符串
得到
返回myLocalidade
结束
设置(ByVal值作为字符串)
myLocalidade=Value.Replace(“,”_uux”)
端集
端属性
公共属性dataInicio()作为字符串
得到
返回mydataInicio
结束
设置(ByVal值作为字符串)
mydataInicio=值。替换(“,”)
端集
端属性
公共属性dataFim()作为字符串
得到
返回mydataFim
结束
设置(ByVal值作为字符串)
mydataFim=Value.Replace(“,”)
端集
端属性
公共属性numQuartos()作为字符串
得到
返回mynumQuartos
结束
设置(ByVal值作为字符串)
mynumQuartos=值。替换(“,”)
端集
端属性
公共属性numPessoas()作为字符串
得到
返回mynumPessoas
结束
设置(ByVal值作为字符串)
mynumPessoas=值。替换(“,”)
端集
端属性
公共属性ordenar()作为字符串
得到
返肌
结束
设置(ByVal值作为字符串)
myordenar=Value.Replace(“,”)
端集
端属性
公共属性a()作为字符串
得到
返回我的习惯用法
结束
设置(ByVal值作为字符串)
myidioma=Value.Replace(“,”)
端集
端属性
Sub New(ByVal Localizade作为字符串,ByVal dataInicio作为字符串,ByVal dataFim作为字符串,ByVal numQuartos作为整数,ByVal numPessoas作为整数)
Me.Localidade=Localidade
Me.dataInicio=DateTime.Parse(dataInicio)
Me.dataFim=DateTime.Parse(dataFim)
Me.numQuartos=numQuartos
Me.numPessoas=numPessoas
ordenar=“流行度描述”
成语a=“PT”
端接头
末级
_
公共舱酒店
私人myPedido作为PedidoDispo
私有mylocalidade作为字符串
(酒店)名单中的私人酒店
公共只读属性qtdHotels()作为字符串
得到
返回迈利斯塔酒店,伯爵
结束
端属性
公共财产listaHotel()作为列表(酒店)
得到
返回迈利斯塔酒店
结束
设置(ByVal值作为列表(酒店))
迈利斯塔价值酒店
端集
端属性
公共财产pedido()作为PedidoDispo
得到
返回我的佩蒂多
结束
设置(ByVal值为PedidoDispo)
myPedido=值
端集
端属性
次新版本(ByVal pedido作为PedidoDispo)
Me.pedido=pedido
listaHotel=新列表(酒店)
端接头
次新
listaHotel=新列表(酒店)
端接头
末级
公共建筑酒店
作为字符串的Dim id
作为字符串的Dim nome
将类别设置为整数
Dim morada作为字符串
Dim caracteristicas作为列表(字符串)
像弦一样的模糊距离
将foto变暗为字符串
Dim Melhorperco作为字符串
Dim precos作为哈希表
端部结构
末级
是否尝试将对象Hotel序列化?您的dispoHotel类具有只读属性qtdHotels。尝试使用XMLIgnore属性使序列化程序跳过它,但对象Hotel是一个结构而不是一个类。。。它可能会生成错误?将XMLIgnoreAttribute应用于属性