У меня есть несколько вложенных классов со следующей структурой:
BackupLocation содержит список клиентов BackupClient
BackupClients содержит список BackupVersions
BackupVersions содержит список файлов BackupFiles
В моем пользовательском интерфейсе - я заполняю поле со списком BackupLocations - и имею несколько списков для клиентов, версий и файлов.
При обработке BackupLocations - я могу легко обновить строку состояния, потому что это класс верхнего уровня, который создает пользовательский интерфейс. Но как я могу обновить строку состояния и индикатор выполнения для каждого обрабатываемого файла? Поскольку файлы BackupFiles имеют 3 уровня, я не вижу способа обновить пользовательский интерфейс. Фактическая обработка файлов находится в классе BackupVersion, который загружает свои файлы.
Я думаю, что это, вероятно, как-то связано с событиями и делегатами, но я точно не знаю, как поступить с этим, любая помощь будет оценена.