2

在我的 WPF 应用程序中,我有一个WebBrowser控件,它承载一些 HTML5/javaScript 内容。随着webBrowser.ObjectForScripting我将带有参数的特殊对象传递给该脚本。
一切都很好,直到我尝试传递一个简单的双值一维数组。我尝试了很多方法,从具有该数组的简单公共字段开始,以复杂的方法结束,例如

[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[ComVisible(true)]
[Guid("1F436D05-1111-3340-8050-E70166C7FC86")]
public class ScriptObject
{
    [ComVisible(true)]
    public double[] d = { 1,2,3 };

    [ComVisible(true)]
    public object Data { get { return d; } set { d = value; } }

    [ComVisible(true)]
    [return: MarshalAs(UnmanagedType.SafeArray, SafeArraySubType = VarEnum.VT_ARRAY)]
    public object GetArr()
    {
        return d;
    }
}

但似乎没有任何效果。当尝试通过or访问数组时,我经常从控件内部的 javaScript 代码中获取异常,webBrowser例如“expexted string”或类似的东西 。window.external.GetArr()window.external.Data

如果我没有弄错文档(http://msdn.microsoft.com/ru-ru/library/cc645074(v=vs.95).aspx),应该有一个正确的方法来做到这一点,但是如何?

感谢帮助!

4

0 回答 0