Quarta-feira, Abril 30, 2008
Quarta-feira, Junho 27, 2007
Clonar objetos em C# P. II
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Conexao c1 = new Conexao();
Conexao c2 = (Conexao)c1.Clone();
}
}
class Conexao : ICloneable
{
#region ICloneable Members
public object Clone()
{
return this.MemberwiseClone();
}
#endregion
}
}
Clonar objetos em C#
Duas semanas atrás, comecei a ministrar um curso sobre .NET com C#. Durante uma das aulas, enquanto comentava sobre ponteiros e referência a objetos na memória, fui indagado sobre como fazer uma cópia fiel de um objeto. Infelizmente não soube dar a resposta na hora, o que me motivou a procurar um pouco sobre o assunto em casa.
Seguinte, para que um objeto possa se dizer clonável, ele deve implementar a interface ICloneable, o que o força a implementar o método object Clone(); O problema é que toda vez que você quiser clonar um objeto, vai ter que fazer isso na mão, campo a campo. Pensando nisso, um carinha postou um artigo na codeproject.com falando sobre a implementação do seu método para clonar qualquer tipo de objeto. Eu não vou me prolongar falando aqui. Basta ir lá e dar uma lida.
