# C1.WPF.ExpressionEditor.C1ExpressionEngine

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_WPF_ExpressionEditor_C1ExpressionEngine" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine" class="text-break">C1ExpressionEngine Class
</h1>
  <div class="markdown level0 summary"><p>Expression engine class that is used to dynamically produce an expression and get the result of the expression.</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">C1ExpressionEngine</span></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><span class="xref">IEngine</span></div>
    <div><span class="xref">IExpressionEngine</span></div>
    <div><span class="xref">IEngineExtended</span></div>
    <div><span class="xref">IEngineExpressionItems</span></div>
    <div><span class="xref">ISupportAliases</span></div>
    <div><span class="xref">ISupportCustomFunctions</span></div>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.componentmodel.inotifypropertychanged">INotifyPropertyChanged</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.WPF.ExpressionEditor.html">C1.WPF.ExpressionEditor</a></h6>
  <h6><strong>Assembly</strong>: C1.WPF.ExpressionEditor.dll</h6>
  <h5 id="C1_WPF_ExpressionEditor_C1ExpressionEngine_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class C1ExpressionEngine : IEngine, IExpressionEngine, IEngineExtended, IEngineExpressionItems, ISupportAliases, ISupportCustomFunctions, INotifyPropertyChanged</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Class C1ExpressionEngine
    Implements IEngine, IExpressionEngine, IEngineExtended, IEngineExpressionItems, ISupportAliases, ISupportCustomFunctions, INotifyPropertyChanged</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_WPF_ExpressionEditor_C1ExpressionEngine__ctor" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.#ctor">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.-ctor.html#C1_WPF_ExpressionEditor_C1ExpressionEngine__ctor">C1ExpressionEngine()</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.html">C1ExpressionEngine</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_WPF_ExpressionEditor_C1ExpressionEngine_CultureInfo" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.CultureInfo">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.CultureInfo.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_CultureInfo">CultureInfo</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_CurrentIndex" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.CurrentIndex">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.CurrentIndex.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_CurrentIndex">CurrentIndex</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_DataSource" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.DataSource">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.DataSource.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_DataSource">DataSource</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_Expression" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.Expression">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.Expression.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_Expression">Expression</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_IsValid" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.IsValid">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.IsValid.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_IsValid">IsValid</a>
        </td>
        <td class="markdown level1 summary"></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_WPF_ExpressionEditor_C1ExpressionEngine_AddAlias_System_String_System_String_" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.AddAlias(System.String,System.String)">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.AddAlias.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_AddAlias_System_String_System_String_">AddAlias(string, string)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_AddError_System_Int32_System_Int32_C1_CalcEngine_ErrorType_" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.AddError(System.Int32,System.Int32,C1.CalcEngine.ErrorType)">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.AddError.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_AddError_System_Int32_System_Int32_C1_CalcEngine_ErrorType_">AddError(int, int, ErrorType)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_AddFunction_System_Collections_Generic_List_C1_CalcEngine_ExpressionItem__System_Func_System_Collections_Generic_List_System_Object__System_Object__System_Int32_System_Int32_" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.AddFunction(System.Collections.Generic.List{C1.CalcEngine.ExpressionItem},System.Func{System.Collections.Generic.List{System.Object},System.Object},System.Int32,System.Int32)">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.AddFunction.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_AddFunction_System_Collections_Generic_List_C1_CalcEngine_ExpressionItem__System_Func_System_Collections_Generic_List_System_Object__System_Object__System_Int32_System_Int32_">AddFunction(List&lt;ExpressionItem&gt;, Func&lt;List&lt;object&gt;, object&gt;, int, int)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_Evaluate" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.Evaluate">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.Evaluate.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_Evaluate">Evaluate()</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_GetErrors" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.GetErrors">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.GetErrors.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_GetErrors">GetErrors()</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_GetExpressionItems" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.GetExpressionItems">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.GetExpressionItems.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_GetExpressionItems">GetExpressionItems()</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_GetFieldNames" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.GetFieldNames">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.GetFieldNames.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_GetFieldNames">GetFieldNames()</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_GetItemsCount_C1_CalcEngine_ExpressionEngine_IExpression_" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.GetItemsCount(C1.CalcEngine.ExpressionEngine.IExpression)">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.GetItemsCount.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_GetItemsCount_C1_CalcEngine_ExpressionEngine_IExpression_">GetItemsCount(IExpression)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_GetValue_System_Collections_Generic_IEnumerable_System_Object__" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.GetValue(System.Collections.Generic.IEnumerable{System.Object})">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.GetValue.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_GetValue_System_Collections_Generic_IEnumerable_System_Object__">GetValue(IEnumerable&lt;object&gt;)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_OnPropertyChanged_System_Object_System_ComponentModel_PropertyChangedEventArgs_" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.OnPropertyChanged(System.Object,System.ComponentModel.PropertyChangedEventArgs)">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.OnPropertyChanged.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_OnPropertyChanged_System_Object_System_ComponentModel_PropertyChangedEventArgs_">OnPropertyChanged(object, PropertyChangedEventArgs)</a>
        </td>
        <td class="markdown level1 summary"><p>Raises the property changed event.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_TryAddAlias_System_String_System_String_" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.TryAddAlias(System.String,System.String)">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.TryAddAlias.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_TryAddAlias_System_String_System_String_">TryAddAlias(string, string)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_TryEvaluate_System_Object__" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.TryEvaluate(System.Object@)">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.TryEvaluate.html#C1_WPF_ExpressionEditor_C1ExpressionEngine_TryEvaluate_System_Object__">TryEvaluate(out object)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
    </tbody>
  </table>
  <h3 id="events">Events
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_EngineChanged" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.EngineChanged">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.EngineChanged.html">EngineChanged</a>
        </td>
        <td class="markdown level1 summary"><p>Occurs when Engine settings are changed.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_ExpressionChanged" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.ExpressionChanged">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.ExpressionChanged.html">ExpressionChanged</a>
        </td>
        <td class="markdown level1 summary"><p>Occurs when Expression is changed.</p>
</td>
      </tr>
      <tr>
        <td id="C1_WPF_ExpressionEditor_C1ExpressionEngine_PropertyChanged" data-uid="C1.WPF.ExpressionEditor.C1ExpressionEngine.PropertyChanged">
          <a class="xref" href="C1.WPF.ExpressionEditor.C1ExpressionEngine.PropertyChanged.html">PropertyChanged</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
    </tbody>
  </table>

</div>
