Использование фонового рабочего с несколькими классами в C #
Я учусь программировать на C # и уже освоил большинство основ. У меня возникли проблемы с использованием фонового работника и использованием его с несколькими классами. Это программа резервного копирования, которую я пишу, у меня есть следующие классы.
lacie.cs ---> используется для поиска устройства резервного копирования main.cs ---> основная запись size.cs ---> определяет размер резервной копии xml.cs ---> считывает файл конфигурации xml каталогов в быть резервным.
Я покажу, что у меня есть в main.cs до сих пор.
[код main.cs]
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace QXBackup
{
class main
{
static void Main(string[] args)
{
lacie BackupDrive = new lacie();
BackupDrive.findLacie();
xml xmlFile = new xml();
xmlFile.ProcessXML();
size BackupSize = new size();
BackupSize.GetSize(xmlFile.Path);
int SizeofBackup = (int)(((BackupSize.BackupSize) / 1024f) / 1024f) / 1024;
Console.WriteLine("Drive Letter: " + BackupDrive.Drive);
Console.WriteLine("Volume Name: " + BackupDrive.VolumeLabel);
Console.WriteLine("Free Space: " + Convert.ToString(BackupDrive.AvailableSize) + "G");
Console.WriteLine("Size of Lacie: " + Convert.ToString(BackupDrive.TotalSize) + "G");
Console.WriteLine("Backup Size: " + Convert.ToString(SizeofBackup + "G"));
Console.WriteLine("Backing up " + BackupSize.FileCount + " files found in " + BackupSize.FolderCount + " folders.");
Console.ReadKey(true);
}
}
}
[конец кода main.cs]
Теперь программа работает нормально и отображает то, что я попросил напечатать на экране. Моя проблема заключается в следующем. Когда он уходит, чтобы вычислить размер задания резервного копирования, программа просто сидит и ждет, пока класс size.cs вернет значение. Я хочу иметь возможность использовать фоновый рабочий инструмент для загрузки программы и обновления номера размера, так как он вычисляет размер и показывает его на экране. Это консольная программа, и я не уверен, смогу ли я это сделать, но она также поможет мне, поскольку я планирую в будущем превратить ее в программу на основе графического интерфейса. Может ли кто-нибудь помочь мне с этим, я пробовал все виды вещей, и ничего не работает. Я думаю, что моя путаница заключается в том, чтобы представить фонового работника и как правильно его реализовать. Спасибо за помощь