在使用Stream之后离开Stream的社交可接受方式是什么?

Luk*_*ett 7 c#

如果你是,甚至是在你自己的代码,设计一个API和方法接受一个Stream,是你的方法有责任检查的位置并将其重置为所提供的开始即CanSeektrue使用它之前?

如果是这样,为什么没有一种方法可以在Stream类本身上完成所有这些操作呢?

多年来,我已经被假设Stream在0位置进入我的方法时被抓了几次.

Stream在使用它之后重置可能的地方是否正确?

或者,应该Stream总是复制而不是直接传递?对我来说似乎有点过分了.

Hen*_*man 10

如果CanSeek在使用之前是真的,那么你的方法有责任检查位置并将其重置为开头吗?

不,在这种情况下,我希望调用代码正确地准备流.

在方法上共享流的最常见模式要求指针在最后一次读/写之后完全保留,因此这种情况永远不会出现太多.

但使用它最好的事情是:什么都不做.