|
<< Click to Display Table of Contents >> Clonar objetos |
![]() ![]()
|
Cliente.cs
[Serializable]
class Cliente
{
public int Id { get; set; }
public string Nome { get; set; }
public DateTime Date { get; set; }
override public string ToString()
{
return Id.ToString() + "-" + Nome + "," + Date.ToString("dd/MM/yyyy");
}
}
Main.cs
class Program
{
public static T FazerCopia<T>(T obj)
{
using (MemoryStream memoryStream = new MemoryStream())
{
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(memoryStream, obj);
memoryStream.Position = 0;
return (T)formatter.Deserialize(memoryStream);
}
}
static void Main(string[] args)
{
Cliente cliente1 = new Cliente() { Id = 1, Nome = "Flavio", Date = DateTime.Parse("02/07/1977") };
Cliente cliente2;
cliente2 = FazerCopia<Cliente>(cliente1);
Console.WriteLine(cliente1);
Console.WriteLine(cliente2);
cliente1.Nome = "Macho";
Console.WriteLine(cliente1);
Console.WriteLine(cliente2);
}
}