У меня есть два проекта: 1: проект форм Windows и 2: проект бизнес-логики, который рекурсивно просматривает файловую систему в поисках определенных файлов.
Я хочу, чтобы проект Windows подписался на событие, похороненное в классе с именем recurse. Проблема, с которой я сталкиваюсь, заключается в том, что экземпляр класса рекурсии создается внутри класса фасада в проекте бизнес-логики.
Проект оконных форм вызывает бизнес-логику через фасад следующим образом:
FileAnalyzerFacade fileAnalyzerFacade = new FileAnalyzerFacade();
fileAnalyzerFacade.WalkDirectory(path, searchFilter));
В проекте 2 FileAnalyzerFacade() создает экземпляр класса Recurse(). Класс Recurse() вызывает событие, когда находит файл. Таким образом, оконная форма ничего не знает о классе Recurse(), только о внешнем фасаде FileAnalyzerFacade().
Фасад имеет следующую подписку:
recurse.FileFound += new FilePropertyEventHandler(analyzeFile);
Когда событие запускается, запускается analysisFile().
Все в порядке, так как FileAnalyzerFacade() создает экземпляр рекурсивного класса. Как заставить проект Windows подписаться на событие, вызванное внутри класса рекурсии?