當使用WebBrowser
控件時,我想將JavaScript代碼中的對象傳遞給C#。.Net WebBrowser和WinForms應用程序中的HTML之間的雙向通信
解決方案是已知的 - 使用ObjectForScripting
WebBrowser
的屬性並調用javascript代碼中的方法使用window.external
。
我知道該怎麼做,但我想在javascript中創建具有給定類型的對象,並將它傳遞給C#而不使用object
或dynamic
。例如:
我想從JS這種方法在C#中稱:
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
對象?