Tengo una consulta de Linq que arroja tipos anónimos. Sin embargo, ahora quiero trabajar con los parámetros de este tipo anónimo y no parece funcionar.Opción Los tipos estrictos y anónimos no van juntos?
For Each obj As Object in Query
Dim row As DataRow = obj.parameter
...
Next obj
Ahora el compilador genera un error en la obj.parameter expresión: "Option Strict On no permite el enlace en tiempo". Si lo entiendo bien, el compilador no conoce los parámetros del tipo anónimo. Probé Option Infer On (y eliminé As Object), según los resultados de Google, pero no me ayudó. Lo cual parece tener sentido, porque siempre parece ser una conversión cada vez más amplia para mí.
¿Hay alguna forma de arreglar esto, o debería simplemente crear un tipo personalizado?
Ok, ¿el culpable es mi declaración de IEnumerable? Estaba usando Dim Query como IEnumerable (Of Object) – Martao
Parece que esto lo resolvió de hecho. ¿Hay algún "peligro" al usar la opción inferir de la que debería estar consciente? – Martao
@Martao: no hay peligro, de hecho, usted necesita prácticamente "Option Infer On" para trabajar eficientemente con Linq y tipos anónimos. –