为什么 XmlNode 到 XmlElement 在 VB 中工作
本文关键字:VB 工作 XmlElement XmlNode 为什么 | 更新日期: 2023-09-27 18:00:54
这是我在使用一些旧的 vb 代码时注意到的。此行不会引发任何类型的转换异常...
Dim moduleElement As XmlElement = xmldoc.SelectSingleNode("/modules/module")
但是这一行将在 C# 中...
XmlElement focusFieldsNode = moduleNode.SelectSingleNode("ui/initial_focus_fields");
现在为了解决这个问题,我强制转换为 XmlElement,但为什么它在 vb 中而不是在 C# 中有效?
看看他们来自哪里:
XmlNode
XmlElement
XmlLinkedNode
XmlElement
继承自XmlLinkedNode
继承自XmlNode
。
所以它们来自同一类型。强制转换将为您提供来自特定派生类的额外功能。