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 _factoryMethod; public ConstantExpression(string title, Func factoryMethod) : base(title) { _factoryMethod = factoryMethod; } public override CompileResult Compile() { return _factoryMethod(); } } }