投稿者 魔界の仮面弁士  (社会人) 投稿日時 2012/6/9 01:15:13
> Copy()、Clone()はどうやら新しいオブジェクトではコピーしてくれないようです。
 「ディープコピー」と「シャローコピー」の違いです。

 標準の Copy はシャローコピーであり、参照情報のみがコピーされます。
 実態の複製が作られるわけではありません。
(VBに限らず、ほとんどのオブジェクト指向言語では参照のみがコピーされます)



 > 正直、新しいオブジェクトを作る必要がある度に一つ一つコピーしないといけないのかと思うと
値型(Integer, Date, Boolean, 自作構造体など)に関しては、そうした作業は不要です。
 問題となるのは、参照型(自作クラス、配列、コレクションなど)の場合ですね。


 > もしもプロパティがクラス内に10以上あれば一つ一つコピーしてたら大変です。
 「シリアライズ」という仕組みを使えば、一括してデータを複製することができます。
http://d.hatena.ne.jp/tekk/20100131/1264913887

あるいは、DataSet などを利用するという手もあります。
DataSet はシリアライザブルですし、データの複製機能もあります。