繁体   English   中英

从JavaScript引用C#方法而不调用它

[英]Refer to C# method from JavaScript without calling it

我有一个使用ObjectForScripting设置的WebBrowser控件,这样我就可以从浏览器控件中托管的JavaScript调用C#方法。

除了在单元测试中我对window.external方法进行了一些检查外,其他一切似乎都很好,事实证明……

window.external.MyMethod

似乎与...相同

window.external.MyMethod()

如果需要参考该方法怎么办? 或就我的单元测试而言:

typeof(window.external.MyMethod) === 'function'

但这会调用该方法(并且失败,因为它返回该方法返回的值的类型)

如何在不调用方法的情况下获得对方法的引用?

看一下我能找到的文档 ,看起来就像引用window.external任何成员一样,都发起了对主机的调用:

...对“ window.external.speech”的引用将调用主机来解析名称“ speech”。

我对此API并不特别熟悉,但似乎您可以执行以下操作:

window.external.checkType('MyMethod') === 'function'

其中checkType是您在C#代码中声明的函数,可以告诉您所提供属性的类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM