【发布时间】:2017-12-18 03:02:10
【问题描述】:
所以我现在还没有编写我正在处理的代码,我正在研究如何最好地处理这个问题。
现在我有这个。
public static void WriteSymbol(Stream stream, Symbol symbol)
{
using (var streamWriter = new StreamWriter(stream))
{
JsonSerializer.Create(SerializerSettings).Serialize(streamWriter, symbol);
}
}
我希望在测试完成后能够读取流的内容,以便检查集成。问题是现在在序列化之后,流被关闭了,我不能再从中读取了。
我看到了 JsonWriter public bool CloseOutput { get; set; },但我没有看到这个静态 JsonSerializer 的内容。
解决此问题的最佳方法是什么? 如何防止序列化程序关闭流? 有什么方法可以检查 Stream 的内容吗?
【问题讨论】:
-
你确定是关闭它的序列化程序吗?
-
我强烈怀疑
StreamWriter是在这里关闭它的东西......请参阅@JeffE 链接到的问题 - 很有可能它会让你排序 -
@MarcGravell
StreamWriter上有构造函数参数。LeaveOpen. -
@ditoslav 根据 IL:1024
标签: c# stream json.net streamwriter jsonserializer