iam to Unable将'HtmlAgilityPack.HtmlDocument'类型的对象强制转换为'mshtml.IHTMLDocument2'
HTMLDocument doc = new HTMLDocument();
IHTMLDocument2 doc2 = (IHTMLDocument2)doc;
答案 0 :(得分:0)
为了将A
类型转换为B
类型,以下其中一项应为真
A
应该从类型B
继承,或者如果它是一个接口,它应该实现类型B
。在这种情况下,隐式转换将起作用B
应继承自A
类型,而您投射的变量应包含B
类型的实例。如果没有,那么您将获得运行时异常。对于HtmlAgilityPack.HtmlDocument
和mshtml.IHTMLDocument2
类型,不满足这两个条件。
更新:好像您有拼写错误 - 而不是将doc
变量声明为HTMLDocument
,而是将其声明为HtmlDocument
。 C#是一种区分大小写的语言。
答案 1 :(得分:-1)
这是因为HTMLDocument
没有实现IHTMLDocument2
所以没有已知的路径来执行演员。