Binding Test part of ConditionalExpression

This commit is contained in:
2023-08-10 10:16:39 +02:00
parent 8b04fe8bde
commit 96d4eb926d

View File

@@ -88,16 +88,19 @@ public class Binding<TDataContext, TExpressionResult, TResult> : IDisposable
} }
} }
private string? FindReactiveProperties(Expression expression, List<string> properties) private string? FindReactiveProperties(Expression? expression, List<string> properties)
{ {
if (expression is null) return "";
if (expression is LambdaExpression lambdaExpression) if (expression is LambdaExpression lambdaExpression)
{ {
SavePropertyPath(FindReactiveProperties(lambdaExpression.Body, properties)); SavePropertyPath(FindReactiveProperties(lambdaExpression.Body, properties));
} }
else if (expression is ConditionalExpression conditionalExpression) else if (expression is ConditionalExpression conditionalExpression)
{ {
SavePropertyPath(FindReactiveProperties(conditionalExpression.IfFalse, properties)); SavePropertyPath(FindReactiveProperties(conditionalExpression.Test, properties));
SavePropertyPath(FindReactiveProperties(conditionalExpression.IfTrue, properties)); SavePropertyPath(FindReactiveProperties(conditionalExpression.IfTrue, properties));
SavePropertyPath(FindReactiveProperties(conditionalExpression.IfFalse, properties));
} }
else if (expression is MemberExpression memberExpression) else if (expression is MemberExpression memberExpression)
{ {