我有一些像这样的代码:
[DataContract]
class Foo {
[OnSerializing]
private void BeforeSerialize(StreamingContext ctx)
{
((MtType)ctx.Context).DoStuff()
}
...
}
var reader = new XmlTextReader(filename);
var serializer = new DataContractSerializer(typeof(Type));
Type type = (Type)serializer.ReadObject(reader);
我需要提供StreamingContext
结构。我发现several references可以为NetDataContractSerializer
执行此操作,但DataContractSerializer
没有。
答案 0 :(得分:0)
使用IDataContractSurrogate可以基于每个类型或每个对象执行自定义JSON序列化和反序列化。
有关API文档的信息,请参阅IDataContractSurrogate Methods,有关示例,请参阅DataContract Surrogate。
此外,要阅读和解释JSON,您将从JsonReaderWriterFactory开始,而不是XML工厂。请参阅JsonReaderWriterFactory Class了解我的意思。
希望这有帮助!