REFLECTION / EXPRESSAO LAMBDA QUAL A SOLUCAO IDEAL

FOXMAN 09/12/2011 17:42:10
#391012
Kerplunk, eu já havia tentado utilizar a conversão do developerfusion.com, mas não funcionou...

FOXMAN 09/12/2011 18:28:00
#391019
Estamos quase lá.
Consegui fazer o que desejo, talvez não seja a forma correta, mas já considero um progresso de 80% . Com a ajuda do amigo OCELOT que nos deu a luz para saber que possível buscar [Ô]SEM LOOP[Ô] qual propriedade em uma classe foi setada.
Muito útil para saber qual ICMS foi definido para o produto, uma vez que cada produto tem apenas um icms, e na classe ICMS temos 20 propriedades, e que sempre retorna apenas uma propriedade com valor, para cada item da nota.

Abaixo o codigo em uma unica expressão.

Dim ixms As ICMS
ixms = ImportaNFE.infNFE.Det.Item(i).Imposto.Icms
Dim icmsAtribuido As Object = (From prop In ixms.GetType().GetProperties(BindingFlags.Instance Or BindingFlags.Public) Where prop.GetValue(ixms, Nothing) IsNot Nothing).Single()


O codigo acima esta dentro de um laço que percorre os itens da NFe.





FOXMAN 09/12/2011 20:56:51
#391025
Citação:

Consegui fazer o que desejo, talvez não seja a forma correta, mas já considero um progresso de 80%


Falta os 20%, que seria converter a variavel obtida, ou utilizar o directcast para obeter os valores setados.

Se utilizar o DirectCast ficaria assim :
DirectCast(xicms,ICMSSN202).CSOSN


Porém ficaria totalmente fora do meu objetivo que é não informar qual o tipo do icms.
A pergunta é : Tem como obter o valor das propriedades sem informar o tipo de icms ????


Página 2 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas