private static IEnumerable <IFolderEventsHandler> GetFolderEventsHandlers( this IEnumerable <FolderConfig> foldersConfigs, LoggerType[] loggerTypes, IFolderEventsLoggerFactory folderEventsLoggerFactory, IOperationEventFactory operationEventFactory) { foreach (var folderConfig in foldersConfigs) { if (folderConfig is null) { continue; } IFolderEventsLogger logger = new MultipleFolderEventsLogger(loggerTypes .GetFolderEventsLoggers(folderEventsLoggerFactory, folderConfig) .ToArray()); IFolderEventsHandler folderEventsHandler = new FolderEventsHandlerViaLogging(operationEventFactory, logger); yield return(folderEventsHandler); } }
public FolderEventsHandlerViaLogging(IOperationEventFactory operationEventFactory, IFolderEventsLogger logger) => (this.operationEventFactory, this.logger) = (operationEventFactory, logger);