skip navigation
  • Product Bundles

    DevCraft

    All Telerik .NET tools and Kendo UI JavaScript components in one package. Now enhanced with:

    • AI Coding Assistants
    • Embedded Reporting
    • Document Processing Libraries
    • SSO Account Sign-in

    Web

    Kendo UI UI for Angular UI for Vue UI for jQuery KendoReact UI for Blazor UI for ASP.NET Core UI for ASP.NET MVC UI for ASP.NET AJAX

    Mobile

    UI for .NET MAUI

    Document Management

    Telerik Document Processing

    Desktop

    UI for .NET MAUI UI for WinUI UI for WinForms UI for WPF

    Reporting

    Telerik Reporting Telerik Report Server

    Testing & Mocking

    Test Studio Telerik JustMock

    CMS

    Sitefinity

    AI Productivity Tools

    AI Coding Assistants

    UI/UX Tools

    ThemeBuilder Design System Kit Templates and Building Blocks

    Debugging

    Fiddler Fiddler Everywhere Fiddler Classic Fiddler Everywhere Reporter FiddlerCore

    Free Tools

    KendoReact Free VB.NET to C# Converter Testing Framework
    View all products
  • Overview
  • Demos
    • What's New
    • Roadmap
    • Release History
  • Support and Learning

    • Support and Learning Hub
    • First Steps
    • Docs
    • Demos
    • Virtual Classroom
    • Forums
    • Videos
    • Blogs
    • Accessibility
    • Submit a Ticket

    Productivity and Design Tools

    • Visual Studio Extensions
    • Visual Studio Templates
    • Embedded Reporting
  • Pricing
  • Shopping cart
    • Account Overview
    • Your Licenses
    • Downloads
    • Support Center
    • Forum Profile
    • Payment Methods
    • Edit Profile
    • Log out
  • Login
  • Contact Us
  • Try now

Class RadExpression

Abstract base for all spreadsheet expressions, providing lazy evaluation, change propagation, and value caching for formula calculation.

Inheritance
System.Object
RadExpression
CellReferenceRangeExpression
ConstantExpression
FunctionExpression
OperatorExpression
SpreadsheetNameExpression
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
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
System.Object.ToString()

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

Extension Methods

ExpressionExtensions.NumberValue(RadExpression)
ExpressionExtensions.GetValueAsConstantExpression(RadExpression)
ExpressionExtensions.IntegerValue(RadExpression)
SvgExtentions.Traverse<T>(T, Func<T, IEnumerable<T>>)
SvgExtentions.TraverseDepthFirst<T>(T, Func<T, IEnumerable<T>>)
Getting Started
  • Install Now
  • Demos
  • Step-by-Step Tutorial
  • Sample Applications
  • SDK Samples
  • Visual Studio Extensions
Support Resources
  • Code Library
  • Knowledge Base
  • Videos
Community
  • Forums
  • Blogs
  • Feedback Portal
  • Document Processing Feedback Portal

Copyright © 2018 Progress Software Corporation and/or its subsidiaries or affiliates.
All Rights Reserved.

Progress, Telerik, and certain product names used herein are trademarks or registered trademarks of Progress Software Corporation and/or one of its subsidiaries or affiliates in the U.S. and/or other countries. See Trademarks for appropriate markings.