2

我正在使用 System.Window.Controls Webbrowser (WPF),它在这里和那里抛出了一些异常。

通常,如果我想访问 Winforms 中的 webbrowser 文档并单击我将使用的元素

       HtmlDocument document = webNav.webBrowser1.Document;
       document.GetElementById("id_of_element").InvokeMember("Click");

但是,在 WPF 中它会抛出错误Cannot implicitly convert type 'object' to 'System.Windows.Forms.HtmlDocument'. An explicit conversion exists (are you missing a cast?)

我可以通过使用来解决这个问题

       dynamic document = webNav.webBrowser1.Document;
       document.GetElementById("id_of_element").InvokeMember("Click");

是否有更好/首选的方法,或者这是动态类型的可接受使用?(是否有任何可接受使用动态类型的示例?)

4

1 回答 1

4

就像错误所说的那样,您缺少显式演员表:

 HtmlDocument document = (HtmlDocument)webNav.webBrowser1.Document;

假设您using System.Windows.Forms;在文件的顶部(以使上面的代码更短)。

因为这条线,我知道这一点,

存在显式转换(您是否缺少演员表?)

dynamic在这种情况下不需要使用。

于 2012-10-14T17:23:51.963 回答