c# - 是否可以在不将原始阅读器向前移动的情况下创建 TextReader 的副本?

标签 c#

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

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

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

我知道您不能“倒回”TextReader,但有没有办法复制它,这样我就可以读取并丢弃临时副本,而根本不需要推进源 TextReader?

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

如果是这样,有人可以详细说明以便我理解吗?

提前致谢。

最佳答案

有点黑客,但你可以这样做,ReadToEnd字符串中的整个文本,做你想做的,然后传回一个 new StringReader使用您之前阅读的字符串创建。我希望黑盒系统会像魅力一样工作。

关于c# - 是否可以在不将原始阅读器向前移动的情况下创建 TextReader 的副本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11036845/

相关文章:

c# - 不允许两个不同对象范围之间的对象引用

c# - 在不加载到内存的情况下处理 xml

c# - 我想将我的分钟、秒和百分之一拆分为秒和百分之一

c# - BlockingCollection 或 Queue<T> 用于作业?

c# - 快速生成 Excel

c# - MSMQ + C#,接收带有编码 byte[] 正文的消息在 Windows 7 和 Windows XP 上的行为不同

c# - 在 C# windows 服务中捕获键盘事件

c# - 去掉所有 HTML 标签和格式 (RegEx)

c# - Sprite 变得模糊

c# - 如何根据哈希键删除 Amazon Dynamodb 中的记录?