none
Como percorrer uma lista em um object RRS feed

  • Pergunta

  • Olá, duvida!

    Tenho um método genérico que pega o objeto de uma propriedade.

    obj é o meu objeto.

    var ret = obj.GetType().GetProperty("Nome da propriedade").GetValue(obj, null);

    porém o conteudo da minha propriedade é uma lista e preciso percorre-la, como fazer isso?

    foreach( var item in ret)

    { // desta forma nem compila }

    foreach( var item in (IList<object>)ret)

    { // desta forma compila mas em tempo de execução da erro de cast }


    vlw pela ajuda :)

    terça-feira, 2 de setembro de 2014 14:37

Respostas

  • Olá,

     você precisa passar o tipo da lista, por exemplo vamos supor que seu foreach seja um List<string> ficaria assim :

    foreach(string item in (List<string>)ret)
    {
    
    
    }

     Ou se fosse uma classe chamada "Pessoa" seria assim :

    foreach(Pessoa item in (List<Pessoa>)ret)
    {
    //...
    
    }
     Basta por o tipo correto que funciona !

    terça-feira, 2 de setembro de 2014 14:48

Todas as Respostas

  • Olá,

     você precisa passar o tipo da lista, por exemplo vamos supor que seu foreach seja um List<string> ficaria assim :

    foreach(string item in (List<string>)ret)
    {
    
    
    }

     Ou se fosse uma classe chamada "Pessoa" seria assim :

    foreach(Pessoa item in (List<Pessoa>)ret)
    {
    //...
    
    }
     Basta por o tipo correto que funciona !

    terça-feira, 2 de setembro de 2014 14:48
  • obrigado, mas o tipo da minha lista é dinâmico.

    Porém todos os campos dessa minha lista de tipo variante é string.

    sexta-feira, 3 de outubro de 2014 14:00
  • Tente assim:

    foreach(var itens in obj.GetType().GetProperty("Nome da propriedade").GetValue(obj, null).ToString())
    {
    }

    sexta-feira, 3 de outubro de 2014 14:14