Javascript对象数组和C#之间的类型转换

时间:2015-08-20 15:17:36

标签: javascript c# winforms webbrowser-control

我正在使用ObjectForScripting根据本教程(https://msdn.microsoft.com/en-us/library/vstudio/a0746166(v=vs.100).aspx)在Web浏览器控件和我的winform C#代码之间来回传递数据。

这适用于字符串和单个对象,但我无法传递Javascript对象数组。

我可以将单个对象传递给这样的函数:

public void ProcessResult(dynamic o)
{
    MessageBox.Show(o.Name);
}

在我的网络浏览器控件中调用代码javascript如下所示:

window.external.ProcessResult(result)

但是当我尝试将一个对象数组从javascript传递给C#函数时,我无法弄清楚如何匹配键入。

我尝试了各种变体:

public void ProcessResults(dynamic[] o)
{
    // code to iterate over array
}

public void ProcessResults(object[] o)
{
    // code to iterate over array
}

传递的对象是System.__ComObject。动态视图显示它没有成员,也没有数组访问权限。

如何在Javascript对象数组和C#之间进行类型转换?

0 个答案:

没有答案