C#到VB.NET的转换XML序列化程序
本文关键字:XML 序列化 程序 转换 VB NET | 更新日期: 2023-09-27 18:22:39
我使用
Dim xs As New XmlSerializer(GetType(T))
但后来我意识到我需要将初始化更改为
XmlSerializer s = XmlSerializer.FromTypes(new[] { typeof(CustomXMLSerializeObject) })[0];
为了解决错误(根据C#XmlSerializer BindingFailure)
然而,当我尝试将此代码转换为VB.NET.时,我不确定如何将我的"T"转换为它
一个在线转换器告诉我,C#代码
XmlSerializer s = XmlSerializer.FromTypes(new[] { typeof(CustomXMLSerializeObject) })[0];
应该是
Dim s As XmlSerializer = XmlSerializer.FromTypes(New () {GetType(CustomXMLSerializeObject)})(0)
但是,由于New()引发了编译器错误,因此这不可能真正正确。
此外,我不知道如何添加我的"T"到它。
谢谢你的帮助!
我当前的错误代码是:
Public Function DeepClone(Of T)(obj As T) As T
Using ms = New MemoryStream()
Dim xs As XmlSerializer = XmlSerializer.FromTypes(New () {GetType(CustomXMLSerializeObject)})(0)
Return DirectCast(xs.Deserialize(ms), T)
End Using
End Function
您根本不需要"New"-只需使用:
Dim s As XmlSerializer = XmlSerializer.FromTypes( { GetType(CustomXMLSerializeObject) })(0)