Mostrando las entradas con la etiqueta Objects. Mostrar todas las entradas
Utilizando generics para hacer un DeepCopy
Para hacer una copia de un objeto y tengamos dos objetos independientes, se requiere un DeepCopy:
public static class DeepCopier
{
/// Se usa un tipo generic para poder copiar cualquier objeto
public static T Copy(T pItem) {
BinaryFormatter vFormatter = new BinaryFormatter();
MemoryStream vStream = new MemoryStream();
vFormatter.Serialize(vStream, pItem);
vStream.Seek(0, SeekOrigin.Begin);
T vResult = (T)vFormatter.Deserialize(vStream);
vStream.Close();
return vResult;
}
}
Para utilizarlo:
/// Copiamos el objeto por si se va a cancelar
cGrid vObjCancel = DeepCopier.Copy(ConfigReporto);
public static class DeepCopier
{
/// Se usa un tipo generic para poder copiar cualquier objeto
BinaryFormatter vFormatter = new BinaryFormatter();
MemoryStream vStream = new MemoryStream();
vFormatter.Serialize(vStream, pItem);
vStream.Seek(0, SeekOrigin.Begin);
T vResult = (T)vFormatter.Deserialize(vStream);
vStream.Close();
return vResult;
}
}
Para utilizarlo:
/// Copiamos el objeto por si se va a cancelar
cGrid vObjCancel = DeepCopier.Copy
