/// <inheritdoc /> public ICompressor BuildCompressor( CompressionKind compressionKind) { if (compressionKind == CompressionKind.Invalid) { throw new ArgumentOutOfRangeException(Invariant($"'{nameof(compressionKind)}' == '{CompressionKind.Invalid}'"), (Exception)null); } ICompressor result; switch (compressionKind) { case CompressionKind.None: result = new NullCompressor(); break; case CompressionKind.DotNetZip: result = new DotNetZipCompressor(); break; default: throw new NotSupportedException(Invariant($"{nameof(CompressionKind)} value {compressionKind} is not currently supported.")); } return(result); }
/// <inheritdoc /> public ICompressAndDecompress BuildCompressor( CompressionKind compressionKind) { new { compressionKind }.AsArg().Must().NotBeEqualTo(CompressionKind.Invalid); ICompressAndDecompress result; switch (compressionKind) { case CompressionKind.None: result = new NullCompressor(); break; case CompressionKind.DotNetZip: result = new DotNetZipCompressor(); break; default: throw new NotSupportedException(Invariant($"{nameof(CompressionKind)} value {compressionKind} is not currently supported.")); } return(result); }