_FR>AsyncSumCaller — это что такое?
забыл)) это делегат. Вот еще раз код (надеюсь на это раз полный и без ошибок):
класс:
delegate int AsyncSumCaller(int a, int b);
class MyClass
{
public int Sum(int a, int b)
{
Thread.Sleep(5000);
return a + b;
}
public IAsyncResult BeginSum(int a, int b, AsyncCallback callBack)
{
AsyncSumCaller asyncSumCaller = new AsyncSumCaller(Sum);
return asyncSumCaller.BeginInvoke(a, b, callBack, this);
}
public int EndSum(IAsyncResult ar)
{
AsyncSumCaller asyncSumCaller = (AsyncSumCaller)((AsyncResult)ar).AsyncDelegate;
return asyncSumCaller.EndInvoke(ar);
}
}
использование класса:
class UseMyClass
{
public static void Main()
{
MyClass myClass = new MyClass();
myClass.BeginSum(2, 3, new AsyncCallback(ReceiveSum));
}
private void ReceiveSum(IAsyncResult ar)
{
MyClass myClass = (MyClass)ar.AsyncState;
int sum = myClass.EndSum(ar);
}
}