BC36548: Türün özelliği başka bir özelliği başlatmak için kullanıldığından anonim tür ifade ağacına dönüştürülemiyor

Anonim türün bir özelliği anonim türün başka bir özelliğini başlatmak için kullanıldığında, derleyici anonim türün ifade ağacına dönüştürülmesi kabul etmez. Örneğin, aşağıdaki kodda başlatma Prop1 listesinde bildirilir ve ardından için Prop2ilk değer olarak kullanılır.

Hata Kimliği: BC36548

Örnek

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

Bu hatayı düzeltmek için

için Prop1 başlangıç değerini yerel bir değişkene atayın. Aşağıdaki kodda gösterildiği gibi bu değişkeni hem hem Prop2de Prop1 öğesine atayın:

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

Ayrıca bakınız