我已經寫了前一段時間的代碼工作的表達:C#不能申請與[]的索引類型爲「對象」
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)抱怨說, 無法申請用[]索引到類型「對象」
參照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
我真的不明白......任何幫助非常感謝!
我們需要查看IHTMLElement類的代碼以及屬性或公共變量類型的子代碼children' – Vikhram
IHTMLElement是mshtml的標準代碼,爲IE11重新生成,我之前完成並且似乎沒問題。兒童是DOM節點的孩子,也是微軟標準,按原樣使用。 – orfruit
'孩子' - >'孩子'。它不應該是一個大寫的'C'嗎? – TEK