2010-08-06 15 views
5

Esta es la primera vez que uso un hilo que requiere devolver valores a otra clase mediante un método de devolución de llamada. He leído sobre él, y parece que todo el mundo está usando AsyncMethodCaller. Sin embargo, a pesar de que he agregado la referencia necesaria a mi proyecto, VS 2008 cree que no está definido ... ¿qué más podría estar haciendo mal aquí?¿Por qué no puedo usar AsyncMethodCaller?

Respuesta

9

no veo AsyncMethodCaller en la documentación de MSDN, que no sea como parte de un código de ejemplo aquí (se define el AsyncMethodCaller delegar a sí mismo):

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

código parcial sigue (ver el enlace de todo el ejemplo):

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. gracias por atrapar eso. ¡No me di cuenta de que el delegado se definió en una sección diferente anteriormente en el artículo! Que embarazoso. :) – Dave

Cuestiones relacionadas