Ejemplo n.º 1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ImageExtractor{T1, T2}"/> class.
        /// </summary>
        /// <param name="loggerFactory">The logger factory.</param>
        /// <param name="fileSystemStrategy">The file system strategy.</param>
        /// <param name="readerFactory">The image reader factory.</param>
        public ImageExtractor(
            ILoggerFactory loggerFactory,
            IFileSystemStrategy fileSystemStrategy,
            IImageReaderFactory <T1, T2> readerFactory)
        {
            logger = loggerFactory?.CreateLogger <ImageExtractor <T1, T2> >();
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            this.fileSystemStrategy = fileSystemStrategy ?? throw new ArgumentNullException(nameof(fileSystemStrategy));
            this.readerFactory      = readerFactory ?? throw new ArgumentNullException(nameof(readerFactory));
        }