Por que o método delegado assíncrono requer a chamada do EndInvoke?
Por que o representante precisa chamar o EndInvoke antes de o método ser acionado? Se eu preciso chamar o EndInvoke (que bloqueia o segmento), então não é realmente uma chamada assíncrona é?
Aqui está o código que estou tentando executar.
class Program
{
private delegate void GenerateXmlDelegate();
static void Main(string[] args)
{
GenerateXmlDelegate worker = new GenerateXmlDelegate(GenerateMainXml);
IAsyncResult result = worker.BeginInvoke(null, null);
}
private static void GenerateMainXml()
{
Thread.Sleep(10000);
Console.WriteLine("GenerateMainXml Called by delegate");
}
}