Impossible de convertir le type anonyme en arborescence de l'expression, car elle contient un champ qui sert à initialiser un autre champ
Le compilateur n'accepte pas la conversion d'un type anonyme en arborescence de l'expression lorsqu'une propriété du type anonyme est utilisée pour initialiser une autre propriété du type anonyme. Par exemple, dans le code suivant, Prop1 est déclaré dans la liste d'initialisation, puis utilisé comme valeur initiale pour 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 d'erreur : BC36548
Pour corriger cette erreur
Assignez la valeur initiale pour Prop1 à une variable locale. Assignez cette variable à Prop1 et à Prop2, comme indiqué dans le code suivant.
Sub Main() Dim temp = 2 ExpressionExample(Function() New With {.Prop1 = temp, .Prop2 = temp}) End Sub