2010-08-06 7 views
5

Dies ist das erste Mal, dass ich einen Thread verwendet habe, der über eine Callback-Methode Werte an eine andere Klasse zurückgeben muss. Ich habe es gelesen und es scheint, dass jeder den AsyncMethodCaller benutzt. Obwohl ich den nötigen Hinweis zu meinem Projekt hinzugefügt habe, denkt VS 2008, dass es nicht definiert ist ... was könnte ich sonst noch falsch machen?Warum kann ich AsyncMethodCaller nicht verwenden?

Antwort

9

Ich sehe nicht AsyncMethodCaller in der MSDN-Dokumentation, die nicht als Teil eines Beispiel-Code hier (Sie definieren die AsyncMethodCaller delegieren selbst):

http://msdn.microsoft.com/en-us/library/2e08f6yc.aspx

Teilcode folgt (siehe den Link für das gesamte Beispiel):

using System; 
using System.Threading; 

namespace Examples.AdvancedProgramming.AsynchronousOperations 
{ 
    public class AsyncDemo 
    { 
     // The method to be executed asynchronously. 
     public string TestMethod(int callDuration, out int threadId) 
     { 
      Console.WriteLine("Test method begins."); 
      Thread.Sleep(callDuration); 
      threadId = Thread.CurrentThread.ManagedThreadId; 
      return String.Format("My call time was {0}.", callDuration.ToString()); 
     } 
    } 
    // The delegate must have the same signature as the method 
    // it will call asynchronously. 
    public delegate string AsyncMethodCaller(int callDuration, out int threadId); 
} 
+1

oh jeez. Danke, dass du das eingefangen hast. Ich habe nicht bemerkt, dass der Delegat in einem anderen Abschnitt in dem Artikel definiert wurde! Wie peinlich. :) – Dave

Verwandte Themen