我有一个COM接口,它有一个方法,在VB中有这样的签名:
Public Function GetData() As Byte()
在C#中显示为
public byte[] GetData();
在javascript中它是一个奇怪的不透明对象。索引它返回undefined。
data[1] == undefined
typeof( data ) == "unknown"
data.Item(1) => error
答案 0 :(得分:0)
我找不到任何方法直接在javascript中使用返回的对象。但是因为无论如何我都处于一个支持COM的环境中,所以我可以在命名空间中使用一些微软的东西,即VBArray类型。它允许您从javascript创建和使用VB样式数组。 VB数组可以理解COM字节数组。 所以解决方案就是:
var data = thingy.GetData();
var jsArray = (new VBArray( data )).toArray();