# C1.CalcEngine.ExpressionEngine.BaseFunctionExpression

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_CalcEngine_ExpressionEngine_BaseFunctionExpression" data-uid="C1.CalcEngine.ExpressionEngine.BaseFunctionExpression" class="text-break">BaseFunctionExpression Class
</h1>
  <div class="markdown level0 summary"><p>Base class of function 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"><a class="xref" href="C1.CalcEngine.ExpressionEngine.Expression.html">Expression</a></div>
    <div class="level2"><span class="xref">BaseFunctionExpression</span></div>
      <div class="level3"><a class="xref" href="C1.CalcEngine.ExpressionEngine.CustomFunctionExpression.html">CustomFunctionExpression</a></div>
      <div class="level3"><a class="xref" href="C1.CalcEngine.ExpressionEngine.FunctionExpression.html">FunctionExpression</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_BaseFunctionExpression_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract class BaseFunctionExpression : Expression, IExpression, IComparable&lt;IExpression&gt;</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public MustInherit Class BaseFunctionExpression
    Inherits Expression
    Implements IExpression, IComparable(Of IExpression)</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_BaseFunctionExpression__ctor_C1_CalcEngine_ExpressionEngine_IExpressionEngine_System_String_System_Collections_Generic_List_C1_CalcEngine_ExpressionEngine_IExpression__" data-uid="C1.CalcEngine.ExpressionEngine.BaseFunctionExpression.#ctor(C1.CalcEngine.ExpressionEngine.IExpressionEngine,System.String,System.Collections.Generic.List{C1.CalcEngine.ExpressionEngine.IExpression})">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.BaseFunctionExpression.-ctor.html#C1_CalcEngine_ExpressionEngine_BaseFunctionExpression__ctor_C1_CalcEngine_ExpressionEngine_IExpressionEngine_System_String_System_Collections_Generic_List_C1_CalcEngine_ExpressionEngine_IExpression__">BaseFunctionExpression(IExpressionEngine, string, List&lt;IExpression&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="C1.CalcEngine.ExpressionEngine.BaseFunctionExpression.html">BaseFunctionExpression</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_BaseFunctionExpression_Args" data-uid="C1.CalcEngine.ExpressionEngine.BaseFunctionExpression.Args">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.BaseFunctionExpression.Args.html#C1_CalcEngine_ExpressionEngine_BaseFunctionExpression_Args">Args</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the arguments of a function.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_BaseFunctionExpression_Id" data-uid="C1.CalcEngine.ExpressionEngine.BaseFunctionExpression.Id">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.BaseFunctionExpression.Id.html#C1_CalcEngine_ExpressionEngine_BaseFunctionExpression_Id">Id</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the function identifier.</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_BaseFunctionExpression_GetFunctionArgs_C1_CalcEngine_ItemType_" data-uid="C1.CalcEngine.ExpressionEngine.BaseFunctionExpression.GetFunctionArgs(C1.CalcEngine.ItemType)">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.BaseFunctionExpression.GetFunctionArgs.html#C1_CalcEngine_ExpressionEngine_BaseFunctionExpression_GetFunctionArgs_C1_CalcEngine_ItemType_">GetFunctionArgs(ItemType)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets arguments of a function by function type.</p>
</td>
      </tr>
      <tr>
        <td id="C1_CalcEngine_ExpressionEngine_BaseFunctionExpression_Optimize" data-uid="C1.CalcEngine.ExpressionEngine.BaseFunctionExpression.Optimize">
          <a class="xref" href="C1.CalcEngine.ExpressionEngine.BaseFunctionExpression.Optimize.html#C1_CalcEngine_ExpressionEngine_BaseFunctionExpression_Optimize">Optimize()</a>
        </td>
        <td class="markdown level1 summary"><p>Optimizes this expression.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
