механизм обратного вызова в C # .net

#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);
    }
}