Warum asynchrone Delegaten-Methode erfordern den Aufruf von EndInvoke?

Warum wird der Delegat-Aufruf müssen die EndInvoke, bevor die Methode feuert? Wenn muss ich anrufen die EndInvoke (die Blöcke der thread) dann ist nicht wirklich ein asynchroner Aufruf ist es?

Hier ist der code, den ich versuche zu laufen.

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");
        }
    }
InformationsquelleAutor | 2009-11-11
Schreibe einen Kommentar