Vb.net 如何使用Me或MyClass为继承List(Of T)的类赋值
我对VB.Net比较陌生。我有一个类,它读取xml文件并将文件加载到列表中。该类基本上继承了(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
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并跳过循环,因此这解决了我的问题。但我的问题现在更具概念性。我只需要知道,一旦类被实例化,如何将一个值直接分配给“列表”。