Class RadExpression
Abstract base for all spreadsheet expressions, providing lazy evaluation, change propagation, and value caching for formula calculation.
Inheritance
Inherited Members
Namespace: Telerik.Windows.Documents.Spreadsheet.Expressions
Assembly: Telerik.Windows.Documents.Spreadsheet.dll
Syntax
public abstract class RadExpression : IPrecalculatedExpressionThreeNode
Constructors
RadExpression()
Initializes a new expression with an unknown evaluation state.
Declaration
protected RadExpression()
Methods
AttachToChildEvent(RadExpression)
Subscribes to value change events from a single child expression to propagate invalidation upward.
Declaration
protected void AttachToChildEvent(RadExpression childExpression)
Parameters
|
RadExpression
childExpression
The child expression. |
AttachToChildrenEvent(IEnumerable<RadExpression>)
Subscribes to value change events from multiple child expressions to propagate invalidation upward.
Declaration
protected void AttachToChildrenEvent(IEnumerable<RadExpression> childExpressions)
Parameters
|
System.Collections.Generic.IEnumerable<RadExpression>
childExpressions
The child expressions. |
GetValue()
Evaluates and returns the computed value, detecting cyclic references during calculation.
Declaration
public RadExpression GetValue()
Returns
|
RadExpression
The value as RadExpression. |
GetValueAsString()
Evaluates the expression and returns the result formatted as a string.
Declaration
public string GetValueAsString()
Returns
|
System.String
The value as string. |
GetValueAsString(CultureInfo)
Evaluates the expression and returns the result formatted according to the specified culture.
Declaration
public string GetValueAsString(CultureInfo cultureInfo)
Parameters
|
System.Globalization.CultureInfo
cultureInfo
The culture info. |
Returns
|
System.String
The value as string. |
GetValueOverride()
Calculates the expression result; override to define specific evaluation logic for each expression type.
Declaration
protected abstract RadExpression GetValueOverride()
Returns
|
RadExpression
The value as RadExpression. |
InvalidateValue()
Marks the cached value as invalid, triggering recalculation on next access and propagating invalidation to dependent expressions.
Declaration
protected void InvalidateValue()
OnValueInvalidated()
Raises the ValueInvalidated event to notify dependent expressions.
Declaration
protected virtual void OnValueInvalidated()
ToString()
Converts the expression to its formula string representation using default culture.
Declaration
public override string ToString()
Returns
|
System.String
A System.String that represents the current System.Object. |
Overrides
ToString(CultureInfo)
Converts the expression to its formula string representation using the specified culture for number and list separators.
Declaration
public string ToString(CultureInfo cultureInfo)
Parameters
|
System.Globalization.CultureInfo
cultureInfo
The culture info. |
Returns
|
System.String
The expression as string. |
Events
ValueInvalidated
Raised when the expression's cached value becomes invalid and requires recalculation.
Declaration
public event EventHandler ValueInvalidated
Event Type
|
System.EventHandler
|