En una aplicación de Windows 8 en C#/XAML, a veces quiero llamar a un método que se pueda esperar de un método no asincrónico.¿Es posible llamar a un método de espera en un método no asíncrono?
En realidad ¿es correcto sustituir este:
public async Task<string> MyCallingMethod()
{
string result = await myMethodAsync();
return result;
}
por esto:
public string MyCallingMethod()
{
Task.Run(async() => {
string result = await myMethodAsync();
return result;
});
}
La ventaja para mí es que puedo usar MyCallingMethod sin esperar, pero ¿es esto correcto? Esto puede ser una ventaja si quiero pasar un parámetro ref para MyCallingMethod ya que no es posible tener parámetros ref en un método asíncrono.
no va a funcionar. su función asíncrona anónima no devolverá valor a la función externa. – Denis