匿名型の 1 つのプロパティを使用して匿名型の別のプロパティを初期化する場合、コンパイラは匿名型から式ツリーへの変換を受け入れません。 たとえば、次のコードでは、 Prop1 が初期化リストで宣言され、 Prop2の初期値として使用されます。
エラー ID: BC36548
例
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
このエラーを解決するには
Prop1の初期値をローカル変数に割り当てます。 次のコードに示すように、その変数を Prop1 と Prop2の両方に割り当てます。
Sub Main()
Dim temp = 2
ExpressionExample(Function() New With {.Prop1 = temp, .Prop2 = temp})
End Sub
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET