将IHTMLDocument2.Script.InvokeMember()返回的COM对象转换为有用的东西

时间:2008-12-02 16:08:13

标签: c# .net javascript internet-explorer pinvoke

我正在使用C#.NET中的一些代码来获取Internet Explorer扩展,该扩展在浏览器中调用Javascript并从Javascript调用中获取返回值。当Javascript返回基本类型或基本类型数组时,我得到了一些我可以处理的东西,但是当Javascript返回一个对象时,我得到一个不透明的COM对象。

如何获取COM对象的内容,还是有更好的方法从C#.NET调用IE?

1 个答案:

答案 0 :(得分:2)

查看InvokeMember documentation底部的评论。如果返回值是javascript对象,则表示您正在接收javascript对象周围的.NET Object包装器。您将不得不使用反射来检查/调用底层JavaScript对象的成员。这是完全合理的,因为javascript是一种动态语言而C#不是。