强制转换System.ComObject不再有效

本文关键字:不再 有效 ComObject System 转换 | 更新日期: 2023-09-27 17:59:27

我刚刚安装了ie9,现在我使用mshtml的IHTMLStyle的程序无法再进行广播。

所以我几乎有

类样式{mshtml。HTML样式mStyle;样式(mshtml.IHTML样式){mStyle=样式为mshtml。HTML样式}}

过去它是有效的,但现在mStyle总是为null。我试着做一个显式的转换,即(mshtml.HTMLStyle)样式,但最终没有成功,因为它说实际的样式类型是System__ComObject,当我知道它在我安装ie9之前就已经很好了。

这听起来像其他人遇到过的东西吗?

强制转换System.ComObject不再有效

使用带有"dynamic"的后期绑定像这样:

dynamic mStyle;
void Stylex(mshtml.IHTMLStyle style)
{  
  mStyle = style;
  string test = "";
  //don't work
  test = (mStyle as IHTMLStyle).border;
  //work fine
  test = mStyle.border;
}
private void Test()
{
  var doc = (HTMLDocument)this.editorWebBrowser.Document;
  this.Stylex(doc.body.style); 
}