#c#
#c#
Вопрос:
я хотел знать, как мы можем реализовать механизм обратного вызова в .net, поскольку управляемый код не поддерживает указатель на функцию
Комментарии:
1. «управляемый код не поддерживает указатель на функцию» — эмм, да, поддерживает. Он называется делегатом = указатель на типобезопасную функцию
Ответ №1:
вы можете достичь этого с помощью Delegates
и events
взгляните на http://en.csharp-online.net/Delegates_and_Events—Callback_Methods
Ответ №2:
Вы можете сделать это с помощью делегата, как показано ниже
delegate void CallBackTest();
CallBackTest callBackTest = new CallBackTest(TestCallBack);
callBackTest.BeginInvoke(task, new AsyncCallback(functionExecuted), null);
void TestCallBack()
{ }
private void functionExecuted(IAsyncResult result)
{
try
{
callBackTest.EndInvoke(result);
}
catch (Exception ex)
{
//FileWriter.LogException(ex);
}
}