■92167 / ) |
Re[7]: クラスのディープコピーについて |
□投稿者/ 魔界の仮面弁士 (2337回)-(2019/08/30(Fri) 13:38:24)
|
2019/08/30(Fri) 13:40:53 編集(投稿者)
■No92165 (tro さん) に返信 > そうしますとコピーコンストラクタやCloneメソッドのようなものを実装しないと > 目的が果たせないということでしょうか。
Clone メソッドも、戻り値として結果を返すだけですから、 dst = src.Clone(); な形式では、dst の古い結果は上書きされますね。
dst が持つ NonSerialized フィールドの値を維持したいなら、 コピー時には src と dst の両方のインスタンスが必要となりますから、 呼び出す側のコードとしては、 dst.FillBy(template: src); あるいは dst2 = new TestClass(template1: src0, template2: dst1); などの形式になるかと思います。
呼び出された側で、deep copy をどのように実装するのかは 別途考えねばなりませんが…。
|
|