问一个也许很弱的问题,关于异步回调的
我想用同步的方式操作异步方法 .我能在一个函数中调用 异步方法,并且能在这个函数中得到这个异步方法执行的结果. 这样有没有可能实现?
比如 以下的伪代码
public int Callback()
{
return 1;
}
public void s()
{
//调用异步方法
int i= new AsyncCallback(Callback);
// i 就是 Callback 返回的值 1;
}
[解决办法]
1 加全局变量标志完成未完成,调用方用循环DoEvents 判断标志等待回调完成
2 用ManualResetEvent WaitOne阻塞调用方,回调完成后ManualResetEvent Set
[解决办法]
学习中...这个是个头疼的问题i
[解决办法]
namespace AsyncTest
{
class Program
{
public delegate int AsyncDelegate();
static void Main(string[] args)
{
AsyncDelegate async = ()=>{return 1;};
async.BeginInvoke(
(
ia=>{
int i = ((AsyncDelegate)ia.AsyncState).EndInvoke(ia);
Console.WriteLine(i);
}
)
,async
);
Console.Read();
}
}
}