[C-Sharp] Copiar objeto novo

10/10/2016

Fala ae pessoal.

Como faço para copiar um variável em um objeto novo, ao invés de copiar somente a referência?

Obrigado :D

Hugo

Melhor resposta

11/10/2016

Pode tentar com o método MemberwiseClone.

 
class Profile
    {
        public string Name {get; set;}

        public object Clone()
        {
            object o = MemberwiseClone();
            return o;
        }
    }


Usando:
Profile p1 = new Profile()
{
Name = "test",
};
Profile p2 = p1.Clone() as Profile;

Lucas Campos

Responder Citar

Outras Respostas

10/10/2016

Antonio Guilherme

N entendi. Sua duvida mas,tentarei responder...ja tentou setar a variável deixando ela publica?
(realmente nao intendi sua pergunta)
Responder Citar

11/10/2016

Hugo

Antonio, no caso quando fazemos isso.

var casa  = new Casa();
var casaCopia  = casa;


O bloco acima não cria uma cópia do objeto só coloca a referencia dele na variável.
Então quando eu altero uma propriedade de casaNova, eu altero a propriedade de casa.

Minha dúvida é, qual é a melhor maneira de duplicar um objeto?

Obrigado
Responder Citar

14/10/2016

Hugo

Opa.

Muito obrigado Lucas.

Valew cara.
Responder Citar