是否可以在不移动原始阅读器的情况下创建TextReader的副本?

时间:2012-06-14 15:53:37

标签: c#

我有一个由黑盒子系统创建的TextReader,所以我没有关于创建它的源文件的任何信息。

我需要将这个TextReader传回我在我的应用程序中创建的对象内的黑盒子系统。

但是,我需要从TextReader获取一些信息来帮助创建我的对象。

据我所知,你不能“回放”一个TextReader,但有没有办法复制它,以便我可以阅读并丢弃一个临时副本而不需要推进源TextReader?

我看过this SO thread,但我不确定这是否与我的要求有关。

如果确实如此,有人可以详细说明我能理解吗?

提前致谢。

1 个答案:

答案 0 :(得分:3)

很好的黑客攻击,但你可以这样做,ReadToEnd字符串中的整个文本,做你想做的事情,并传回用你之前读过的字符串创建的new StringReader。我希望黑盒子系统能像魅力一样发挥作用。