私はCOMオブジェクト(COM公開C#オブジェクト)を使用しているvb6アプリケーションを持っています。 vb6アプリケーションは、COM(C#)オブジェクトによってパブリッシュされたイベントを購読しています。イベントからのプログラムによる登録解除
私の問題は、プログラムからのイベントからの退会の仕方がわかりません。私がunsuscribeする方法を知っている唯一の方法は、最初に購読しないことです(つまり、vb6コードのイベントハンドラをコメントアウトする)。
実行時に(プログラムで)サブスクライブを解除する方法はありますか?多分、C#側でvb6イベントハンドラに対応するデリゲートを特定し、それを呼び出さないで何かを行うことによって?
ありがとうございます。
また、イベントを受信してすぐに戻ることもできます。 – Deanna
私が取り除こうとしているのは、ネイティブ/管理されたトランジションで、私には多くの悲しみを引き起こしているので、この代替案(私はただちに復帰)は実用的ではありません。だから私はおそらく上のあなたのソリューションを試してみましょう別のアイデアの短い。ありがとう。 – mnrtyrpt123
また、イベントを発生させる前にチェックする変数 "SendMeEventX"を持つこともできます。これはすべてのリスナーに影響します。 – Deanna