This page in the MS documentation, couvrant asynchronisme dans les applications Windows Forms, déclare:Est-ce que chaque BeginInvoke doit être suivi d'un EndInvoke?
Vous pouvez appeler EndInvoke pour récupérer la valeur de retour du délégué, si neccesary, mais ce n'est pas nécessaire. (italique ajouté)
This page covering the general case of asynchronous delegates, déclare quelque chose de différent:
Quelle que soit la technique que vous utilisez, appelez toujours EndInvoke pour terminer votre appel asynchrone.
Ces deux semblent être en conflit direct.
Qu'est-ce qui est vrai? Quelqu'un peut-il expliquer?
voir aussi, a post by Phil Haack.
connexes: Is EndInvoke optional, sort-of optional, definitely not optional?
Je suis d'accord avec la plupart de votre réponse, sauf le commentaire qu'ils sont "différents appels". Ils ne semblent pas être des appels différents du tout. Ne parlent-ils pas tous les deux de EndInvoke sur des délégués asynchrones? C'est juste que les EndInvoke sur les délégués de contrôle sont un cas particulier. – Cheeso
@Cheeso: Non - Control.BeginInvoke n'est pas un appel * sur * un délégué du tout. Il * prend * un délégué. –