我有一个 HierarchyNode 类型的“高级对象”,它将具有相同类型 HierarchyNode 的子节点(每个子节点可能有它们的子节点)。
我应该从“上级对象”中读取所需父节点的子节点。所以我的代码如下(调用者——superiorObject.IdentifySubNodeOfRequestedNode(...))。但是在 foreach 循环中 stopRecursiveCall 是错误的,即使 if 循环被执行并且也不是所有的代码返回值异常。如何解决这个问题并返回子节点,或者还有其他更好的解决方案吗?谢谢
public List<HierarchyNode> IdentifySubNodeOfRequestedNode(int reqstedId, Boolean stopRecursiveCall)
{
if (this.UserId == reqstedId)
{
stopRecursiveCall = true;
return this.ChildNodes;
}
foreach (HierarchyNode childNode in this.ChildNodes)
{
childNode.IdentifySubNodeOfRequestedNode(reqstedId, stopRecursiveCall);
if (stopRecursiveCall)
break;
}
}