public override void Work(object param) { DeleteFileWrapper wrapper = (DeleteFileWrapper)param; SynchronizationContext context = wrapper.context; List <string> files = wrapper.filesList; foreach (var file in files) { if (running) { try { long size = new FileInfo(file).Length; File.Delete(file); FileDeletedWrapper wrapperResult = new FileDeletedWrapper(); wrapperResult.fileName = file; wrapperResult.size = size; context.Send(FileDeleted, wrapperResult); } catch (Exception) { context.Send(FileNotDeleted, file); } } } context.Send(Finished, running); }
private void FileDeleted(object param) { if (OnFileDeleted != null) { FileDeletedWrapper wrapper = (FileDeletedWrapper)param; OnFileDeleted(wrapper.fileName, wrapper.size); } }