2013-11-20 33 views
0

我正在处理流,有时我需要更新流的Position。但正如你所知在某些情况下这不被支持。例如,当你从web服务获取流时,就像我的情况:)如何检查Stream.Postion更新是否受支持?

我在这里寻找的是一个适当的方法,如果给定的Stream对象接受Position更新。

有3个看起来像应该工作的领域,CanRead,CanSeek,CanWrite。但我无法通过查看here中这些字段的msdn解释来决定。请帮我在这里。

+0

如果有疑问,请用'try catch'环绕...... –

+1

@AndreiV Nah,如果您能事先了解并妥善处理,请勿打扰。 –

+0

@ThorstenDittmar,我不能说我不同意。我只是想“拯救”一个陈述,还有一些重要的脑细胞,这些细胞可能会花在更重要的事情上。 –

回答

4

这是CanSeek。从文档:

如果从流中提取不支持查找一个类,调用长度,SetLength,位置,并寻求引发NotSupportedException。

+0

我只是看了描述,这就是为什么我没有看到它:/ –

2

CanSeek是您正在查找的方法。设置Position属性涉及寻找。

+1

'CanSeek'是一个**属性**,而不是一个方法。 –

+1

认为“方法”是“做到这一点的方法”,而不是OOP的术语:-)他来自瑞典,所以他可能(就像我们在德国人那样)在面向对象之外使用“方法”这个词,如果我们想告诉人们应用一些...方法来实现某些东西。 –

+0

谁来自瑞典? :)我同意你们两个;)谢谢你们的合作:) –