2009-03-26 5 views
5

は、私はこのようないくつかのコードの何かを持っている:DataContractSerializerのStreamingContextを設定する方法は?

[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のためにこれができることをseveral references見つけましたが、DataContractSerializerのためにはできません。

  • この方法を使用する方法はありますか?
  • これは間違っていますか?
  • 答えて

    0

    IDataContractSurrogateを使用すると、タイプごとまたはオブジェクトごとにカスタムJSONのシリアル化とデシリアライズを行うことができます。

    APIドキュメントの場合はIDataContractSurrogate Methods、サンプルの場合はDataContract Surrogateを参照してください。

    また、JSONを読み込んで解釈するには、XMLファクトリではなくJsonReaderWriterFactoryを使用します。私が意味するものはJsonReaderWriterFactory Classを参照してください。

    希望すると便利です。

    関連する問題