将列表解析为自定义序列化程序的参数

加尔文先生

我想做一个序列化指定为参数的LIST的过程。但是我无法弄清楚如何通过参数解析MyClass如何指定GetType(List(of MyClass))我不能在过程中“硬编码” MyClass,因为我必须对不同的类使用此序列化程序。

Sub Main
   Dim MyList As New List(Of NameClass)
   MyList.Add(New NameClass("Thomas")
   MyList.Add(New NameClass("Michael")
   List_To_XMLFile(MyList, NameClass, "c:\temp\file.xml")
End sub

Sub List_To_XMLFile(MyList As List(Of Object), ListOfCObj As Object, Path As String)
    Dim ser As XmlSerializer = New XmlSerializer(GetType(List(Of ListOfObject)))
    Dim fs As FileStream = New FileStream(Path, FileMode.Create)
    ser.Serialize(fs, MyList)
    fs.Close()
End Sub

Public Class NameClass
    Property Name As String
    Sub New()
    End Sub
    Sub New(Name As String)
        Me.Name = Name
    End Sub
End Class
derloopkat

对象知道其类型,因此,如果您传递对象,则不需要传递类型。

Sub List_To_XMLFile(Of T)(MyList As List(Of T), Path As String)
    Dim ser As XmlSerializer = New XmlSerializer(MyList.GetType())
    Dim fs As FileStream = New FileStream(Path, FileMode.Create)
    ser.Serialize(fs, MyList)
    fs.Close()
End Sub

并用

List_To_XMLFile(MyList, "c:\temp\file.xml")

需要注意的是,因为我使用泛型类型,该方法可以被称为路过New List(Of NameClass)New List(Of OtherClass)等这样T需要的类型。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将 django 模型对象的嵌套序列化列表自定义为键/值对?

如何将自定义参数传递给 Django 自定义相关字段序列化程序

ActiveRecord序列化将nil发送到当前属性的自定义序列化程序

尝试序列化异常时,将忽略自定义解析器

反序列化到自定义列表

使用Jackson自定义反序列化列表

统一自定义对象列表的序列化

自定义类的对象列表的json序列化

用于Optional <?>的Jackson自定义序列化程序

List 类的自定义 KotlinX 序列化程序

gson嵌套的自定义序列化程序

DRF:相关序列化程序的自定义排序

Spark Kryo:注册自定义序列化程序

序列化程序设置自定义值

如何编写自定义序列化程序?

杰克逊将地图序列化到自定义输出列表

使用命令列表解析自定义文件

用于序列化List <String>中的List <User>的自定义序列化程序

Jackson 不会使用自定义序列化程序序列化 null

使用自定义设置提供程序序列化自定义类

如何使用MobogDB C#驱动程序为实体编写自定义序列化程序?

是否可以在自定义序列化程序中序列化为已知的默认格式?

如何编写自定义json序列化程序并将值序列化为数组

Java自定义序列化

自定义序列化

自定义反序列化

序列化自定义配置

如何在Spring Boot应用程序中将参数传递给自定义JSON反序列化器

使用自定义合同解析器而不是JsonConverter属性时,将忽略自定义JsonConverter进行反序列化