Mam aplikację vb6, która korzysta z obiektu COM (obiekt C# z ekspozycją COM). Aplikacja vb6 subskrybuje wydarzenie publikowane przez obiekt COM (C#).Programowo anuluj subskrypcję zdarzenia
Moim problemem jest to, że nie wiem, jak programowo zrezygnować z subskrypcji tego wydarzenia. Jedyny sposób, w jaki umiem się wypisać, to nie subskrybowanie w pierwszej kolejności (tj. Komentowanie programu obsługi zdarzeń w kodzie VB6).
Czy jest sposób na anulowanie subskrypcji w czasie wykonywania (programowo)? Może robiąc coś po stronie C#, identyfikując delegata, który odpowiada obsłudze zdarzenia vb6 i nie wywołując go?
Z góry dziękuję.
Alternatywnie, po prostu odbierz wydarzenie i natychmiast wróć. – Deanna
Ta alternatywa (powrót natychmiast) nie jest dla mnie opłacalna, ponieważ próbuję się pozbyć z natywnych/zarządzanych przejść, które powodują wiele żalu w perfekcji. Tak bliski innej idei, prawdopodobnie wypróbuję twoje rozwiązanie powyżej. Dzięki. – mnrtyrpt123
Możesz także mieć zmienną o nazwie "SendMeEventX", którą sprawdzasz przed podniesieniem zdarzenia. To jednak wpłynie na wszystkich słuchaczy. – Deanna