数据写入流时的事件?

hai*_*yyu 2 c# events filestream

我正在尝试创建一个程序,一旦将新数据写入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();
    }

}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,所有这一类都要等到流的长度大于其当前位置.它似乎工作,但是,我一直想知道是否有更好的方法来做到这一点.所以我的问题是:

有没有更好的方法来执行上面发布的代码剪辑中所执行的操作?

Mat*_*nen 5

您可能需要查看FileSystemWatcher,看看这对您来说是否是更好的解决方案.忙碌的等待通常不是一个好的解决方案.

  • 轻描淡写的+1:"忙碌的等待通常不是一个好的解决方案" (2认同)