Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Cannot convert anonymous type to expression tree because it contains a field that is used in the initialization of another field
Il compilatore non accetta la conversione di un tipo anonimo in una struttura ad albero dell'espressione quando una proprietà del tipo anonimo è utilizzata per inizializzare un'altra proprietà del tipo anonimo. Nel codice riportato di seguito, ad esempio, Prop1 viene dichiarato nell'elenco di inizializzazione e quindi utilizzato come valore iniziale per Prop2.
Module M2
Sub ExpressionExample(Of T)(ByVal x As Expressions.Expression(Of Func(Of T)))
End Sub
Sub Main()
' The following line causes the error.
' ExpressionExample(Function() New With {.Prop1 = 2, .Prop2 = .Prop1})
End Sub
End Module
ID errore: BC36548
Per correggere l'errore
Assegnare il valore iniziale per Prop1 a una variabile locale. Assegnare la variabile a Prop1 e Prop2, come mostrato nel codice seguente.
Sub Main() Dim temp = 2 ExpressionExample(Function() New With {.Prop1 = temp, .Prop2 = temp}) End Sub
Vedere anche
Attività
Procedura: utilizzare strutture ad albero dell'espressione per la compilazione di query dinamiche