为什么我不能使用AsyncMethodCaller?

时间:2010-08-06 00:26:51

标签: c# multithreading .net-3.5

这是我第一次使用需要通过回调方法将值返回到另一个类的线程。我已经阅读了它,似乎每个人都在使用AsyncMethodCaller。然而,即使我已经为我的项目添加了必要的参考,VS 2008认为它是未定义的......我还有什么可能在这里做错了?

1 个答案:

答案 0 :(得分: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);
}