次のクラスがあるとします。
class A
{
public List<B> ListB;
// etc...
}
B
他のクラスを継承/含む可能性のある別のクラスはどこにありますか。
このシナリオを考えると:
A
は大きなクラスであり、多くの参照型が含まれています- のソースコードにアクセスできないため、マーク
B
を付けることができません[Serializable]
B
ディープコピーを実行する次の方法は機能しません。
- 使用できない
ICloneable
かMemberwiseClone
、クラスA
に多くの参照型が含まれているため - クラスが大きく、継続的に追加されており、ディープコピーできない
A
クラス(など)が含まれているため、のコピーコンストラクタを記述できません。B
B
含まれているクラス(ソースコードが利用できない場合など)を次のようにマークできないため、シリアル化を使用できません[Serializable]
クラスをディープコピーするにはどうすればよいA
ですか?