今天我在.NET xml代码中偶然发现了一些非常奇怪的东西(至少在我看来)。也许你可以对此有所了解?
假设我有一个名为 Node_A 的XmlElement
,其中包含一些子节点,其中一个名为 Node_B 。
如果我想从 Node_A 中删除 Node_B ,我必须在 Node_A 上调用RemoveChild
方法并提供 Node_B 作为参数。这个RemoveChild
方法让我返回一个XmlNode
对象作为返回值,但是为什么?我已经需要引用删除中涉及的两个节点来执行删除,因此确实无需返回 Node_A 或 Node_B ?
答案 0 :(得分:1)
当您想在其他呼叫中嵌套呼叫时,这很好。例如,通过此返回值,您可以从树中删除节点,并在一个语句中将它们添加到另一个节点。
Tree2.AppendChild(Tree1.RemoveChild(x));
您可能已经注意到相反的函数AppendChild()
也会返回我们刚刚添加的节点。这将允许我编写如下代码:
Tree1.AppendChild(child).AppendChild(grandChild);