Почему 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
.