We have a use case for Remotion.IO.Archive.Zip, where we do not need the Stream as a return value, but the generated zip file.
While we can workaround this, it is not a nice workaround.
A build method with the following Signature
would be nice.
The proposed change can also be solved using an extension method that encloses the result in a using or by appending a call to Stream.Dispose()
This can then also be wrapped in an extension method provided by the project.
Changing the interface to introduce the overload directly would be breaking change just for the purpose of introducing an overload. We want to avoid that to preserve backwards-compatiblity. Therefor, the integrated solution would be an extension method as well and be equivalent to a project-specific fix and not provide much benefit.
Reopened with the suggestion to only add the new Build method to implementation type but not the interface and to not open the File-Stream in the new Build method.