1

我对我正在使用的一些代码有疑问:

List<INode> nodes = Node.GetCurrent().Parent.ChildrenAsList.FindAll(n => n.NodeTypeAlias == "Job")
foreach (Node job in nodes)
{
    MakeJobSummary(job, ref counter);
}

这是否会产生任何问题,因为我正在遍历INode列表但将它们用作Node(继承自INode

我需要使用该Node类型,因为它有一些属性是从通过传入的值设置的,INode而且我看不到从父对象获取节点列表的简单方法。

4

1 回答 1

1

您可以这样做以确保 INode 实际上是一个节点。

List<INode> nodes = Node.GetCurrent().Parent.ChildrenAsList.FindAll(n => n.NodeTypeAlias == "Job")
foreach (var job in nodes)
{
    if (job is Node)
      MakeJobSummary((Node) job, ref counter);
}
于 2013-02-13T22:05:56.017 回答