Методы базовых классов XElement не отображаются в производных классах

1

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

IXmlLineInfo lineNumber = xelement;
var myLineNumber = lineNumber.LineNumber

Все это работает, но не должно появляться LineNumber на XElement?

Теги:
xelement

1 ответ

2
Лучший ответ

Это потому, что XObject.IXmlLineInfo.LineNumber объявлен как реализация явного интерфейса:

int IXmlLineInfo.LineNumber { get; }

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

.....

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

[ MSDN: 13.4.1. Явные реализации элементов интерфейса ]

Ещё вопросы

Сообщество Overcoder
Наверх
Меню