有一第三方js代碼是這樣寫的:
window.external.nativeCall && window.external.nativeCall(e)
external['Call']&&external['Call'](e)
上面2行代碼,我想在winform+webbrowser實作nativeCall和Call
可是c#下面居然無法實作
第一行
public string nativeCall(string e)
{
Console.WriteLine("nativeCall", e);
return "ok";
}
按理window.external.nativeCall是可以呼叫的,但是前面加了window.external.nativeCall判斷,這個判斷代碼屬于第三方,我不能修改。導致后面函式呼叫無法執行。
第二行我是這么接收的
public Func<string,string> Call()
{
Console.WriteLine("Call");
return (e)=>
{
Console.WriteLine(e);
return e;
};
}
無法呼叫,如果回傳型別改成string能過前面的判斷,后面的函式無法呼叫
求高手指點
uj5u.com熱心網友回復:
看不懂,也不敢亂猜,怕斷章取義樓下來吧.
uj5u.com熱心網友回復:
window.external.nativeCall判斷是否存在,會導致c#里的無參nativeCall被呼叫,如果加引數,就報錯,可能是nativeCall方法的宣告不對uj5u.com熱心網友回復:
找到一個類似的問題https://stackoverflow.com/questions/2797913/no-argument-method-on-window-external-is-invoked-when-checking-with-typeof
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/241643.html
標籤:C#
上一篇:ExtensionData Non-Public Members怎么取值
下一篇:c#與webassembly
