2011-11-04 12 views
36

Cómo crear una instancia de System.IO.Stream stream. Una de mis funciones recibe System.IO.Stream stream como parámetro y le escribe algo. Entonces, ¿cómo puedo crear una nueva instancia de la misma y pasarla a la función?Cómo crear una instancia de la secuencia System.IO.Stream

+3

Sí. Lo tengo 'System.IO.Stream stream = new System.IO.MemoryStream();' – Rauf

Respuesta

66
System.IO.Stream stream = new System.IO.MemoryStream(); 
+2

¿Tenemos que llamar Cerrar o Eliminar en dicha secuencia "vacía"? –

+2

Respuesta corta: sí. Para obtener una respuesta más larga, consulte la respuesta de John Skeet http://stackoverflow.com/a/234257/1480854 – Josh

19

Debe crear una instancia de una de las subclases. Stream es una clase abstracta que no puede crearse una instancia directamente.

Hay un montón de opciones si nos fijamos en la parte inferior de la referencia aquí:

Stream Class | Microsoft Developer Network

La más común siendo probablemente FileStream o MemoryStream. Básicamente, debe decidir dónde desea que provenga la fuente de datos de respaldo, luego cree una instancia de la subclase adecuada.

0

Stream es una clase base, necesita crear uno de los tipos específicos de transmisiones, como MemoryStream.

4
Stream stream = MemoryStream(); 

puede utilizar MemoryStream

-1

corriente System.IO.Stream es una clase abstracta. Encuentre el artículo de MSDN a continuación.

http://msdn.microsoft.com/en-us/library/system.io.stream.aspx

Por ejemplo siguiente código crea una instancia de StreamReader.

System.IO.Stream textStream = new System.IO.StreamReader(""); 

System.IO.Stream es la clase base de System.IO.StreamReader clase (y otro conjunto de clases).

+0

Uhm, StreamReader NO es una clase derivada de Stream. StreamReader es una composición sobre Stream. MemoryStream, FileStream, NetworkStream, etc. son ejemplos de clases derivadas de Stream. Compruebe el espacio de nombres System.IO. Aparte de eso, tu respuesta es correcta :) – Polity

+0

Este es un gran error, StreamReader no se puede convertir a Stream porque no es una subclase – sam

Cuestiones relacionadas