XElement基类上的方法不会出现在派生类中

时间:2014-09-03 01:53:42

标签: c# xml xelement

XElement通过一系列基类实现IXmlLineInfo,因此我可以在对象上调用LineNumber,但是intellisense没有看到此属性,我强迫将对象强制转换为IXmlLineInfo。

IXmlLineInfo lineNumber = xelement;
var myLineNumber = lineNumber.LineNumber

所有这些都有效,但LineNumber不应出现在XElement上吗?

1 个答案:

答案 0 :(得分:2)

那是因为XObject.IXmlLineInfo.LineNumber声明为explicit interface member implementation

int IXmlLineInfo.LineNumber { get; }
  

显式接口成员实现是引用完全限定的接口成员名称的方法,属性,事件或索引器声明。

     

.....

     

显式接口成员实现只能通过接口实例访问,在这种情况下只能通过其成员名称引用。

     

[MSDN: 13.4.1 Explicit interface member implementations]