In un'applicazione Windows 8 in C#/XAML, a volte voglio chiamare un metodo attendibile da un metodo non asincrono.È possibile chiamare un metodo attendibile in un metodo non asincrono?
In realtà è corretto sostituire questo:
public async Task<string> MyCallingMethod()
{
string result = await myMethodAsync();
return result;
}
da questo:
public string MyCallingMethod()
{
Task.Run(async() => {
string result = await myMethodAsync();
return result;
});
}
Il vantaggio per me è che posso usare MyCallingMethod senza attendere ma è corretto? Questo può essere un vantaggio se voglio passare un parametro ref per MyCallingMethod dato che non è possibile avere parametri ref in un metodo asincrono.
non funzionerà. la tua funzione anonima asincrona non restituirà il valore alla funzione esterna. – Denis