Sto riscontrando un po 'di problemi nel comprendere che la chiamata al metodo BeginInvoke() in un delegato quando chiama in modo asincrono i metodi, dopo il completamento dei suoi compiti, perché BeginInvoke() non può restituire il valore restituito dal metodo, perché richiediamo EndInvoke() per interrogare BeginInvoke() e restituire il valore di ritorno da esso. So che questo può non essere una buona domanda, ma la mia confusione è reale :-)perché è necessario che EndInvoke() restituisca il valore della chiamata asincrona in delegato?
Aggiunta: posso chiamare un metodo in modo asincrono utilizzando DelagateName.BeginInvoke (parametri), ora quando il metodo di corrispondenza nel delegato (supponiamo che restituisce un valore) termina il suo lavoro e restituisce un valore, perché ho bisogno di DelegateName.EndInvoke() per ottenere il valore restituito? perché la prima chiamata non può restituire valore sul completamento del metodo.
Grazie Jon, questo risolve davvero la mia domanda :-), credo che nella lingua di un laico BeginInvoke è fatto per ottenere la chiamata e restituito il controllo con la promessa di prendersi cura del lavoro, quindi non può più fare alcun lavoro di ritorno , quindi EndInvoke() sarà necessario per fare quel lavoro più tardi ... (Credo che stia pensando giusto!) – mohits00691
@ mohits00691: Non proprio come lo esprimerei, ma penso che tu abbia avuto l'idea giusta :) –
Grazie Jon, mi ha aiutato molto a chiarire questo dubbio, credo che con il tempo continuerò a tuffarmi sempre di più, grazie mille a tutti. – mohits00691