0
私はシリアライズしたオブジェクトを持っていますが、コンストラクタ上でシャッフルルーチンを実行したいのですが、そのオブジェクトがデシリアライズされているか、コンストラクタを実行していないときに余分な関数が実行されますか?DataContractsとともに使用すると、コンストラクタはどうなりますか?
私はシリアライズしたオブジェクトを持っていますが、コンストラクタ上でシャッフルルーチンを実行したいのですが、そのオブジェクトがデシリアライズされているか、コンストラクタを実行していないときに余分な関数が実行されますか?DataContractsとともに使用すると、コンストラクタはどうなりますか?
DataContractSerializerは、XMLを放出して食べます。デフォルトのコンストラクタは、このXMLを非直列化してクラスのインスタンスに戻すときに常に呼び出されます。したがって、同じクラスに逆直列化すると、コンストラクタコードが実行されます。
ただし、このクラスをWCF Webサービスで公開し、クライアントプロキシを生成した場合、このクライアントプロキシは、メソッドまたはコンストラクタで記述したカスタムコードを保持しません。
私が作っているのは、私がクイズをシリアライズしてデシリアライズするクイズですが、xmlがロードされたときに質問と選択肢がシャッフルされます。コンストラクタがそれをしているので、私はそれが起こっていたことを確認したかったのです。 –