W jaki sposób zaimplementowano metodę Stream.CopyTo (Stream) w .NET 4?

Użyteczną wygodą wprowadzoną w .NET 4 jestStream.CopyTo (Stream [, Int32]) który odczytuje treść z bieżącego strumienia i zapisuje go w innym strumieniu.

Eliminuje to potrzebę nieco nudnegokod taki jak ten:

public static void CopyStream(Stream input, Stream output)
{
    byte[] buffer = new byte[32768];
    while (true)
    {
        int read = input.Read (buffer, 0, buffer.Length);
        if (read <= 0)
            return;
        output.Write (buffer, 0, read);
    }
}

Ponieważ nie mam zainstalowanego na tym komputerze .NET 4, zastanawiałem się, czy ktoś, kto ma zainstalowany .NET 4, może otworzyć Reflector i pokazać nam, w jaki sposób zespół Framework Class Library wdrożył tę metodę dla .NET 4.

Porównaj i kontrastuj ich implementację z fragmentem kodu powyżej. W szczególności interesuje mnie, jaki domyślny rozmiar bufora został wybrany.

questionAnswers(1)

yourAnswerToTheQuestion