Dada la siguiente clase:Cómo copiar una clase profunda sin marcar como Serializable
class A
{
public List<B> ListB;
// etc...
}
donde B
es otra clase que puede heredar/contener algunas otras clases.
Ante este escenario:
A
es una clase grande y contiene muchos tipos de referencia- no puedo marcar
B
como[Serializable]
como no tengo acceso al código fuente deB
Lo siguiente métodos para realizar una copia completa no funcionan:
- no puedo usar
ICloneable
oMemberwiseClone
como claseA
contiene muchos tipos de referencia - no puedo escribir un constructor de copia para
A
, como la clase es grande y continua que se añade a , y contiene clases (comoB
) que no se pueden copiar profunda - no puedo utilizar la serialización ya que no puedo marcar una clase contenidos (como
B
, donde no hay código fuente disponible) como[Serializable]
¿Cómo puedo copiar profundamente la clase A
?
@Will: Mi sympathie, yo estaba tratando de cambiar el formato, también, lo que es un desastre! –
lexu
Gracias amigo, en realidad soy nuevo en este sitio, he formateado mientras escribía, pero cuando lo publiqué como tht – Gaddigesh
esto lo hace sin serialización: http://valueinjecter.codeplex.com/wikipage?title=Deep%20Cloning&referringTitle= Inicio – Omu