WebView2 AddHostObjectToScript 无法访问带参数的函数

WebView2 AddHostObjectToScript can't access function with parameters

我一直在关注微软官方网站上 webview2 的文档,但我遇到了一个我不确定如何解决的问题。

我使用 AddHostObjectToScript 添加了一个 .NET 对象,只要该函数没有参数,它就可以工作。在JS中调用带参数的对象函数时,一直报“参数不正确”的错误

这就是我在 angular 应用程序中调用主机对象的方式:

result = await window?.chrome?.webview?.hostObjects.bridge.Func("John");

这是我的 WinUI 3.0 应用:

    [ComVisible(true)]
    public class Bridge
    {
        public string Func(string param)
        {
            return "Example: " + param;
        }

        public string Sample()
        {
            return "Example: ";
        }
        public BridgeAnotherClass AnotherObject { get; set; } = new BridgeAnotherClass();

        // Sample indexed property.
        [System.Runtime.CompilerServices.IndexerName("Items")]
        public string this[int index]
        {
            get { return m_dictionary[index]; }
            set { m_dictionary[index] = value; }
        }
        private Dictionary<int, string> m_dictionary = new Dictionary<int, string>();
    }


    
    public sealed partial class WebViewPage : Page
    {
        public WebViewViewModel ViewModel { get; }

        public WebViewPage()
        {
            ViewModel = Ioc.Default.GetService<WebViewViewModel>();
            InitializeComponent();
            ViewModel.WebViewService.Initialize(webView);
            webView.WebMessageReceived += getMsg;
            InitializeAsync();
        }

        async void InitializeAsync()
        {
            await webView.EnsureCoreWebView2Async();
            var interop = webView.CoreWebView2.As<ICoreWebView2Interop>();
            interop.AddHostObjectToScript("bridge", new Bridge());
            
        }

WebView2 目前存在一个问题,即 WinRT API 的互操作接口 AddHostObjectToScript 不能很好地与 .NET 对象一起工作。这是 WebView2 中的错误。