| using System; |
| using System.Collections.Generic; |
| using System.Linq; |
| using System.Text; |
| |
| namespace OfficeOpenXml.FormulaParsing.ExpressionGraph |
| { |
| public static class ConstantExpressions |
| { |
| public static Expression Percent |
| { |
| get { return new ConstantExpression("Percent", () => new CompileResult(0.01, DataType.Decimal)); } |
| } |
| } |
| |
| public class ConstantExpression : AtomicExpression |
| { |
| private readonly Func<CompileResult> _factoryMethod; |
| |
| public ConstantExpression(string title, Func<CompileResult> factoryMethod) |
| : base(title) |
| { |
| _factoryMethod = factoryMethod; |
| } |
| |
| public override CompileResult Compile() |
| { |
| return _factoryMethod(); |
| } |
| } |
| } |