如何从JavaScript访问COM字节数组

时间:2015-10-07 05:50:56

标签: javascript arrays com interop

我有一个COM接口,它有一个方法,在VB中有这样的签名:

Public Function GetData() As Byte()

在C#中显示为

public byte[] GetData();

在javascript中它是一个奇怪的不透明对象。索引它返回undefined。

data[1] == undefined
typeof( data ) == "unknown"
data.Item(1) => error

1 个答案:

答案 0 :(得分:0)

我找不到任何方法直接在javascript中使用返回的对象。但是因为无论如何我都处于一个支持COM的环境中,所以我可以在命名空间中使用一些微软的东西,即VBArray类型。它允许您从javascript创建和使用VB样式数组。 VB数组可以理解COM字节数组。 所以解决方案就是:

var data = thingy.GetData();
var jsArray = (new VBArray( data )).toArray();