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
- logicalExpressionLogicalExpression
- contextAsyncExpressionContext
AsyncExpression(LogicalExpression, AsyncExpressionContext, ILogicalExpressionFactory, ILogicalExpressionCache, IAsyncEvaluationVisitorFactory)
public AsyncExpression(LogicalExpression logicalExpression, AsyncExpressionContext context, ILogicalExpressionFactory factory, ILogicalExpressionCache cache, IAsyncEvaluationVisitorFactory evaluationVisitorFactory)Parameters
- logicalExpressionLogicalExpression
- contextAsyncExpressionContext
- factoryILogicalExpressionFactory
- cacheILogicalExpressionCache
- evaluationVisitorFactoryIAsyncEvaluationVisitorFactory
AsyncExpression(LogicalExpression, ExpressionOptions, CultureInfo?)
public AsyncExpression(LogicalExpression logicalExpression, ExpressionOptions options = ExpressionOptions.None, CultureInfo? cultureInfo = null)Parameters
- logicalExpressionLogicalExpression
- optionsExpressionOptions
- cultureInfoCultureInfo
AsyncExpression(string)
public AsyncExpression(string expression)Parameters
- expressionstring
AsyncExpression(string, AsyncExpressionContext?)
public AsyncExpression(string expression, AsyncExpressionContext? context = null)Parameters
- expressionstring
- contextAsyncExpressionContext
AsyncExpression(string, AsyncExpressionContext, ILogicalExpressionFactory, ILogicalExpressionCache, IAsyncEvaluationVisitorFactory)
public AsyncExpression(string expression, AsyncExpressionContext context, ILogicalExpressionFactory factory, ILogicalExpressionCache cache, IAsyncEvaluationVisitorFactory evaluationVisitorFactory)Parameters
- expressionstring
- contextAsyncExpressionContext
- factoryILogicalExpressionFactory
- cacheILogicalExpressionCache
- evaluationVisitorFactoryIAsyncEvaluationVisitorFactory
AsyncExpression(string, ExpressionOptions, CultureInfo?)
public AsyncExpression(string expression, ExpressionOptions options = ExpressionOptions.None, CultureInfo? cultureInfo = null)Parameters
- expressionstring
- optionsExpressionOptions
- cultureInfoCultureInfo
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 EvaluateFunctionAsyncEvent Type
EvaluateParameterAsync
Event triggered to handle parameter evaluation.
public event AsyncEvaluateParameterHandler EvaluateParameterAsync