2010-08-06 17 views
5

यह पहली बार है जब मैंने एक थ्रेड का उपयोग किया है जिसके लिए कॉलबैक विधि के माध्यम से किसी अन्य वर्ग में मूल्यों को वापस करने की आवश्यकता होती है। मैंने इसे पढ़ लिया है, और ऐसा लगता है कि हर कोई AsyncMethodCaller का उपयोग कर रहा है। हालांकि, भले ही मैंने अपनी परियोजना के लिए आवश्यक संदर्भ जोड़ा है, वीएस 2008 सोचता है कि यह अनिर्धारित है ... मैं यहां और क्या गलत कर सकता हूं?मैं AsyncMethodCaller का उपयोग क्यों नहीं कर सकता?

उत्तर

9

मैं MSDN दस्तावेज में AsyncMethodCaller नहीं दिख रहा है, उदाहरण के लिए कुछ कोड यहाँ के हिस्से के रूप के अलावा अन्य (आपके द्वारा निर्धारित AsyncMethodCaller खुद के प्रतिनिधि):

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

आंशिक कोड इस प्रकार (के लिए लिंक देखें पूरा उदाहरण):

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

ओह जीज़। इसे पकड़ने के लिए धन्यवाद। मुझे एहसास नहीं हुआ कि प्रतिनिधि को लेख में पहले एक अलग सेक्शन में परिभाषित किया गया था! कितना शर्मनाक है। :) – Dave

संबंधित मुद्दे