This page in the MS documentation, obejmujące asynchrony w aplikacji Windows Forms, stwierdza:Czy za każdym razem, po rozpoczęciu Invinvoke, musi nastąpić EndInvoke?
Można zadzwonić EndInvoke odzyskać wartości zwracanej od delegata, jeśli neccesary, ale nie jest to wymagane. (podkreślenie dodane)
This page covering the general case of asynchronous delegates, twierdzi coś innego:
Bez względu na to, która z technik użyć, zawsze zadzwonić EndInvoke aby zakończyć asynchroniczne wywołanie.
Te dwa wydają się być w bezpośrednim konflikcie.
Co jest prawdą? Czy ktoś może wyjaśnić?
patrz również, a post by Phil Haack.
pokrewne: Is EndInvoke optional, sort-of optional, definitely not optional?
Zgadzam się z większością odpowiedzi, z wyjątkiem komentarza, że są to "różne połączenia". Wcale nie wydają się być różnymi połączeniami. Czy obaj nie rozmawiają o EndInvoke na delegatach asynchów? Po prostu EndInvoke na delegatach kontrolnych jest szczególnym przypadkiem. – Cheeso
@Cheeso: Nie - Control.BeginInvoke nie jest połączeniem * on * delegata w ogóle. * Bierze * delegata. –