Eine Konvertierung des anonymen Typs in eine Ausdrucksbaumstruktur ist nicht möglich, da sie ein Feld enthält, das in der Initialisierung eines anderen Feldes verwendet wird
Aktualisiert: November 2007
Cannot convert anonymous type to expression tree because it contains a field that is used in the initialization of another field
Der Compiler lässt keine Konvertierung eines anonymen Typs in eine Ausdrucksbaumstruktur zu, wenn eine Eigenschaft des anonymen Typs zur Initialisierung einer anderen Eigenschaft des anonymen Typs verwendet wird. Im folgenden Code wird Prop1 beispielsweise in der Initialisierungsliste deklariert und dann als Anfangswert für Prop2 verwendet.
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
Fehler-ID: BC36548
So beheben Sie diesen Fehler
Weisen Sie einer lokalen Variable den Anfangswert für Prop1 zu. Weisen Sie diese Variable Prop1 und Prop2 zu, wie im folgenden Code dargestellt.
Sub Main() Dim temp = 2 ExpressionExample(Function() New With {.Prop1 = temp, .Prop2 = temp}) End Sub
Siehe auch
Aufgaben
Gewusst wie: Verwenden von Ausdrucksbaumstrukturen zum Erstellen dynamischer Abfragen