martes, 25 de mayo de 2010

Como clonar objetos con c#

hace unos dias, me toco tener que clonar una instancia de un objeto. hasta ahora solo lo hacia creando un nuevo objeto y pasando los valores.

bueno encontre una forma mejor de hacerlo, y lo mejor que con menos posibilidades de errores. ya que como lo hacie antes probablemente me falte copiar algun valor.

Supongamos que tenemos la tipica clase persona:


public class persona{
public virtual string Nombres{get;set;}
public virtual string Apellidos{get;set;}
public virtual Direccion Direccion{get;set;}
public string NombreCompuesto{
return string.Format("{0} {1} ", Nombres, Apellidos);
}
}


y necesitamos clonarla, simplemente decimos que implementa ICloneable, y agregamos el metodo clone, en este motodo llamamos al metodo MemberwiseClone. de la siguiente manera

public class persona : ICloneable{
public virtual string Nombres{get;set;}
public virtual string Apellidos{get;set;}
public virtual Direccion Direccion{get;set;}
public string NombreCompuesto{
return string.Format("{0} {1} ", Nombres, Apellidos);
}

object Clone() {
return MemberwiseClone(); ;
}
}










--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com

domingo, 9 de mayo de 2010

un tiempo fuera de las pistas

hace mucho tiempo que no posteo aqui, por varios motivos,principalmente 2.

una hernia lumbar me tuvo con un mes de reposo, por suerte no hubo que operar ya que era una hernia chica, pero si muy dolorosa :(.


la segunda es que en mi trabajo tengo bloqueado absolutamente todo, si bien puedo ver blogger, no puedo logearme en este, tengo bloqueado twitter, gtalk, y muchas cosas mas.

Bueno eso. por suerte lo de la hernia ya esta casi superado. y espero darme el tiempo de postear mas seguido y cosas mas o menos interesantes, aun tengo una lista de pendientes con respectos a los nuevos post, y tambien estoy trabajando en un nuevo proyecto opensource bastante entretenido. y pronto comenzare mi tesis, asi que se vienen tiempos bastantes ocupados.


Bueno eso por ahora. y muchas gracias por seguir el blog a los que leen este post :D


--
Atte.
Victor Hugo Saavedra
http://vhspiceros.blogspot.com