我正在使用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#之间进行类型转换?