# C1.CalcEngine.ExpressionEngine.Expression

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_CalcEngine_ExpressionEngine_Expression" data-uid="C1.CalcEngine.ExpressionEngine.Expression" class="text-break">Expression Class
</h1>
  <div class="markdown level0 summary"><p>Base class that represents parsed expressions.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a></div>
    <div class="level1"><span class="xref">Expression</span></div>
      <div class="level2"><a class="xref" href="C1.CalcEngine.ExpressionEngine.BaseFunctionExpression.html">BaseFunctionExpression</a></div>
      <div class="level2"><a class="xref" href="C1.CalcEngine.ExpressionEngine.BinaryExpression.html">BinaryExpression</a></div>
      <div class="level2"><a class="xref" href="C1.CalcEngine.ExpressionEngine.BindingExpression.html">BindingExpression</a></div>
      <div class="level2"><a class="xref" href="C1.CalcEngine.ExpressionEngine.InExpression.html">InExpression</a></div>
      <div class="level2"><a class="xref" href="C1.CalcEngine.ExpressionEngine.UnaryExpression.html">UnaryExpression</a></div>
      <div class="level2"><a class="xref" href="C1.CalcEngine.ExpressionEngine.VariableExpression.html">VariableExpression</a></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="C1.CalcEngine.ExpressionEngine.IExpression.html">IExpression</a></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.icomparable-1">IComparable</a>&lt;<a class="xref" href="C1.CalcEngine.ExpressionEngine.IExpression.html">IExpression</a>&gt;</div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.CalcEngine.ExpressionEngine.html">C1.CalcEngine.ExpressionEngine</a></h6>
  <h6><strong>Assembly</strong>: C1.CalcEngine.dll</h6>
  <h5 id="C1_CalcEngine_ExpressionEngine_Expression_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class Expression : IExpression, IComparable&lt;IExpression&gt;</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Class Expression
    Implements IExpression, IComparable(Of IExpression)</code></pre>
  </div>
  <h5 id="C1_CalcEngine_ExpressionEngine_Expression_remarks"><strong>Remarks</strong></h5>
  <div class="markdown level0 remarks"><p>For example:</p>
<pre><code class="lang-csharp">Expression expr = engine.Parse(strExpression);
object val = expr.Evaluate();</code></pre>
</div>
  <h3 id="constructors">Constructors
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression__ctor_C1_CalcEngine_ExpressionEngine_IExpressionEngine_" data-uid="C1.CalcEngine.ExpressionEngine.Expression.#ctor(C1.CalcEngine.ExpressionEngine.IExpressionEngine)">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.-ctor.html#C1_CalcEngine_ExpressionEngine_Expression__ctor_C1_CalcEngine_ExpressionEngine_IExpressionEngine_">Expression(IExpressionEngine)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.html">Expression</a> class.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression__ctor_C1_CalcEngine_ExpressionEngine_IExpressionEngine_C1_CalcEngine_ExpressionEngine_Token_" data-uid="C1.CalcEngine.ExpressionEngine.Expression.#ctor(C1.CalcEngine.ExpressionEngine.IExpressionEngine,C1.CalcEngine.ExpressionEngine.Token)">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.-ctor.html#C1_CalcEngine_ExpressionEngine_Expression__ctor_C1_CalcEngine_ExpressionEngine_IExpressionEngine_C1_CalcEngine_ExpressionEngine_Token_">Expression(IExpressionEngine, Token)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.html">Expression</a> class.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression__ctor_C1_CalcEngine_ExpressionEngine_IExpressionEngine_System_Object_" data-uid="C1.CalcEngine.ExpressionEngine.Expression.#ctor(C1.CalcEngine.ExpressionEngine.IExpressionEngine,System.Object)">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.-ctor.html#C1_CalcEngine_ExpressionEngine_Expression__ctor_C1_CalcEngine_ExpressionEngine_IExpressionEngine_System_Object_">Expression(IExpressionEngine, object)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.html">Expression</a> class.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression_Engine" data-uid="C1.CalcEngine.ExpressionEngine.Expression.Engine">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.Engine.html#C1_CalcEngine_ExpressionEngine_Expression_Engine">Engine</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the <a class="xref" href="C1.CalcEngine.ExpressionEngine.IExpressionEngine.html">IExpressionEngine</a> that owns this <a class="xref" href="C1.CalcEngine.ExpressionEngine.IExpression.html">IExpression</a>.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression_Expressions" data-uid="C1.CalcEngine.ExpressionEngine.Expression.Expressions">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.Expressions.html#C1_CalcEngine_ExpressionEngine_Expression_Expressions">Expressions</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the expressions used in this expression for evaluation.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression_Token" data-uid="C1.CalcEngine.ExpressionEngine.Expression.Token">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.Token.html#C1_CalcEngine_ExpressionEngine_Expression_Token">Token</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a token of this expression.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression_CompareTo_C1_CalcEngine_ExpressionEngine_IExpression_" data-uid="C1.CalcEngine.ExpressionEngine.Expression.CompareTo(C1.CalcEngine.ExpressionEngine.IExpression)">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.CompareTo.html#C1_CalcEngine_ExpressionEngine_Expression_CompareTo_C1_CalcEngine_ExpressionEngine_IExpression_">CompareTo(IExpression)</a>
        </td>
        <td class="markdown level1 summary"><p>Compares this instance with a specified <a class="xref" href="C1.CalcEngine.ExpressionEngine.IExpression.html">IExpression</a> object.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression_Evaluate" data-uid="C1.CalcEngine.ExpressionEngine.Expression.Evaluate">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.Evaluate.html#C1_CalcEngine_ExpressionEngine_Expression_Evaluate">Evaluate()</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a result of expression.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression_GetBool_C1_CalcEngine_ExpressionEngine_IExpression_" data-uid="C1.CalcEngine.ExpressionEngine.Expression.GetBool(C1.CalcEngine.ExpressionEngine.IExpression)">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.GetBool.html#C1_CalcEngine_ExpressionEngine_Expression_GetBool_C1_CalcEngine_ExpressionEngine_IExpression_">GetBool(IExpression)</a>
        </td>
        <td class="markdown level1 summary"><p>Casts the result of evaluating an <a class="xref" href="C1.CalcEngine.ExpressionEngine.IExpression.html">IExpression</a> to the Boolean type.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression_GetDateTime_C1_CalcEngine_ExpressionEngine_IExpression_" data-uid="C1.CalcEngine.ExpressionEngine.Expression.GetDateTime(C1.CalcEngine.ExpressionEngine.IExpression)">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.GetDateTime.html#C1_CalcEngine_ExpressionEngine_Expression_GetDateTime_C1_CalcEngine_ExpressionEngine_IExpression_">GetDateTime(IExpression)</a>
        </td>
        <td class="markdown level1 summary"><p>Casts the result of evaluating an <a class="xref" href="C1.CalcEngine.ExpressionEngine.IExpression.html">IExpression</a> to the DateTime type.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression_GetDouble_C1_CalcEngine_ExpressionEngine_IExpression_" data-uid="C1.CalcEngine.ExpressionEngine.Expression.GetDouble(C1.CalcEngine.ExpressionEngine.IExpression)">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.GetDouble.html#C1_CalcEngine_ExpressionEngine_Expression_GetDouble_C1_CalcEngine_ExpressionEngine_IExpression_">GetDouble(IExpression)</a>
        </td>
        <td class="markdown level1 summary"><p>Casts the result of evaluating an <a class="xref" href="C1.CalcEngine.ExpressionEngine.IExpression.html">IExpression</a> to the Double type.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression_GetString_C1_CalcEngine_ExpressionEngine_IExpression_" data-uid="C1.CalcEngine.ExpressionEngine.Expression.GetString(C1.CalcEngine.ExpressionEngine.IExpression)">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.GetString.html#C1_CalcEngine_ExpressionEngine_Expression_GetString_C1_CalcEngine_ExpressionEngine_IExpression_">GetString(IExpression)</a>
        </td>
        <td class="markdown level1 summary"><p>Casts the result of evaluating an <a class="xref" href="C1.CalcEngine.ExpressionEngine.IExpression.html">IExpression</a> to the String type.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression_GetTimeSpan_C1_CalcEngine_ExpressionEngine_IExpression_" data-uid="C1.CalcEngine.ExpressionEngine.Expression.GetTimeSpan(C1.CalcEngine.ExpressionEngine.IExpression)">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.GetTimeSpan.html#C1_CalcEngine_ExpressionEngine_Expression_GetTimeSpan_C1_CalcEngine_ExpressionEngine_IExpression_">GetTimeSpan(IExpression)</a>
        </td>
        <td class="markdown level1 summary"><p>Casts the result of evaluating an <a class="xref" href="C1.CalcEngine.ExpressionEngine.IExpression.html">IExpression</a> to the TimeSpan type.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression_IsNull_System_Object_" data-uid="C1.CalcEngine.ExpressionEngine.Expression.IsNull(System.Object)">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.IsNull.html#C1_CalcEngine_ExpressionEngine_Expression_IsNull_System_Object_">IsNull(object)</a>
        </td>
        <td class="markdown level1 summary"><p>Checks whether the specified value is null od DBNull.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_Expression_Optimize" data-uid="C1.CalcEngine.ExpressionEngine.Expression.Optimize">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.Optimize.html#C1_CalcEngine_ExpressionEngine_Expression_Optimize">Optimize()</a>
        </td>
        <td class="markdown level1 summary"><p>Optimizes this expression.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
