J'ai ce code :
private async void ContextMenuForGroupRightTapped(object sender, RightTappedRoutedEventArgs args)
{
CheckBox ckbx = null;
if (sender is CheckBox)
{
ckbx = sender as CheckBox;
}
if (null == ckbx)
{
return;
}
string groupName = ckbx.Content.ToString();
var contextMenu = new PopupMenu();
// Add a command to edit the current Group
contextMenu.Commands.Add(new UICommand("Edit this Group", (contextMenuCmd) =>
{
Frame.Navigate(typeof(LocationGroupCreator), groupName);
}));
// Add a command to delete the current Group
contextMenu.Commands.Add(new UICommand("Delete this Group", (contextMenuCmd) =>
{
SQLiteUtils slu = new SQLiteUtils();
slu.DeleteGroupAsync(groupName); // this line raises Resharper's hackles, but appending await raises err msg. Where should the "async" be?
}));
// Show the context menu at the position the image was right-clicked
await contextMenu.ShowAsync(args.GetPosition(this));
}
...que l'inspection de Resharper s'est plainte d'avoir " Comme cet appel n'est pas attendu, l'exécution de la méthode en cours se poursuit avant que l'appel ne soit terminé. Appliquons l'opérateur "await" au résultat de l'appel "(sur la ligne du commentaire).
J'y ai donc ajouté un "await" mais, bien sûr, je dois aussi ajouter un "async" quelque part - mais où ?
1 votes
docs.microsoft.com/en-us/dotnet/csharp/programming-guide/
1 votes
@samsara : Bien, je me demande quand ils ont finalement documenté cela quelque part en dehors de la spécification C#. IIRC, aucune documentation n'existait au moment où cette question a été posée.