/// <summary> /// Get an optimizer from the factory /// </summary> /// <param name="extension">The extension of the file that the optimzer needs to support.</param> public IImageOptimizer GetByExtension(string extension) { lock (_Lock) { IImageOptimizer optimizer = _Optimizers.FirstOrDefault(o => o.Supports(extension)); if (optimizer != null) { return((IImageOptimizer)optimizer.Clone()); } else { return(null); } } }
/// <summary> /// Get an optimizer from the factory /// </summary> /// <param name="name">The name of the optimizer.</param> public IImageOptimizer GetByName(string name) { lock (_Lock) { IImageOptimizer optimizer = _Optimizers.FirstOrDefault(o => o.Name.ToLower() == name.ToLower()); if (optimizer != null) { return((IImageOptimizer)optimizer.Clone()); } else { return(null); } } }