C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 159 を表示中)
■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 をどのように実装するのかは
別途考えねばなりませんが…。
返信 編集キー/


管理者用

- Child Tree -