У меня есть бинарник с потоком памяти, и мне нужно очистить его, если произойдет одно условие:
public void Execute() {
MemoryStream memoryStream = new MemoryStream();
BinaryWriter writer = new BinaryWriter(memoryStream);
Log log = new Log(writer);
log.Write("OK1");
...
// If condition
memoryStream = new MemoryStream();
...
log.Write("OK2");
...
}
public class Log {
private BinaryWriter log;
public Log(BinaryWriter bw)
{
log = bw;
}
public void write(string msg)
{
log.Write(msg);
}
}
Но проблема в том, что поток памяти пуст. Я снова попытался создать новый BinaryWriter:
public void Execute() {
MemoryStream memoryStream = new MemoryStream();
BinaryWriter writer = new BinaryWriter(memoryStream);
Log log = new Log(writer);
log.Write("OK1");
...
// If condition
memoryStream = new MemoryStream();
writer = new BinaryWriter(memoryStream);
...
log.Write("OK2");
...
}
public class Log {
private BinaryWriter log;
public Log(BinaryWriter bw)
{
log = bw;
}
public void write(string msg)
{
log.Write(msg);
}
}
Но и BinaryWriter, и MemoryStream пусты.
Как я могу очистить бинарную запись с потоком памяти? Мне нужно записать окончательное содержимое потока памяти в файл.
Спасибо!
recordStream
, а не наmemoryStream
. - person Anton Tykhyy   schedule 01.12.2013