CONVERTER OBJETOS
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.
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.
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.
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.
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
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