我前段时间写了一段有用的代码:
IHTMLDocument3 doc3 = (IHTMLDocument3)doc;
IHTMLDocument7 doc7 = (IHTMLDocument7)doc;
IHTMLElementCollection elc;
IHTMLElement el;
IHTMLElement chld;
IHTMLDOMNode dn;
if ((chld = el.children[1].children[0].children[1]) != null
&& chld.tagName == "A"
)
现在C#(表达2008,.NET 3.5)抱怨说 无法使用[]将索引应用于' object'
类型的表达式指的是el.children [1] ....
会出现什么问题?我知道之前有效。 感谢任何线索,
更新: 我刚刚在VS2012进行了测试,可以正常工作,编译和运行。
private void Form1_Load(object sender, EventArgs e)
{
IHTMLElement test = null;
IHTMLElement xxx = test.children[1];
}
证实: VS2008中的相同代码无效。唯一的区别是我必须通过使用不同的VS命令提示(每个用于.NET版本)为每个项目重新生成mshtml.dll。
使用相同的命令完成生成:
sn -k mykey.snk
tlbimp.exe /out:mshtml.dll /keyfile:mykey.snk mshtml.tlb
我真的不明白......任何帮助都非常感谢!