public override Func <TwitterStatus, bool> GetBooleanValueProvider() { var lbp = LeftValue.GetBooleanValueProvider(); var rbp = RightValue.GetBooleanValueProvider(); return(_ => lbp(_) || rbp(_)); }
public override Func <TwitterStatus, bool> GetBooleanValueProvider() { switch (this.GetArgumentIntersectTypes()) { case FilterExpressionType.Boolean: var lbp = LeftValue.GetBooleanValueProvider(); var rbp = RightValue.GetBooleanValueProvider(); return(_ => lbp(_) == rbp(_)); case FilterExpressionType.Numeric: var lnp = LeftValue.GetNumericValueProvider(); var rnp = RightValue.GetNumericValueProvider(); return(_ => lnp(_) == rnp(_)); case FilterExpressionType.String: var lsp = LeftValue.GetStringValueProvider(); var rsp = RightValue.GetStringValueProvider(); return(_ => String.Equals(lsp(_), rsp(_), GetStringComparison())); default: throw new InvalidOperationException("Invalid code path."); } }