Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何使用Me或MyClass为继承List(Of T)的类赋值_Vb.net_Inheritance - Fatal编程技术网

Vb.net 如何使用Me或MyClass为继承List(Of T)的类赋值

Vb.net 如何使用Me或MyClass为继承List(Of T)的类赋值,vb.net,inheritance,Vb.net,Inheritance,我对VB.Net比较陌生。我有一个类,它读取xml文件并将文件加载到列表中。该类基本上继承了(T的)列表,因此我可以将任何类型的类传递给它。 这是我的班级代码 Public Class ListFromXML(Of T) Inherits List(Of T) Sub New(FileName As String, xmlRoot As String) Dim deserialized As List(Of T) = Nothing Dim serializer As

我对VB.Net比较陌生。我有一个类,它读取xml文件并将文件加载到列表中。该类基本上继承了(T的)列表,因此我可以将任何类型的类传递给它。 这是我的班级代码

Public Class ListFromXML(Of T)
    Inherits List(Of T)

Sub New(FileName As String, xmlRoot As String)

    Dim deserialized As List(Of T) = Nothing
    Dim serializer As New XmlSerializer(GetType(List(Of T)), New XmlRootAttribute(xmlRoot))
    Using file = System.IO.File.OpenRead(My.Application.Info.DirectoryPath & "\" & FileName)
        deserialized = DirectCast(serializer.Deserialize(file), List(Of T))
        For Each item As T In deserialized
            Me.Add(item)
        Next
    End Using

End Sub
End Class
我不想循环将值添加到类中(Me.add(item))

我的问题是:是否有一种方法可以将反序列化列表直接分配给我的类,如下所示:

    Me= deserialized  
    'or
    MyClass= deserialized  

关于我的代码的任何其他建议也将不胜感激

如果该方法不是ctor并且是共享的,您可以返回一个新的
ListFromXML实例
;如果您使用/实现了一个列表,而不是从列表中继承,那么您可以使用AddRange@puropoix。我可以使用AddRange并跳过循环,因此这解决了我的问题。但我的问题现在更具概念性。我只需要知道,一旦类被实例化,如何将一个值直接分配给“列表”。