Para documentação em português do Brasil, acesse PT-BR
For English documentation, access EN-US

PT-BR

O componente DotNetMax.Cloning permite a correta abordagem para clonar objetos simples e complexos.

1-) Dependências

  • DotNetMax.Cloning.dll

2-) Visão Geral

O DotNetMax.Type.Cloning.CloningProvider é um componente que possui a capacidade de analisar e replicar a estrutura de campos de objetos simples e compostos.
Sua atuação não fica restrita a um único nível de implementação, sendo capaz de realizar a clonagem de mais de 10 níveis de herança e 20 níveis de encadeamento.

Seus principais método são:
Método Parâmetro(s) Funcionalidade
Clone() Objeto a ser Clonado Retorna uma cópia identica do objeto de origem. Incluindo as heranças e os encadeamos

3-) Objeto do Exemplo

Iremos criar um objeto de exemplo para o uso nesta documentação:
public class Usuario
{
    public List<Endereco> Enderecos { get; set; }
    public string Nome { get; set; }
    public DateTime DataDoNascimento { get; set; }
}

public class Endereco
{
    public string Cep { get; set; }
    public string Rua { get; set; }
    public string Cidade { get; set; }
    public string Estado { get; set; }
}

4-) Utilizando o Componente

O componente poderá ser utilizado em qualquer tipo de objeto em que for necessário clonar-lo.
Com um único método (Clone()) ele tem fácil aplicação.

Em nosso exemplo iremos utilizar o objeto Usuario que criamos acima.
 // Cria o Objeto de Usuário
Usuario novoUsuario = new Usuario();

// Preenche os Dados do Usuário
novoUsuario.Nome = "Guilherme Bacellar Moralez";
novoUsuario.DataDoNascimento = new DateTime(1982, 10, 12);

// Preenche os Endereços do Usuário
novoUsuario.Enderecos = new List<Endereco>();
novoUsuario.Enderecos.Add(new Endereco() { Rua = "Rua Sem Nome", Cep = "01234-567", Cidade = "São Paulo", Estado = "SP" });
novoUsuario.Enderecos.Add(new Endereco() { Rua = "Rua do Morro", Cep = "56789-423", Cidade = "Rio de Janeiro", Estado = "RJ" });

// Clona o Usuário
Usuario usuarioClonado = new DotNetMax.Cloning.CloningProvider().Clone(novoUsuario);

Observe que o método (Clone()) do CloningProvider é um método Genérico, portanto o "cast" de saída não se faz necessário.

EN-US

English Documentations is under construction

Last edited Jun 30, 2010 at 10:52 AM by guibacellar, version 2

Comments

No comments yet.