none
Converter tipo dynamic para tipo class RRS feed

  • Pergunta

  • Como posso converter um tipo dynamic para um objeto do tipo class?

    O dynamic recebe um Json, vou receber um dynamic como parâmetro no meu controller, e então instanciar um objeto do tipo da classe e passar o valor do dynamic para o objeto.

    Quero fazer dessa forma, porque implementei os métodos set das propriedades da classe para fazer validações de cada propriedade isoladamente direto no Domínio, e passando um dynamic para o objeto tipado, posso pegar os erros de validação que poderão ser gerados.

    O que preciso fazer é o seguinte:

    exemplo:

    //o objeto recebido como parametro vem assim
    dynamic objD = "{'Id':'1','Nome':'Eduardo','Idade':'22'}";
    
    //instancio meu objeto tipado
    Pessoa obj = new Pessoa();
    
    //e aqui estão o erro, preciso passar o dynamic para o objeto tipado
    obj = (Pessoa)objD;


    sexta-feira, 24 de março de 2017 14:09

Respostas

Todas as Respostas

  • São tipos diferentes, por isso não acontece a conversão, você vai ter que criar o obj e preencher com os valores.
    sexta-feira, 24 de março de 2017 15:09
  • Eduardo, 

    Você pode utilizar o Json.NET para alcançar o resultado que quer.

    Pessoa obj = JsonConvert.DeserializeObject<Pessoa>("SEU_CODIGO_JSON");

    Ref: http://www.newtonsoft.com/json/help/html/M_Newtonsoft_Json_JsonConvert_DeserializeObject__1.htm


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".


    sexta-feira, 24 de março de 2017 15:23
  • Eduardo,

    Conseguiu utilizar a biblioteca? 


    If you found this post helpful, please "Vote as Helpful". If it actually answered your question, remember to "Mark as Answer".

    Se achou este post útil, por favor clique em "Votar como útil". Se por acaso respondeu sua dúvida, lembre de "Marcar como Resposta".

    terça-feira, 28 de março de 2017 20:27