【发布时间】:2012-06-09 20:25:33
【问题描述】:
在表单上使用 WebBrowser 并通过 window.external 从 Javascript 调用 C#。在函数中传入一个 Javascript 类数组:
var x = [];
x.push(classa);
x.push(classa);
window.external.CSharpFunction(x);
我可以通过以下方式在 C# 中成功获取 x.length:
int length=(int)x.GetType().InvokeMember("length", BindingFlags.GetProperty, null, x, null);
我的问题是如何获得 x[0] 和 x[1]? 我试过了
x.GetType().InvokeMember(string.Empty, BindingFlags.GetProperty, null, x, new object[1]{1});
和
x.GetType().InvokeMember(string.Empty, BindingFlags.InvokeMethod | BindingFlags.Default, null, x, new object[1]{0});
这两者都会触发 WebBrowser 控件中的错误。
谢谢
【问题讨论】:
-
尝试调用“0”成员? (就像“长度”成员一样。)
-
否:“0”也会导致错误。
标签: c# javascript com browser