为什么 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 在 VB 中工作

看看他们来自哪里:

XmlNode

XmlElement

XmlLinkedNode

XmlElement继承自XmlLinkedNode继承自XmlNode

所以它们来自同一类型。强制转换将为您提供来自特定派生类的额外功能。