如何使用vb.net创建一个父子集合,其中输出将采用层次结构

如何使用vb.net创建一个父子集合,其中输出将采用层次结构,vb.net,oop,Vb.net,Oop,我想在VB.NET中创建一个层次结构,如下所示 <Parent> <Child1><Child1 /> <Child2> <Subchild1 /> <Subchild2 /> <Child2 /> </Parent> 是否需要将子类作为属性添加到父类?如何做到这一点,并创建如上所述的结构。请帮忙。谢谢。您可以这样吃: Public Class Node

我想在VB.NET中创建一个层次结构,如下所示

<Parent>
  <Child1><Child1 />
  <Child2>
     <Subchild1 />
     <Subchild2 />
<Child2 />     
</Parent>

是否需要将子类作为属性添加到父类?如何做到这一点,并创建如上所述的结构。请帮忙。谢谢。

您可以这样吃:

Public Class Node

  Public Property FirstName As String
  Public Property LastName As String

  Private _childNodes As New List(Of Node)

  Public Property ChildNodes As List(Of Node)
  Get
     Return _childNodes
  End Get
  Set
     _childNodes = value
  End
  End Property

End Class
用法

Dim parent As New Node
parent.FirstName = "John"
parent.LastName = "Doe"

Dim child_1 As New Node()
child_1.FirstName = "Jane"
child_1.LastName = "Doe"
parent.ChildNodes.Add(child_1)
Dim dept As New Department
dept.Name  = "Accounting"

Dim subDept1 As New Department()
subDept1.Name = "Audit"

dept.SubDepartments.Add(subDept1)

Dim employee1 As New Employee()
employee1.FirstName = "John"
employee1.LastName = "Doe"

dept.Employees.Add(employee1)
更新 用法

Dim parent As New Node
parent.FirstName = "John"
parent.LastName = "Doe"

Dim child_1 As New Node()
child_1.FirstName = "Jane"
child_1.LastName = "Doe"
parent.ChildNodes.Add(child_1)
Dim dept As New Department
dept.Name  = "Accounting"

Dim subDept1 As New Department()
subDept1.Name = "Audit"

dept.SubDepartments.Add(subDept1)

Dim employee1 As New Employee()
employee1.FirstName = "John"
employee1.LastName = "Doe"

dept.Employees.Add(employee1)

希望有帮助!这可以进一步重构,但这应该可以工作。

谢谢您的回答。我能理解你所给予的。但是我的子类有不同的属性,比如(department是我的父类,employee是我的子类,一对多关系)。我是否需要像您所给出的那样将employee类属性添加到department类?因为我在你的答案中没有看到任何子类被实例化的地方?因为我有4个子集合类,其中包含许多属性,这些属性将在实时场景中的父类下列出。此外,我还提供了addrow方法,用于循环递归记录的节点。请澄清