Condividi tramite


BC36548: impossibile convertire il tipo anonimo in un albero delle espressioni perché viene utilizzata una proprietà del tipo per inizializzare un'altra proprietà

Il compilatore non accetta la conversione di un tipo anonimo in un albero delle espressioni quando viene utilizzata una proprietà del tipo anonimo per inizializzare un'altra proprietà del tipo anonimo. Nel codice seguente, ad esempio, Prop1 viene dichiarato nell'elenco di inizializzazione e quindi usato come valore iniziale per Prop2.

ID errore: BC36548

Esempio

Module M2

    Sub ExpressionExample(Of T)(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

Per correggere l'errore

Assegnare il valore iniziale per Prop1 a una variabile locale. Assegnare tale variabile a e Prop1Prop2, come illustrato nel codice seguente:

Sub Main()
    Dim temp = 2
    ExpressionExample(Function() New With {.Prop1 = temp, .Prop2 = temp})
End Sub

Vedere anche