Mam WinForm winform1 i 2 użytkownik kontroluje kontroli1 i kontroli2 w tej formiePisanie globalnego zdarzenia niestandardowego w C#
teraz chcę, aby zdefiniować niestandardowe zdarzenie, który jest podniesiony/zwolniony w kontroli1 i otrzymany w kontroli2. Zdarzenie powinno być globalne i nie jest bezpośrednio zdefiniowane w control1. kontrola2 nie powinna wiedzieć o istnieniu kontroli1. Zdarzenie należy również podnieść za pomocą innych elementów sterujących. W jaki sposób jest kod C#? Czy potrzebuję czegoś w rodzaju klasy wydawcy?
Uważaj na wycieki pamięci, jeśli przejdziesz w ten sposób ... wydarzenie będzie zawierało silne odniesienia do jego programów obsługi i uniemożliwi ich zbieranie, jeśli nie anulujesz subskrypcji. –
W jaki sposób wydarzenie zawiera silne odniesienia do jego programów obsługi w ta sprawa? Czy możesz rozwinąć? – AllSolutions
@AllSolutions, ponieważ zdarzenia z definicji zawierają odniesienia do procedur obsługi. Po prostu statyczne zdarzenia nigdy nie wykraczają poza zakres, ponieważ są statyczne, podczas gdy zdarzenia instancji wykraczałyby poza zakres wraz z obiektem, który go zawierał. –