2011-04-20 14 views
29

Encontré el código de carga y este código contiene el método Stream.CopyTo.Cómo usar Stream.CopyTo en .NET Framework 3.5?

Ejemplo:

file.Stream.CopyTo(requestStream); // .NET Framework 4.0 

¿Cómo puedo copiar "file.Stream" a "requestStream"?

+0

En la versión .NET 4.0 antes de que debe escribir su propio método para copiar la corriente : http://stackoverflow.com/questions/230128/best-way-to-copy-between-two-stream-instances-c –

Respuesta

73

No puedes, básicamente. Sólo ha implementado en .NET 4. Se puede escribir un método similar a sí mismo, aunque ... e incluso que sea un método de extensión:

// Only useful before .NET 4 
public static void CopyTo(this Stream input, Stream output) 
{ 
    byte[] buffer = new byte[16 * 1024]; // Fairly arbitrary size 
    int bytesRead; 

    while ((bytesRead = input.Read(buffer, 0, buffer.Length)) > 0) 
    { 
     output.Write(buffer, 0, bytesRead); 
    } 
} 
+1

+1, pero elimine el 2º "esto" ;-) –

+0

@Robert: Whoops :) Hecho. –

+5

¡Por un momento, pensé que había una increíble función de método de extensión C# que no había visto antes! – MattDavey

Cuestiones relacionadas