c# синхронный вызов асинхронного метода

разрабатывается библиотека, реализующая функционал ряда API различных сервисов, по сути своей - прокси. одинаковые (идеологически) методы разных сервисов могут быть как синхронными, так и асинхронными. разрабатываемая библиотека строго синхронна.

public class API_n_proxy : CustomProxyAPI
{
    private API_n api;

    ...

    public override MyType ExecuteSomeMethod()
    {
        MyType result = null;
        api.ExecuteMethodAsync().ContinueWith((t) =>
        {
            MyType tmpResult = new MyType();
            // обработка полученного результата
            result = tmpResult;
        });

        while (result == null)
            Application.DoEvents();

        return result;
    }
}

существует ли более правильный способ обертки асинхронного вызова?


Ответы (0 шт):