非同期で実行したい単純なコードがあります。
public async Task EncryptAsync()
{
for (int i = 0; i < 10; i++)
{
// shift bytes
// column multiplication
// and so on
}
}
それが私が上記の方法を呼び出す方法です:
private async void Encryption()
{
ShowBusyIndicator();
await encryptor.EncryptAsync();
HideBusyIndicator();
}
ポイントは、await Task.Delay(1000);
このメソッドを追加すると、busi インジケーターが表示されますが、1 秒後にアプリケーションがロックされ、暗号化が完了するまで同期して待機することです。Task.Delay を削除すると、操作が終了した後にアプリケーションがロックおよびロック解除されます。
私の場合、適切に await と asyc を使用するにはどうすればよいですか? メソッドをencryptor.EncryptAsync()
非同期で実行するだけです。