WebBrowser コントロールがあります。head タグに JavaScript を追加しました。アラートを追加すると、期待どおりに機能していることがわかります。このjs内で関数を作成し、そのプロトタイプにいくつかのメンバーを次のように追加しています:
function test() {
}
test.prototype.run = function() {
alert('success!')
}
function createTest() {
return new test()
}
次に、C# の内部に戻ります。
dynamic test = this.browser.InvokeScript("createTest");
test.run();
テスト オブジェクトが ComObject であることがわかりますが、run() を呼び出しても何も起こりません。エラーは発生しませんが、何も起こりません。このタイプのカスタムオブジェクトを呼び出す方法を知っている人はいますか?
また、createTest() メソッドを削除したいとします。C# からテストの新しいインスタンスを作成するにはどうすればよいでしょうか?
また、ボーナス ポイントとして、C# コードにコールバックするように、このカスタム オブジェクト (たとえば「完全な」メンバー) にイベントをアタッチすることについて知っておく必要がある特別なことはありますか?