Udostępnij za pośrednictwem


Reguły obsługi zdarzeń

Istnieją trzy kroki wspólne dla całej obsługi zdarzeń. Należy wykonać następujące kroki:

  • Zaimplementuj interfejs zdarzenia w obiekcie.

  • Poinformuj źródło zdarzeń, że obiekt chce odbierać zdarzenia.

  • Nienadzoruj źródło zdarzeń, gdy obiekt nie musi już odbierać zdarzeń.

Sposób implementacji interfejsu zdarzeń będzie zależeć od jego typu. Interfejs zdarzenia może być wirtualny, podwójny lub dispinterface. Do projektanta źródła zdarzeń należy zdefiniowanie interfejsu; To ty musisz zaimplementować ten interfejs.

Uwaga

Chociaż nie ma żadnych powodów technicznych, że interfejs zdarzenia nie może być podwójny, istnieje wiele dobrych powodów projektowych, aby uniknąć użycia podwójnych. Jest to jednak decyzja podjęta przez projektanta/implementatora źródła zdarzeń. Ponieważ pracujesz z perspektywy zdarzenia sink, musisz zezwolić na możliwość, że nie masz żadnego wyboru, ale zaimplementować podwójny interfejs zdarzenia. Aby uzyskać więcej informacji na temat podwójnych interfejsów, zobacz Podwójne interfejsy i ATL.

Porady dotyczące źródła zdarzeń można podzielić na trzy kroki:

Po pomyślnym zarejestrowaniu zainteresowania odbieraniem zdarzeń metody w interfejsie zdarzeń obiektu będą wywoływane zgodnie ze zdarzeniami wyzwalanym przez obiekt źródłowy. Gdy nie musisz już odbierać zdarzeń, możesz przekazać plik cookie z powrotem do punktu połączenia za pośrednictwem protokołu IConnectionPoint::Unadvise. Spowoduje to przerwanie połączenia między źródłem a ujściem.

Należy zachować ostrożność, aby uniknąć cykli referencyjnych podczas obsługi zdarzeń.

Zobacz też

Obsługa zdarzeń