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;
}
}
существует ли более правильный способ обертки асинхронного вызова?