Class Expression
- Namespace
- NCalc
- Assembly
- NCalc.Sync.dll
This class represents a mathematical or logical expression that can be evaluated. It supports caching, custom parameter and function evaluation, and options for handling null parameters and iterating over parameter collections. The class manages the parsing, validation, and evaluation of expressions, and provides mechanisms for error detection and reporting.
public class Expression : ExpressionBase<ExpressionContext>
- Inheritance
-
Expression
- Inherited Members
- Extension Methods
Constructors
Expression(LogicalExpression)
public Expression(LogicalExpression logicalExpression)
Parameters
logicalExpressionLogicalExpression
Expression(LogicalExpression, ExpressionContext?)
public Expression(LogicalExpression logicalExpression, ExpressionContext? context = null)
Parameters
logicalExpressionLogicalExpressioncontextExpressionContext
Expression(LogicalExpression, ExpressionContext, ILogicalExpressionFactory, ILogicalExpressionCache, IEvaluationVisitorFactory)
public Expression(LogicalExpression logicalExpression, ExpressionContext context, ILogicalExpressionFactory factory, ILogicalExpressionCache cache, IEvaluationVisitorFactory evaluationVisitorFactory)
Parameters
logicalExpressionLogicalExpressioncontextExpressionContextfactoryILogicalExpressionFactorycacheILogicalExpressionCacheevaluationVisitorFactoryIEvaluationVisitorFactory
Expression(LogicalExpression, ExpressionOptions, CultureInfo?)
public Expression(LogicalExpression logicalExpression, ExpressionOptions options = ExpressionOptions.None, CultureInfo? cultureInfo = null)
Parameters
logicalExpressionLogicalExpressionoptionsExpressionOptionscultureInfoCultureInfo
Expression(string?)
public Expression(string? expression)
Parameters
expressionstring
Expression(string?, ExpressionContext?)
public Expression(string? expression, ExpressionContext? context = null)
Parameters
expressionstringcontextExpressionContext
Expression(string, ExpressionContext, ILogicalExpressionFactory, ILogicalExpressionCache, IEvaluationVisitorFactory)
public Expression(string expression, ExpressionContext context, ILogicalExpressionFactory factory, ILogicalExpressionCache cache, IEvaluationVisitorFactory evaluationVisitorFactory)
Parameters
expressionstringcontextExpressionContextfactoryILogicalExpressionFactorycacheILogicalExpressionCacheevaluationVisitorFactoryIEvaluationVisitorFactory
Expression(string?, ExpressionOptions, CultureInfo?)
public Expression(string? expression, ExpressionOptions options = ExpressionOptions.None, CultureInfo? cultureInfo = null)
Parameters
expressionstringoptionsExpressionOptionscultureInfoCultureInfo
Properties
DynamicParameters
public IDictionary<string, ExpressionParameter> DynamicParameters { get; set; }
Property Value
EvaluationVisitorFactory
protected IEvaluationVisitorFactory EvaluationVisitorFactory { get; }
Property Value
Functions
public IDictionary<string, ExpressionFunction> Functions { get; set; }
Property Value
Methods
Evaluate()
Evaluates the logical expression.
public object? Evaluate()
Returns
- object
The result of the evaluation.
Exceptions
- NCalcException
Thrown when there is an error in the expression.
Events
EvaluateFunction
Event triggered to handle function evaluation.
public event EvaluateFunctionHandler EvaluateFunction
Event Type
EvaluateParameter
Event triggered to handle parameter evaluation.
public event EvaluateParameterHandler EvaluateParameter