2013-09-18 4 views
0

У меня есть объект MemoryStream, и я хочу записать его в файл и передать его как параметр в следующем методе passFile. Метод passFile в настоящее время принимает объект FileStream как параметр, но есть ли способ, которым я мог бы преобразовать объект MemoryStream в объект FileStream? ПомощьПередайте объект MemoryStream объекту FileStream

MemoryStream ms = new MemoryStream(); 

public void passFile (FileStream file){ 

} 

ответ

1

Вы можете использовать Stream абстракции, и передавать любой тип потока, как FileStream, MemoryStream и т.д ... для образца:

public void passFile(Stream stream) 
{ 
    // process stream 
} 
+0

Спасибо за ваш ответ. Как преобразовать поток в файл? Я смотрю ссылку @dasblinkenlight, и до сих пор не могу понять, что такое 'File', поэтому я мог бы использовать его в методе. – user1315906

+0

Посмотрите на ссылку dasblinkenlight: http://stackoverflow.com/questions/8624071/save-and-load-memorystream-to-from-a-file/8624188#8624188 ... есть способ конвертировать между ними. –

2

Нет, вы не можете бросить его: MemoryStream и FileStream являются братьями и сестрами в иерархии наследования, их нельзя отливать друг от друга.

Если метод не может быть переписан, чтобы взять Stream, вы могли бы write the content of the MemoryStream в temporary file, а затем открыть FileStream на основе содержимого этого файла.

Смежные вопросы