我正在C# (.NET 4.0)中实现一个ActiveX组件,但是在访问JScript数组(尤其是关联数组)时遇到了麻烦。我是从一个HTML页面调用我的组件,代码如下:
MyComponent.MyMethod({ "foo": "bar" });
我的ActiveX组件有以下方法签名:
public void MyMethod(dynamic someArray)
{
// someArray will be a RCW (__ComObject)
}
我原以为可以通过IDispatch调用这个对象上的所有通常内容。然而,JavaScript数组可用的属性和方法都无法访问。
我使用了这篇博客文章中的部分内容来尝试检查我实际获取的COM对象类型,但是那里显示的DumpTypeInfo方法只给出了JScriptTypeInfo,其上没有定义任何函数。
有很多文章讨论如何从.NET获取数组到JavaScript,但反过来似乎也不是那么容易。有什么想法吗?
PS:我尝试了很多其他选项,但在这一点上提到它们可能没有帮助。