how to deep copy a class without marking it as serializable
- by Gaddigesh
I came across many questions on deep copy but non of them helped me
I have a class say
class A
{
...
public List<B> ListB;
....
}
where B is again another class which inturn may inherit/contain some other classes
Take this scenario
A is a very huge class and contain many reference types
I can not mark B as serializable as i don't have access to source code of B(Though I can Mark A as serializable)
Problem:below methods to perform deep copy does not work because
I can not use Iclonable, memberwise clone technique as class A conatins many reference types
I can not write a copy constructor for A , as the class is huge and keeps growing and
contained classes (Like B) can't be deep copied
I can't use serialization technique as i can not mark conatined class(like B, for which no source code avilaable) as serializable
So how can I deep copy the object of Class A?
(I read about "surrogate serialization" technique some where but not clear)