Почему Visual Studio не может обрабатывать класс HTMLDocument?

В C# у меня естьObject htmlDoc = _webbrowser.Document;и когда я просматриваю код в режиме отладки, у меня htmlDoc = {mshtml.HTMLDocumentClass}отображается, когда я наводю указатель мыши на Object htmlDoc назначение.

Но когда я набираю этот код в IDE, HTMLDocument htmlDoc = new HTMLDocumentClass();, Visual Studio не распознает HTMLDocument, и не признает HTMLDocumentClass учебный класс.

Я включил пространство имен System.Windows.Formsи я даю ссылку на одноименную DLL, это версия 4.0.0.0 и версия времени выполнения v4.0.30319. Я попытался добавить пространство именSystem.Windows.Browerно IDE не признала его существования. Почему отладчик, кажется, распознаетmshtml.HTMLDocumentClass а сам код его не распознает?

1 ответ

Сеть HtmlDocumentкласс:

... основан на неуправляемых интерфейсах, реализованных в DHTML DOM Internet Explorer: IHTMLDocument, IHTMLDocument2, IHTMLDocument3 и IHTMLDocument4. HtmlDocument предоставляет только наиболее часто используемые свойства и методы этих неуправляемых интерфейсов. Вы можете получить доступ ко всем другим свойствам и методам напрямую, используя свойство DomDocument, которое можно преобразовать в желаемый указатель неуправляемого интерфейса.

В mshtml.HTMLDocumentClassэкземпляр, который вы видите, поступает через библиотеку взаимодействия для компонента COM, на который внутренне ссылаются библиотеки.NET; это не разглашается публично. Если вы не добавите ссылку на это в свой проект и не используете пространство имен,HTMLDocumentClassне существует (напрямую) в вашем проекте. Я считаю, что DLL, которую вам нужно добавить для прямого доступа, называетсяMicrosoft.mshtml.dll.

Другие вопросы по тегам