Mam dwa obiekty - jeden zawierający kod z wywołaniem zdarzenia i taki, który zawiera procedurę obsługi tego zdarzenia. Nie mogę "AddHandler" w Load pierwszego obiektu, ponieważ instancja drugiego obiektu jeszcze nie istnieje. Kiedy podniosę swoje wydarzenie, chcę sprawdzić, czy kopia obiektu2 została utworzona (łatwe do zrobienia), i czy do zdarzenia dołączono obsługę (nie wiem jak to zrobić).Ustal, czy zdarzenie zostało dołączone do jeszcze jednego atrybutu:
Jestem także otwarty na inne zalecenie dotyczące tego, jak to zrobić. Jeśli zrobię mój AddHandler w Object1.Load, a Object2 jeszcze nie istnieje, to nigdy nie obsłuży mojego wydarzenia, nawet jeśli utworzę je później. W tej chwili, w kodzie, który uruchamia to wydarzenie, po prostu uciekam się do wykonywania RemoveHandler, a następnie AddHandler za każdym razem, gdy wydarzenie jest wywoływane, i wtedy wiem, że dołączę, gdy obiekt w końcu istnieje, ale wiem o tym to nieudolna metoda.
Widziałem artykuł o czymś podobnym (Determine list of event handlers bound to event) i być może brakuje mi czegoś w tłumaczeniu, ale nie mogę uzyskać kodu do pracy na moim niestandardowym wydarzeniu w VB.NET.
Dlaczego nie można użyć withevents? – chrissie1
Nie jestem pewien, w jaki sposób użycie WithEvents wpłynęłoby na moją sytuację - nie chodzi o to, czy zdarzenie nie zostało podniesione, czy o obsługę nie działa poprawnie - oboje są w porządku. Po prostu nie mogę dołączyć handler'a, dopóki nie otrzymam instancji obiektu, która obsłuży to wydarzenie, więc nie jestem pewien najlepszego miejsca, by to sprawdzić. – SqlRyan