C# 将所有子对象链接到当前对象的适当方式是什么?
我正在创建一个类,它将保存一系列子实例,我需要这些子实例来记住它们的父对象C# 将所有子对象链接到当前对象的适当方式是什么?,c#,parent-child,C#,Parent Child,我正在创建一个类,它将保存一系列子实例,我需要这些子实例来记住它们的父对象 class Node { List<Node> childNodes; Node ParentNode; public Node(List<Node> nodes) { childNodes = nodes; foreach (var node in childNodes) { node.Par
class Node
{
List<Node> childNodes;
Node ParentNode;
public Node(List<Node> nodes)
{
childNodes = nodes;
foreach (var node in childNodes)
{
node.ParentNode = this;
}
}
}
类节点
{
列出子节点;
节点父节点;
公共节点(列表节点)
{
childNodes=节点;
foreach(childNodes中的var节点)
{
node.ParentNode=这个;
}
}
}
这是一个好方法还是我遗漏了什么?我认为这不是一个鸡蛋问题。将首先创建父级,因此稍后将添加子级。
I'm assuming this isn't a chicken egg problem. The Parent would be created first and therefore children would be added later.
public class Node
{
public List<Node> ChildNodes {get; private set;}
public Node ParentNode {get; private set;}
public Node():this(null)
{
}
public Node(Node parentNode)
{
ParentNode = parentNode;
ChildNodes = new List<Node>();
}
public void AddChildNode(Node childNode){
childNode.ParentNode = this;
ChildNodes.Add(childNode);
}
}
公共类节点
{
公共列表子节点{get;private set;}
公共节点ParentNode{get;private set;}
公共节点():此节点(null)
{
}
公共节点(节点父节点)
{
ParentNode=ParentNode;
ChildNodes=新列表();
}
public void AddChildNode(Node childNode){
childNode.ParentNode=这个;
添加(childNode);
}
}
在我看来完全合理。我想把你们的场变成属性,但除此之外,你们的结构是健全的。