C# WPF-树子项需要在其构造函数中引用其父节点,但它';仅在构造函数之后收到-需要解决方案
我在C#中得到了一个树结构 树中的每个节点都包含对父节点和子节点集合的引用。 创建子节点的过程同样是-C# WPF-树子项需要在其构造函数中引用其父节点,但它';仅在构造函数之后收到-需要解决方案,c#,wpf,treeview,tree,C#,Wpf,Treeview,Tree,我在C#中得到了一个树结构 树中的每个节点都包含对父节点和子节点集合的引用。 创建子节点的过程同样是- 父节点创建子项 子级运行其所有构造函数逻辑 子对象退出其构造函数后,其实例将添加到父对象的子对象集合中,子对象的父对象属性将相应更新 到目前为止,这对我来说非常有效。 我遇到了这样一种情况:一些对象需要引用其构造函数中已经存在的父对象,即使它们还没有父对象,并且只有在它们退出构造函数并添加到父对象集合后才会收到父对象的引用。(如第三阶段) 我想到了一个可能的解决方案,但我不确定- 创建时,每个
谢谢 我认为您有两种选择之一:
我更喜欢第二种解决方案,因为如果节点恰好被重新设置为父节点,它将允许您重新运行逻辑。它还允许从树上修剪节点(Parent=null)。我要问的第一个问题是:为什么父类不实现这样的方法
public void AddChild(object parameters)
{
Children.Add(new ChildNode(this, parameters));
}
您的应用程序中是否存在可以创建
ChildNode
对象的其他情况?如果是,它是什么,它为什么存在?您可以在设置它之前检查父属性是否为null,从而避免设置两次。如果这是我们正在讨论的一个效率问题,我会在构造函数中设置它一次,然后就不做了。很抱歉响应太晚,最后我添加了父参数作为参数。