CONVERTER OBJETOS

JANDER 06/05/2012 22:53:46
#401458
Boa noite, alguem sabe como faço para converter uma lista de objetos para uma classe?

ex.:

tenho a classe cliente

tenho uma função que retorna uma lista de objetos, quero que essa lista de objetos vire lista de classe cliente.

obs. quando não é list eu consigo falo apenas isso:
cliente = (ciente)listaobjetos() ai funciona.
SAMUKA 07/05/2012 14:10:15
#401491
Blz JANDER?

Como se trata de uma lista, ela pode contar mais de um objeto, com isso vc precisa especificar qual dos objetos da lista vc quer.

Se vc for processar todos, vc deveria utilizar uma instrução FOREACH ou tb pode usar LINQ para selecionar qual dos objetos vc quer, através de uma consulta.
KERPLUNK 07/05/2012 15:12:04
#401496
List<cliente> clientes = new List<cliente)();
Isso cria a lista de objetos [Ô]cliente[Ô]

Se o que você quer é retornar por exemplo uma lista de clientes do banco de dados, faça assim:
1- Crie um método cujo retorno é List<Cliente> e chame-o assim:
List<Cliente> clientes = MinhaClasse.MeuMetodoBuscaClientes();

2 - Nesse método o procedimento é simples:
Abra a conexão
Faça o comando com a seleção que você quer
Crie um datareader desse comando
Percorra o datareader criando uma instância de objeto para cada registro e adicionando no retorno
Retorne a lista preenchida. Fica mais ou menos assim:

List<Cliente> _return = new List<Cliente>();
using (SqlConnection cn = new SqlConnection([Ô]Sua connectionstring[Ô]))
{
using (SqlCommand cmd = new SqlCommand([Ô]Select * from clientes[Ô], cn))
{
using (SqlDataReader dr = cmd.ExecuteReader())
{
while (dr.Read())
{
Cliente cli = new Cliente();
cli.Codigo = dr.GetInt32(dr.GetOrdinal([Ô]Codigo[Ô]));
cli.Nome = dr.GetString(dr.GetOrdinal([Ô]Nome[Ô]));
cli.DataNascimento = dr.GetDateTime(dr.GetOrdinal([Ô]DataNascimento[Ô]));
_return.Add(cli);
}
}
}
}
return _return;

Mamão com açucar
Tópico encerrado , respostas não são mais permitidas