Использование фонового рабочего с несколькими классами в 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 вернет значение. Я хочу иметь возможность использовать фоновый рабочий инструмент для загрузки программы и обновления номера размера, так как он вычисляет размер и показывает его на экране. Это консольная программа, и я не уверен, смогу ли я это сделать, но она также поможет мне, поскольку я планирую в будущем превратить ее в программу на основе графического интерфейса. Может ли кто-нибудь помочь мне с этим, я пробовал все виды вещей, и ничего не работает. Я думаю, что моя путаница заключается в том, чтобы представить фонового работника и как правильно его реализовать. Спасибо за помощь

Ответы на вопрос(5)

Ваш ответ на вопрос