これはどのように動作するか、可能であれば少しぼやけています。 Childクラスをシリアル化したいのですが、Child.MyParentフィールドを実行しているときにParentオブジェクトをシリアル化する必要はありません。ただ参照をシリアル化したいだけです。これは可能なのですか?それについてどうすればいいですか?シリアル化するときにオブジェクト参照を維持する方法
public class Parent
{
public Child New()
{
return new Child(this);
}
}
public class Child
{
public Parent MyParent;
public Child(Parent parent)
{
MyParent = parent;
}
}
編集:私はDataContractSerializerを使用していますが、必要に応じて別のものに切り替えることに反対していません。
子供がMyParentをマークすることができます。それが直列化されないようにしますが、参照を直列化したいだけです。あなたが望むものを正確に説明できますか?オブジェクトがシリアライズされ、デシリアライズされた参照には実際に意味がありません。 – seand
@seand私はシリアル化を利用していくつかのオブジェクトをクローン化しようとしています。基本的には、それらはシリアライズされ、すぐにデシリアライズされます。私はそこにICloneableインターフェイスがあることを認識していますが、このインターフェイスを実装することなく、さまざまな種類のインターフェイスを作成できます。 –
私は、このフィールドをシリアル化してシリアル化プロセス外で管理しないほうが良いかもしれないと考えていますが、可能であれば、どのようにしたらよいか知りたいです。 –