Ich versuche, eine asynchrone Funktion aufrufen, aber wenn ich es versuche und es tut es hat die rote Linie darunter. Ich möchte die Funktion aufgerufen werden, wenn die Seite geöffnet wird, danke im Voraus.Wie rufe ich Async-Funktion Xamarin
public partial class Home : ContentPage
{
public class GoogleProfile
{
public string Id { get; set;}
}
public Home()
{
InitializeComponent();
}
protected override async void OnAppearing()
{
await Check(/*What do i put in here*/);
}
public async Task Check(GoogleProfile googleprofile)
{
if (String.IsNullOrEmpty(googleprofile.Id))
{
}
else {
await Navigation.PushAsync(new LoginPage());
}
}
}
wie würde ich das nennen? Entschuldigung, ich bin neu in C# und Xamarin
Dann legen Sie es in den Event-Handler für wenn die Seite geöffnet ist. Mach es nicht im Konstruktor. Wenn Sie dann müssen, können Sie 'Task.Run' verwenden, aber ich rate davon ab. – Nkosi
Sie können async im Konstruktor nicht aufrufen, da der Konstruktor die Ausführung des Objekts beenden soll, wenn das Objekt erstellt wird. Tun Sie es in einer Event-Handler- oder Template-Methode. –
Kein wirkliches Problem, aber es ist am besten 'async Task' anstelle von' async void' zu verwenden. Zusätzliche Informationen [auf der MSDN, von der StackOverflow-Regel Stephen Cleary] (https://msdn.microsoft.com/en-us/magazine/jj991977.aspx) – clarkitect