#if NET20 || NET35 using System; using System.IO; namespace SabreTools.Serialization.CrossModel { /// /// Derived from the mscorlib code from .NET Framework 4.0 /// internal static class OldDotNet { public static void CopyTo(this Stream source, Stream destination) { if (destination is null) { throw new ArgumentNullException("destination"); } if (!source.CanRead && !source.CanWrite) { throw new ObjectDisposedException(null); } if (!destination.CanRead && !destination.CanWrite) { throw new ObjectDisposedException("destination"); } if (!source.CanRead) { throw new NotSupportedException(); } if (!destination.CanWrite) { throw new NotSupportedException(); } byte[] array = new byte[81920]; int count; while ((count = source.Read(array, 0, array.Length)) != 0) { destination.Write(array, 0, count); } } } } #endif