Pav*_*sky 7 javascript c# interop com-interop
我试图通过使用ActiveXObject以下方法从JavaScript调用C#方法:
var myobj = new ActiveXObject('myobject');
var arr = myobj.GetArray();
Run Code Online (Sandbox Code Playgroud)
最终,arr将包含一个SAFEARRAY对象,但不包含JScript数组.有没有办法从C#方法返回本机JavaScript对象?
我自己找到了解决方案,但这部分没有文档.解决方案是以JScript.ArrayObject下列方式使用:
ArrayObject _lastField;
byte[] byteArray = new byte[]{2,1,2,3};
object[] array = new object[byteArray.Length];
byteArray.CopyTo(array, 0);
_lastField = Microsoft.JScript.GlobalObject.Array.ConstructArray(array);
Run Code Online (Sandbox Code Playgroud)
之后,您将能够_lastField像使用本机数组一样在JavaScript中使用该数组:
var myobj = new ActiveXObject('myobject');
var arr = myobj.LastField;
alert(arr[1]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3246 次 |
| 最近记录: |