| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 | using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;namespace ILRuntime.Mono{    static class StreamExtensions    {        public static void CopyTo(this Stream src, Stream destination)        {			if (destination == null)			{				throw new ArgumentNullException("destination");			}			if (!src.CanRead && !src.CanWrite)			{				throw new ObjectDisposedException(null, "ObjectDisposed_StreamClosed");			}			if (!destination.CanRead && !destination.CanWrite)			{				throw new ObjectDisposedException("destination", "ObjectDisposed_StreamClosed");			}			if (!src.CanRead)			{				throw new NotSupportedException("NotSupported_UnreadableStream");			}			if (!destination.CanWrite)			{				throw new NotSupportedException("NotSupported_UnwritableStream");			}			InternalCopyTo(src, destination, 81920);		}        static void InternalCopyTo(Stream src, Stream destination, int bufferSize)        {            byte[] array = new byte[bufferSize];            int count;            while ((count = src.Read(array, 0, array.Length)) != 0)            {                destination.Write(array, 0, count);            }        }    }}
 |