コード例 #1
0
        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);