Class Sub
- Namespace
- xFunc.Maths.Expressions
- Assembly
- xFunc.Maths.dll
Represents the Subtraction operator.
public class Sub : BinaryExpression, IExpression
- Inheritance
-
Sub
- Implements
- Inherited Members
- Extension Methods
Constructors
Sub(IExpression, IExpression)
Initializes a new instance of the Sub class.
public Sub(IExpression left, IExpression right)
Parameters
left
IExpressionThe minuend.
right
IExpressionThe subtrahend.
Methods
AnalyzeInternal<TResult>(IAnalyzer<TResult>)
Analyzes the current expression.
protected override TResult AnalyzeInternal<TResult>(IAnalyzer<TResult> analyzer)
Parameters
analyzer
IAnalyzer<TResult>The analyzer.
Returns
- TResult
The analysis result.
Type Parameters
TResult
The type of the result.
AnalyzeInternal<TResult, TContext>(IAnalyzer<TResult, TContext>, TContext)
Analyzes the current expression.
protected override TResult AnalyzeInternal<TResult, TContext>(IAnalyzer<TResult, TContext> analyzer, TContext context)
Parameters
analyzer
IAnalyzer<TResult, TContext>The analyzer.
context
TContextThe context.
Returns
- TResult
The analysis result.
Type Parameters
TResult
The type of the result.
TContext
The type of additional parameter for analyzer.
Clone(IExpression?, IExpression?)
Clones this instance of the IExpression.
public override IExpression Clone(IExpression? left = null, IExpression? right = null)
Parameters
left
IExpressionThe left argument of new expression.
right
IExpressionThe right argument of new expression.
Returns
- IExpression
Returns the new instance of IExpression that is a clone of this instance.
Execute(ExpressionParameters?)
Executes this expression.
public override object Execute(ExpressionParameters? parameters)
Parameters
parameters
ExpressionParametersAn object that contains all parameters and functions for expressions.
Returns
- object
A result of the execution.
Exceptions
- ExecutionException
The result of Left or Right operand evaluation is not supported by this expression.
- ExecutionException
The result of evaluation of Left or Right operand is not supported.
- See Also