5

我有一些类似这样的代码:

[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结构。我发现了几个可以这样做的参考资料,NetDataContractSerializer但没有DataContractSerializer

  • 有没有办法使这项工作?
  • 我只是做错了吗?
4

1 回答 1

0

使用 IDataContractSurrogate 可让您在每个类型或每个对象的基础上进行自定义 JSON 序列化和反序列化。

请参阅API 文档的IDataContractSurrogate 方法,并参阅示例的DataContract Surrogate

此外,要读取和解释 JSON,您将从 JsonReaderWriterFactory 开始,而不是 XML 工厂。请参阅JsonReaderWriterFactory 类以了解我的意思。

希望这可以帮助!

于 2011-02-03T19:14:57.947 回答