Ho un'app vb6 che sta utilizzando un oggetto COM (oggetto COM esposto COM). L'app vb6 è abbonata a un evento pubblicato dall'oggetto COM (C#).Annullare l'iscrizione all'evento dal
Il mio problema è che non so come annullare l'iscrizione a livello di codice da quell'evento. L'unico modo in cui so come annullare la registrazione è non iscrivermi in primo luogo (ad esempio commentando il gestore di eventi nel codice vb6).
C'è un modo per annullare l'iscrizione in fase di esecuzione (a livello di programmazione)? Forse facendo qualcosa sul lato C# identificando il delegato che corrisponde al gestore di eventi vb6 e non chiamandolo?
Grazie in anticipo.
In alternativa, è sufficiente ricevere l'evento e tornare immediatamente. – Deanna
Questa alternativa (restituire immediatamente) non è praticabile per me perché quello che sto cercando di eliminare sono le transizioni native/gestite che mi stanno causando un sacco di dolore in termini di perfomance. Quindi, a meno di un'altra idea, probabilmente proverò la tua soluzione sopra. Grazie. – mnrtyrpt123
Si potrebbe anche avere una variabile chiamata "SendMeEventX", che si controlla prima di aumentare l'evento. Questo influenzerà tutti gli ascoltatori. – Deanna