2014-09-03 2 views
1

XElement реализует IXmlLineInfo через ряд базовых классов, поэтому я могу вызывать LineNumber для объекта, однако intellisense не видит этого свойства, и я вынужден передать объект в IXmlLineInfo ,Методы базовых классов XElement не отображаются в производных классах

IXmlLineInfo lineNumber = xelement; 
var myLineNumber = lineNumber.LineNumber 

Все из которых работают, но не должны появляться LineNumber на XElement?

ответ

2

Это потому, что XObject.IXmlLineInfo.LineNumber объявлен как explicit interface member implementation:

int IXmlLineInfo.LineNumber { get; } 

Явная реализация элемента интерфейса является метод, свойство, событие или индексатор заявление, которое ссылается на полное имя элемента интерфейса.

.....

Явная реализация члена интерфейса могут быть доступны только через экземпляр интерфейса, и в этом случае ссылаются просто по имени элемента.

[MSDN: 13.4.1 Explicit interface member implementations]

 Смежные вопросы

  • Нет связанных вопросов^_^