|  | 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(); | 
|  | } | 
|  | } | 
|  | } |