为什么XmlNode到XmlElement在VB中工作

时间:2015-07-02 16:14:42

标签: c# vb.net

这是我在使用一些旧的vb代码时注意到的。 这一行不会抛出任何类型的强制转换异常......

Dim moduleElement As XmlElement = xmldoc.SelectSingleNode("/modules/module")

但这一行将在C#...

XmlElement focusFieldsNode =  moduleNode.SelectSingleNode("ui/initial_focus_fields");

现在要解决这个问题,我将其转换为XmlElement,但是为什么它会在vb中运行而不是在C#中运行?

1 个答案:

答案 0 :(得分:1)

看看它们的来源:

  

XmlNode

     

XmlElement

     

XmlLinkedNode

XmlElement继承自XmlLinkedNode继承的XmlNode

所以他们来自同一类型。 Casting将为您提供来自特定派生类的额外功能。