我有两个项目 1:Windows 窗体项目和 2:递归遍历文件系统以查找特定文件的业务逻辑项目。
我希望 windows 项目订阅一个隐藏在一个名为 recurse 的类中的事件。我遇到的问题是递归类的实例在业务逻辑项目的外观类中实例化。
windows 窗体项目通过外观调用业务逻辑,如下所示:
FileAnalyzerFacade fileAnalyzerFacade = new FileAnalyzerFacade();
fileAnalyzerFacade.WalkDirectory(path, searchFilter));
在项目 2 中,FileAnalyzerFacade() 创建了 Recurse() 类的实例。Recurse() 类在找到文件时引发事件。所以windows窗体对Recurse()类一无所知,只知道外立面FileAnalyzerFacade()。
门面有以下订阅:
recurse.FileFound += new FilePropertyEventHandler(analyzeFile);
当事件被触发时,analyzeFile() 就会运行。
这一切都很好,因为 FileAnalyzerFacade() 创建了递归类的实例。如何让 windows 项目订阅递归类中引发的事件?