JavaScript 调用运行良好,但我无法运行 JavaScript->C#-6ren">
gpt4 book ai didi

c# - WebBrowser 在 ObjectForScripting 上声明 "object type is not visible to COM"

转载 作者:数据小太阳 更新时间:2023-10-29 05:07:59 24 4
gpt4 key购买 nike

我正在尝试使用 WPF WebBrowser 控件在 C# 和 JavaScript 之间建立互操作。到目前为止,C#->JavaScript 调用运行良好,但我无法运行 JavaScript->C#。

我已经为对象创建了一个类:

[ComVisible(true)]
class BrowserClient
{
private MainWindow owner;

public string id = "browser-client";

public BrowserClient(MainWindow owner)
{
this.owner = owner;
}

public void sendMessage(string date)
{
owner.OnReceiveMessage(date);
}
}

请注意 ComVisible 属性。

但是当我在 Window_Loaded 事件中设置 ObjectForScripting 属性时:

webBrowser.ObjectForScripting = new BrowserClient(this);

我得到以下(非常令人困惑的)异常:

An unhandled exception of type 'System.ArgumentException' occurred in PresentationFramework.dll

Additional information: The object type is not visible to COM. You need to set ComVisibleAttribute attribute to True.

不用说,我很困惑。这里发生了什么?

更新:可能值得一提的是,我在 Windows 8.1 上使用 .NET 4.0 和 Visual Studio 2013 Express for Desktop。

最佳答案

我想,我知道你的问题 - 你需要让你的类(class)public

关于c# - WebBrowser 在 ObjectForScripting 上声明 "object type is not visible to COM",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20764900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com