Class AsyncExpression
- Namespace
- NCalc
- Assembly
- NCalc.Async.dll
This class represents a mathematical or logical expression that can be asynchronous 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 AsyncExpression : ExpressionBase<AsyncExpressionContext>
- Inheritance
-
AsyncExpression
- Inherited Members
Constructors
AsyncExpression(LogicalExpression)
public AsyncExpression(LogicalExpression logicalExpression)
Parameters
logicalExpressionLogicalExpression
AsyncExpression(LogicalExpression, AsyncExpressionContext?)
public AsyncExpression(LogicalExpression logicalExpression, AsyncExpressionContext? context = null)
Parameters
logicalExpressionLogicalExpressioncontextAsyncExpressionContext
AsyncExpression(LogicalExpression, AsyncExpressionContext, ILogicalExpressionFactory, ILogicalExpressionCache, IAsyncEvaluationVisitorFactory)
public AsyncExpression(LogicalExpression logicalExpression, AsyncExpressionContext context, ILogicalExpressionFactory factory, ILogicalExpressionCache cache, IAsyncEvaluationVisitorFactory evaluationVisitorFactory)
Parameters
logicalExpressionLogicalExpressioncontextAsyncExpressionContextfactoryILogicalExpressionFactorycacheILogicalExpressionCacheevaluationVisitorFactoryIAsyncEvaluationVisitorFactory
AsyncExpression(LogicalExpression, ExpressionOptions, CultureInfo?)
public AsyncExpression(LogicalExpression logicalExpression, ExpressionOptions options = ExpressionOptions.None, CultureInfo? cultureInfo = null)
Parameters
logicalExpressionLogicalExpressionoptionsExpressionOptionscultureInfoCultureInfo
AsyncExpression(string)
public AsyncExpression(string expression)
Parameters
expressionstring
AsyncExpression(string, AsyncExpressionContext?)
public AsyncExpression(string expression, AsyncExpressionContext? context = null)
Parameters
expressionstringcontextAsyncExpressionContext
AsyncExpression(string, AsyncExpressionContext, ILogicalExpressionFactory, ILogicalExpressionCache, IAsyncEvaluationVisitorFactory)
public AsyncExpression(string expression, AsyncExpressionContext context, ILogicalExpressionFactory factory, ILogicalExpressionCache cache, IAsyncEvaluationVisitorFactory evaluationVisitorFactory)
Parameters
expressionstringcontextAsyncExpressionContextfactoryILogicalExpressionFactorycacheILogicalExpressionCacheevaluationVisitorFactoryIAsyncEvaluationVisitorFactory
AsyncExpression(string, ExpressionOptions, CultureInfo?)
public AsyncExpression(string expression, ExpressionOptions options = ExpressionOptions.None, CultureInfo? cultureInfo = null)
Parameters
expressionstringoptionsExpressionOptionscultureInfoCultureInfo
Properties
DynamicParameters
public IDictionary<string, AsyncExpressionParameter> DynamicParameters { get; set; }
Property Value
EvaluationVisitorFactory
protected IAsyncEvaluationVisitorFactory EvaluationVisitorFactory { get; }
Property Value
Functions
public IDictionary<string, AsyncExpressionFunction> Functions { get; set; }
Property Value
Methods
EvaluateAsync()
Asynchronously evaluates the logical expression.
public ValueTask<object?> EvaluateAsync()
Returns
Exceptions
- NCalcException
Thrown when there is an error in the expression.
Events
EvaluateFunctionAsync
Event triggered to handle function evaluation.
public event AsyncEvaluateFunctionHandler EvaluateFunctionAsync
Event Type
EvaluateParameterAsync
Event triggered to handle parameter evaluation.
public event AsyncEvaluateParameterHandler EvaluateParameterAsync