1

そんな感じでファイルを削除。また、UI の更新がいつ完了したかを知る必要があります ( のファイルのリストListBox)。

どうすればいいのかわかりません...fi.DeleteAsync().IsCompleted どうにかして値を使用できますか?

FileInfo fi = new FileInfo(currentPackage.FullPathFileName);          
fi.DeleteAsync().Wait();          
// Here I need some code to check when it is done. Any clues?

...

public static class FileExtensions
{
  public static Task DeleteAsync(this FileInfo fi)
  {
     return Task.Factory.StartNew(() => fi.Delete());
  }
}
4

2 に答える 2

2

を呼び出す代わりにWait、継続を使用する必要があります。

fi.DeleteAsync().ContinueWith(t => { /* update ui here */ }, TaskScheduler.FromCurrentSynchronizationContext());

を使用TaskScheduler.FromCurrentSyncronizationContext()すると、継続が UI スレッドで確実に実行されます。

于 2013-04-17T15:15:53.643 に答える
1

削除後fi.DeleteAsync().Wait();

そのファイルが存在しないかどうかを確認してからif(!fi.exists)、UI を更新できます。

于 2013-04-17T15:08:45.070 に答える