/// <summary> /// Converts from serializable. /// </summary> /// <param name="binaryExpressionRepresentation">The binary expression.</param> /// <returns> /// The real expression. /// </returns> public static BinaryExpression FromRepresentation( this BinaryExpressionRepresentation binaryExpressionRepresentation) { if (binaryExpressionRepresentation == null) { throw new ArgumentNullException(nameof(binaryExpressionRepresentation)); } var result = Expression.MakeBinary(binaryExpressionRepresentation.NodeType, binaryExpressionRepresentation.Left.FromRepresentation(), binaryExpressionRepresentation.Right.FromRepresentation()); return(result); }
/// <summary> /// Converts to serializable. /// </summary> /// <param name="binaryExpression">The binary expression.</param> /// <returns> /// The real expression. /// </returns> public static BinaryExpressionRepresentation ToRepresentation( this BinaryExpression binaryExpression) { if (binaryExpression == null) { throw new ArgumentNullException(nameof(binaryExpression)); } var type = binaryExpression.Type.ToRepresentation(); var nodeType = binaryExpression.NodeType; var left = binaryExpression.Left.ToRepresentation(); var right = binaryExpression.Right.ToRepresentation(); var result = new BinaryExpressionRepresentation(type, nodeType, left, right); return(result); }