Vb.net Null检查始终返回Null,如果删除返回未设置为对象实例的对象引用

Vb.net Null检查始终返回Null,如果删除返回未设置为对象实例的对象引用,vb.net,list,function,nullreferenceexception,object-reference,Vb.net,List,Function,Nullreferenceexception,Object Reference,我有一些代码,可以通过获取菜单数据列表的GetChildren函数获取菜单的子项: Dim builtMenu As New List(Of MenuData)(_rawData.FindAll(Function(item) item.GroupingID = 0)) For Each menuData As MenuData In builtMenu If menuData.Children IsNot Nothing Then menuDa

我有一些代码,可以通过获取菜单数据列表的GetChildren函数获取菜单的子项:

Dim builtMenu As New List(Of MenuData)(_rawData.FindAll(Function(item) item.GroupingID = 0))

For Each menuData As MenuData In builtMenu
             If menuData.Children IsNot Nothing Then
            menuData.Children.AddRange(GetChildren(menuData))
             End If
        Next
如果我检查menudata.children是否为nothing,则它始终为nothing,因为GetChildren函数尚未运行(提供确实存在的子项)。如果我删除此支票并只保留此代码:

Dim builtMenu As New List(Of MenuData)(_rawData.FindAll(Function(item) item.GroupingID = 0))

For Each menuData As MenuData In builtMenu  
            menuData.Children.AddRange(GetChildren(menuData)) 
        Next
然后,我看到一个对象引用没有设置为menuData.Children.AddRange(GetChildren(menuData))上对象错误的实例

你能告诉我如何解决这个问题吗?
非常感谢您的
菜单数据。Children
从未被实例化过,因此它是一个空(
Nothing
)引用

在使用它之前,您需要实例化它:

Dim builtMenu As New List(Of MenuData)(_rawData.FindAll(Function(item) item.GroupingID = 0))
menuData.Children = New List(Of MenuData)

For Each menuData As MenuData In builtMenu  
    menuData.Children.AddRange(GetChildren(menuData)) 
Next

在添加menuData.Children=新列表(menuData)时,我获得对非共享成员的引用需要一个对象referece@Phil-在不知道如何实现
menuData.Children
的情况下,我真的无法提供更多帮助。