Я пытаюсь создать программу, которая вызывает действие, как только новые данные были записаны в объект FileStream. Мой текущий подход заключается в следующем:
public class BlockingFileStream : FileStream
{
public override int Read(byte[] array, int offset, int count)
{
while (Position == Length) ;
return base.Read(array, offset, count);
}
public override int ReadByte()
{
while (Position == Length) ;
return base.ReadByte();
}
}
Как видите, все, что делает этот класс, это ждать, пока длина потока не станет больше его текущей позиции. Кажется, это работает, но мне было интересно, есть ли лучший способ сделать это. Итак, мой вопрос:
Есть ли лучший способ сделать то, что делается в приведенном выше фрагменте кода?