// Copyright 2017-2018 Alexander Luzgarev using System.IO; namespace MatFileHandler.Tests { /// /// A method of writing an IMatFile into a MemoryStream. /// public class MatFileWritingToMemoryStream : MatFileWritingMethod { private readonly MatFileWriterOptions? _maybeOptions; /// /// Initializes a new instance of the class. /// /// Options for the . public MatFileWritingToMemoryStream(MatFileWriterOptions? maybeOptions) { _maybeOptions = maybeOptions; } /// public override byte[] WriteMatFile(IMatFile matFile) { using var memoryStream = new MemoryStream(); var matFileWriter = _maybeOptions switch { { } options => new MatFileWriter(memoryStream, options), _ => new MatFileWriter(memoryStream), }; matFileWriter.Write(matFile); return memoryStream.ToArray(); } } }