本文整理汇总了C#中System.Linq.Expressions.BinaryExpression.ChangeOperands方法的典型用法代码示例。如果您正苦于以下问题:C# BinaryExpression.ChangeOperands方法的具体用法?C# BinaryExpression.ChangeOperands怎么用?C# BinaryExpression.ChangeOperands使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Linq.Expressions.BinaryExpression
的用法示例。
在下文中一共展示了BinaryExpression.ChangeOperands方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AnalyzeBinaryOperator
protected virtual Expression AnalyzeBinaryOperator(BinaryExpression expression, TranslationContext context)
{
// Detect if it is a logical expression - if yes, check for bit column argument
var isLogicOp = expression.Left.Type == typeof(bool);
// process arguments
var ops = expression.GetOperands();
var newOps = ops.Select(op => CheckBoolBitExpression(Analyze(op, context))).ToList();
//special case - string + string; this used to be in PrequelAnalyzer
if (expression.NodeType == ExpressionType.Add && expression.Left.Type == typeof(string))
return CreateSqlFunction(SqlFunctionType.Concat, newOps[0], newOps[1]);
//general case
var newExpr = expression.ChangeOperands(newOps, ops);
// Check bitwise op
var result = CheckBitwiseOp(newExpr);
return result;
}