Impossibile utilizzare il parametro 'ByRef' <nomeparametro> in un'espressione di query

Aggiornamento: novembre 2007

'ByRef' parameter <parametername> cannot be used in a query expression

Un parametro incluso in una query LINQ è un tipo di puntatore. Non è possibile passare in base al riferimento i parametri utilizzati nelle espressioni di query.

ID errore: BC36533

Per correggere l'errore

  • Dichiarare una variabile nuova e assegnarne il valore a una copia del valore passato in base al riferimento. Utilizzare la variabile copiata nella query LINQ. Di seguito è riportato un esempio:

    Sub RunQuery(ByVal collection As List(Of Integer), _
                 ByRef filterValue As Integer)
        Dim fv = filterValue
        Dim queryResult = From num In collection _
                          Where num < fv
    End Sub
    

Per correggere l'errore

  • Sostituire la parola chiave ByRef con la parola chiave ByVal per il parametro utilizzato nella query.

Vedere anche

Concetti

Differenze tra il passaggio di argomenti per valore e per riferimento

Introduzione a LINQ in Visual Basic

Altre risorse

LINQ in Visual Basic