問題タブ [multicastdelegate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
742 参照

c# - C# MulticastDelegate と Invoke メソッド

MulticastDelegate と Delegate について考えていましたが、メソッドを呼び出す理由が MulticastDelegate の抽象メソッドではない理由がわかりません。誰か知ってる?

0 投票する
3 に答える
317 参照

c# - MulticastDelegate 例外が本番環境でのみスローされる

本番環境でのみ発生する非常に奇妙な問題があります。例外にはメッセージがあります

「インスタンス メソッドへのデリゲートは、null 'this' を持つことはできません」。

例外がスローされているメソッドは非常に単純で、長い間機能していたため、問題は環境内のあいまいな依存関係などに違いありません...

Azure でホストされている ASP.NET Web API を使用しており、コントローラーのアクション メソッドは AJAX 経由で実行されます。

例外がスローされたコードは次のとおりです。

スタック トレースの関連部分は次のとおりです。

誰かがこの例外の考えられる原因を突き止めることができますか? 前もって感謝します。

0 投票する
0 に答える
186 参照

javascript - 要素ではなくオブジェクトでイベントを作成してトリガーする方法

基本的にサイトのデータをポーリングし、一致したときに消費者に通知する小さなライブラリを作成しています。C# では、実際にはマルチキャスト デリゲートであるイベントを使用します。以前に独自のマルチキャスト デリゲートを JavaScript で作成したことがありますが、もっと良い方法が必要だと思います。

コンシューマーは、データが利用可能になったときに呼び出されるコールバックを登録する必要があります。このようなもの:

バックグラウンドMyLibraryでは、データのポーリングが行われます。最終的に一致するものがある場合、登録された関数を実行する必要があります。複数の機能を登録でき、おそらく登録解除もできるはずです。

CustomEventは、私が望むものに非常に近いものです。問題CustomEventは、要素でイベントを発生させる必要があることです。オブジェクトで発生させることはできません。つまり、これは機能しません。

javascriptでオブジェクトにハンドラーを登録するにはどうすればよいですか? 通常のブラウザと IE11+ をサポートする必要があります。理想的には、これを行うためにライブラリを引き込むことはありません。jQuery がページで利用可能になり、作業が簡単になる場合は使用できます。

参考までに、これは私が過去に使用したマルチキャスト デリゲートの実装です。