This page in the MS documentation, cubriendo asincronía en aplicaciones Windows Forms, afirma:¿Debe cada BeginInvoke ir seguido de un EndInvoke?
Puede llamar EndInvoke para recuperar el valor de retorno del delegado, si NECESARIO, pero esto no es necesario. (énfasis añadido)
This page covering the general case of asynchronous delegates, indica algo diferente:
No importa la técnica que utilice, siempre llame EndInvoke para completar su llamada asincrónica.
Estos dos parecen estar en conflicto directo.
¿Cuál es la verdad? ¿Alguien puede explicar?
vea también, a post by Phil Haack.
relacionadas: Is EndInvoke optional, sort-of optional, definitely not optional?
Estoy de acuerdo con la mayoría de su respuesta, excepto el comentario de que son "llamadas diferentes". No parecen ser llamadas diferentes en absoluto. ¿No están discutiendo EndInvoke sobre los delegados de Asynch? Es solo que EndInvoke en los delegados de control es un caso especial. – Cheeso
@ Cheeso: No - Control.BeginInvoke no es una llamada * en * un delegado en absoluto. * Toma * un delegado. –