コード例 #1
0
        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);
        }
コード例 #2
0
 private void FileDeleted(object param)
 {
     if (OnFileDeleted != null)
     {
         FileDeletedWrapper wrapper = (FileDeletedWrapper)param;
         OnFileDeleted(wrapper.fileName, wrapper.size);
     }
 }