Problema ao usar o tipo dynamic

26/11/2010

0

Estou estudando sobre o tipo dynamic e fiz um pequeno exemplo para ver como o recurso funcionava. Criei um um projeto chamado Dynamic e um formulário simples com apenas um botão. Criei uma outra classe chamada TestaFora onde adicionei um metodo chamado Lista que retorna um IList<dynamic>. Veja o código abaixo:
Classe TestaFora.cs
        public IList<dynamic> Lista()        {            IList<dynamic> l = new List<dynamic>();            l.Add(new { nome = "Jardel" });            l.Add(new { nome = "Marcos" });
            return l;        }
Codigo Evento do Botão
            TestaFora t = new TestaFora();
            IList<dynamic> lista = t.Lista();

            foreach (dynamic l in lista as dynamic)
            {
                MessageBox.Show(l.nome);
            }
Até ai tudo bem, funcionou direito, quando clico no botão ele me retorna uma caixa de mensagem com os nomes retornados pela função Lista. O problema aparece quando tento fazer isso usando dois projetos. Adicionei um outro projeto chamado PassagemParam. Então minha solução ficou com dois projetos (O projeto Dynamic e o PassagemParam). No projeto PassagemParam, criei uma classe TestaDynamic e adionei o metodo LIsta igual ao da classe TestaFora.Então alterei o codigo do evento do botão para :                TestaDynamic t = new TestaDynamic();
            IList<dynamic> lista = t.Lista();

            foreach (dynamic l in lista as dynamic)
            {
                MessageBox.Show(l.nome);
            }
Fiz as devidas referencias ao projeto e adicionei o namespace na clausula uses. O programa compila, mas ao clicar no botão surge a mensagem : "RuntimeBinderException was unhandled : 'object' does not contain a definition for 'nome'. Fazendo o debug, verifico que na variavel do foreach l, ele trás os dados corretamente, so que por algum motivo não consegue exibi-lo. Ai fica a pergunta, o tipo dynamic não funciona como retorno de método entre projetos? Devo usá-lo apenas no projeto onde foi criado?
 
Jardel Sobrinho

Jardel Sobrinho

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar