Ho una query Linq che restituisce tipi anonimi. Tuttavia, ora voglio lavorare con i parametri di questo tipo anonimo e non sembra funzionare.Opzione Rigorosa e tipi anonimi non vanno insieme?
For Each obj As Object in Query
Dim row As DataRow = obj.parameter
...
Next obj
Ora il compilatore genera un errore sul obj.parameter espressione: "Option Strict On non consente l'associazione tardiva". Se capisco bene, il compilatore non conosce i parametri del tipo anonimo. Ho provato Option Infer On (e rimosso As Object), in base ai risultati di Google, ma non ha aiutato. Il che sembra avere un senso, perché mi sembra sempre una conversione sempre più ampia.
Esiste comunque una soluzione per questo problema oppure devo semplicemente creare un tipo personalizzato?
Ok, quindi il colpevole è la mia dichiarazione IEnumerable? Stavo usando Dim Query As IEnumerable (Of Object) – Martao
Sembra che questo sia stato risolto. C'è qualche "pericolo" usando l'opzione inferenziale su cui dovrei essere a conoscenza? – Martao
@Martao: Non c'è alcun pericolo, infatti hai praticamente bisogno di "Option Infer On" per lavorare in modo efficiente con Linq e tipi anonimi. –