5
我有一個產生匿名類型的Linq查詢。但是,現在我想使用這個匿名類型的參數,它似乎不工作。選項嚴格和匿名類型不要一起去?
For Each obj As Object in Query
Dim row As DataRow = obj.parameter
...
Next obj
現在,編譯器在表達式obj.parameter上拋出一個錯誤:「Option Strict On禁止延遲綁定」。如果我理解正確,編譯器不知道匿名類型的參數。我嘗試了基於Google結果的Option Infer On(並將其作爲對象刪除),但它沒有幫助。這似乎是有道理的,因爲它似乎總是向我轉變。
無論如何解決這個問題,或者我應該只是創建一個自定義類型?
好,所以罪魁禍首是我的IEnumerable聲明? 我正在使用Dim Query作爲IEnumerable(Of Object) – Martao
看起來這確實解決了它。通過使用選項推斷,是否有任何「危險」,我應該知道? – Martao
@Martao:沒有任何危險,事實上,你幾乎需要「Option Infer On」來與Linq和匿名類型高效地合作。 –