2011-08-03 6 views
1

Silverlightで詳細なコピーを行う必要があります。これは、シリアライズ/デシリアライズのアプローチを試してみることで可能です。コピーされたオブジェクトは正確なクローンではありません。コピーでプロパティの一部を変更する必要があります。SilverlightのDataContractSerizerでStreamingContextを設定するにはどうすればよいですか?

私はこのような何かを行うことができるはず:StreamingContextを使用して設定されている

[OnDeserialized()] 
public void OnDeserializedMethod(StreamingContext context) 
{ 
    if (context.State == StreamingContextStates.Clone) 
    { 
    //stuff 
    }  
} 

NetDataContractSerializer

NetDataContractSerializer ds = new NetDataContractSerializer(new StreamingContext(StreamingContextStates.Clone)); 

シルバー:-(しかしNetDataContractSerializerを持っていません。

DataContractSerializerStreamingContextを設定する方法はありますかrkと?私は盲目的にすべてのシリアライズ操作に自分の変更を適用することはできません。それはコピーの特定のケースのみです。

あるいは、(デ)シリアライゼーションプロセスに同様のフックを与えるもう1つの方法がありますので、データを再生できますか?

(私はIDataContractSurrogateを実装するに見てきたが、a)は、それは苦痛だったと、b)Silverlightは、それらのいずれか...のいずれかを持っていません)

答えて

0

私はあなたができないという結論に来ていますそれで、私は別のアプローチが順調であると思います。

関連する問題