【发布时间】:2010-07-13 11:06:49
【问题描述】:
当使用WebBrowser 控件时,我想将一个对象从 javascript 代码传递给 C#。
解决方案已知 - 使用 WebBrowser 的 ObjectForScripting 属性并使用 window.external 从 javascript 代码中调用方法。
我知道该怎么做,但我想在 javascript 中创建具有给定类型的对象并将其传递给 C#,而不使用 object 或 dynamic。示例:
我想在 C# 中从 JS 调用这个方法:
public void Test(Foo foo)
{
//do something
}
Foo 在哪里:
[ComVisible(true)]
public class Foo
{
public string Bar;
}
我知道如何调用这些方法:
public void Test2(object foo)
{
//do something
}
public void Test3(dynamic foo)
{
//do something
}
但我想使用第一个 - Test(Foo foo)
我应该怎么做才能将 Foo 类的对象从 JS 传递到 C# 或如何将 JS 对象动态转换为 C# Foo 对象?
【问题讨论】:
标签: c# javascript interop browser com-interop