- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
JavaScript 调用运行良好,但我无法运行 JavaScript->C#-6ren">
我正在尝试使用 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/
我是一名优秀的程序员,十分优秀!