我最近遇到的有趣问题:
我实现了一个Stream类(一个自定义流管道组件的包装流),一些后来的测试让我的管道抛出异常.由于我的流是一个仅向前的,不可写的流实现(CanSeek和CanWrite返回false,位置:设置抛出异常,没什么异常),因此我调用Seek时抛出了异常,因为我已经硬编码抛出NotImplementedException.对Seek的调用来自非托管代码,因此我无法真正调试它.我真正可以告诉的是,即使我让CanSeek返回false并且用户甚至没有检查CanSeek ,我的Stream实现也会调用Seek .
那是怎么回事?