In einer Windows 8-Anwendung in C#/XAML möchte ich manchmal eine erwartete Methode von einer nicht asynchronen Methode aufrufen.Ist es möglich, eine erwartete Methode in einer nicht asynchronen Methode aufzurufen?
Eigentlich ist es richtig, diese zu ersetzen:
public async Task<string> MyCallingMethod()
{
string result = await myMethodAsync();
return result;
}
durch diese:
public string MyCallingMethod()
{
Task.Run(async() => {
string result = await myMethodAsync();
return result;
});
}
Der Vorteil für mich ist, dass ich MyCallingMethod ohne warten können, aber ist das richtig? Dies kann von Vorteil sein, wenn ich einen Ref-Parameter für MyCallingMethod übergeben möchte. Es ist nicht möglich, ref-Parameter in einer asynchronen Methode zu haben.
wird nicht funktionieren. Ihre anonyme asynchrone Funktion gibt keinen Wert an äußere Funktion zurück. – Denis