# GrapeCity.CalcEngine.Function

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="GrapeCity_CalcEngine_Function" data-uid="GrapeCity.CalcEngine.Function" class="text-break">Function Class
</h1>
  <div class="markdown level0 summary"><p>Represents a function in the calculation engine.</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">Function</span></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.iequatable-1">IEquatable</a>&lt;<a class="xref" href="GrapeCity.CalcEngine.Function.html">Function</a>&gt;</div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="GrapeCity.CalcEngine.html">GrapeCity.CalcEngine</a></h6>
  <h6><strong>Assembly</strong>: GrapeCity.CalcEngine.dll</h6>
  <h5 id="GrapeCity_CalcEngine_Function_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class Function : IEquatable&lt;Function&gt;</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public Class [Function]
    Implements IEquatable(Of Function)</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="GrapeCity_CalcEngine_Function__ctor_System_String_System_Int32_System_Int32_GrapeCity_CalcEngine_FunctionAttributes_" data-uid="GrapeCity.CalcEngine.Function.#ctor(System.String,System.Int32,System.Int32,GrapeCity.CalcEngine.FunctionAttributes)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.-ctor.html#GrapeCity_CalcEngine_Function__ctor_System_String_System_Int32_System_Int32_GrapeCity_CalcEngine_FunctionAttributes_">Function(string, int, int, FunctionAttributes)</a>
        </td>
        <td class="markdown level1 summary"><p>Initializes a new instance of the <a class="xref" href="GrapeCity.CalcEngine.Function.html">Function</a> class.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="fields">Fields
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_MaxSupportedArguments" data-uid="GrapeCity.CalcEngine.Function.MaxSupportedArguments">
          <a class="xref" href="GrapeCity.CalcEngine.Function.MaxSupportedArguments.html">MaxSupportedArguments</a>
        </td>
        <td class="markdown level1 summary"><p>The maximum number of arguments supported by the function.</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="GrapeCity_CalcEngine_Function_Category" data-uid="GrapeCity.CalcEngine.Function.Category">
          <a class="xref" href="GrapeCity.CalcEngine.Function.Category.html#GrapeCity_CalcEngine_Function_Category">Category</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the function category.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_Hidden" data-uid="GrapeCity.CalcEngine.Function.Hidden">
          <a class="xref" href="GrapeCity.CalcEngine.Function.Hidden.html#GrapeCity_CalcEngine_Function_Hidden">Hidden</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a boolean value indicating whether the function is hidden.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_IsAttached" data-uid="GrapeCity.CalcEngine.Function.IsAttached">
          <a class="xref" href="GrapeCity.CalcEngine.Function.IsAttached.html#GrapeCity_CalcEngine_Function_IsAttached">IsAttached</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a value indicating whether this function is attached to the workbookset.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_MaxArgs" data-uid="GrapeCity.CalcEngine.Function.MaxArgs">
          <a class="xref" href="GrapeCity.CalcEngine.Function.MaxArgs.html#GrapeCity_CalcEngine_Function_MaxArgs">MaxArgs</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the maximum argument count of the function.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_MinArgs" data-uid="GrapeCity.CalcEngine.Function.MinArgs">
          <a class="xref" href="GrapeCity.CalcEngine.Function.MinArgs.html#GrapeCity_CalcEngine_Function_MinArgs">MinArgs</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the minimum argument count of the function.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_Name" data-uid="GrapeCity.CalcEngine.Function.Name">
          <a class="xref" href="GrapeCity.CalcEngine.Function.Name.html#GrapeCity_CalcEngine_Function_Name">Name</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the function name.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_Settings" data-uid="GrapeCity.CalcEngine.Function.Settings">
          <a class="xref" href="GrapeCity.CalcEngine.Function.Settings.html#GrapeCity_CalcEngine_Function_Settings">Settings</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets the settings of function.</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="GrapeCity_CalcEngine_Function_CalculateFormulaArrayDimensions_GrapeCity_CalcEngine_IArguments_System_Int32__System_Int32__" data-uid="GrapeCity.CalcEngine.Function.CalculateFormulaArrayDimensions(GrapeCity.CalcEngine.IArguments,System.Int32@,System.Int32@)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.CalculateFormulaArrayDimensions.html#GrapeCity_CalcEngine_Function_CalculateFormulaArrayDimensions_GrapeCity_CalcEngine_IArguments_System_Int32__System_Int32__">CalculateFormulaArrayDimensions(IArguments, out int, out int)</a>
        </td>
        <td class="markdown level1 summary"><p>Update the dimensions of target dynamic evaluated array.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_CanReturnDelegate" data-uid="GrapeCity.CalcEngine.Function.CanReturnDelegate">
          <a class="xref" href="GrapeCity.CalcEngine.Function.CanReturnDelegate.html#GrapeCity_CalcEngine_Function_CanReturnDelegate">CanReturnDelegate()</a>
        </td>
        <td class="markdown level1 summary"><p>Gets or sets a boolean value indicating whether the function can return an <a class="xref" href="GrapeCity.CalcEngine.IDelegate.html">IDelegate</a> object as result.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_Clone" data-uid="GrapeCity.CalcEngine.Function.Clone">
          <a class="xref" href="GrapeCity.CalcEngine.Function.Clone.html#GrapeCity_CalcEngine_Function_Clone">Clone()</a>
        </td>
        <td class="markdown level1 summary"><p>Clones this function.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_Equals_GrapeCity_CalcEngine_Function_" data-uid="GrapeCity.CalcEngine.Function.Equals(GrapeCity.CalcEngine.Function)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.Equals.html#GrapeCity_CalcEngine_Function_Equals_GrapeCity_CalcEngine_Function_">Equals(Function)</a>
        </td>
        <td class="markdown level1 summary"><p>Indicates whether the current object is equal to another object of the same type.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_Equals_System_Object_" data-uid="GrapeCity.CalcEngine.Function.Equals(System.Object)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.Equals.html#GrapeCity_CalcEngine_Function_Equals_System_Object_">Equals(object)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether the specified <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.object">object</a> is equal to this instance.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_Evaluate_GrapeCity_CalcEngine_IArguments_GrapeCity_CalcEngine_IValue_" data-uid="GrapeCity.CalcEngine.Function.Evaluate(GrapeCity.CalcEngine.IArguments,GrapeCity.CalcEngine.IValue)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.Evaluate.html#GrapeCity_CalcEngine_Function_Evaluate_GrapeCity_CalcEngine_IArguments_GrapeCity_CalcEngine_IValue_">Evaluate(IArguments, IValue)</a>
        </td>
        <td class="markdown level1 summary"><p>Evaluates the function based on specified arguments and set evaluated value to <code class="paramref">result</code>.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_FinishEvaluatingFormulaArray_GrapeCity_CalcEngine_IArguments_" data-uid="GrapeCity.CalcEngine.Function.FinishEvaluatingFormulaArray(GrapeCity.CalcEngine.IArguments)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.FinishEvaluatingFormulaArray.html#GrapeCity_CalcEngine_Function_FinishEvaluatingFormulaArray_GrapeCity_CalcEngine_IArguments_">FinishEvaluatingFormulaArray(IArguments)</a>
        </td>
        <td class="markdown level1 summary"><p>Finishes evaluating multiple cells as formula array.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_GetArgumentType_System_Int32_System_Int32_" data-uid="GrapeCity.CalcEngine.Function.GetArgumentType(System.Int32,System.Int32)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.GetArgumentType.html#GrapeCity_CalcEngine_Function_GetArgumentType_System_Int32_System_Int32_">GetArgumentType(int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether the expression at specified index is an input name.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_GetFormulaArrayDimensions_GrapeCity_CalcEngine_IEvaluationContext_GrapeCity_CalcEngine_IValue_System_Int32__System_Int32__" data-uid="GrapeCity.CalcEngine.Function.GetFormulaArrayDimensions(GrapeCity.CalcEngine.IEvaluationContext,GrapeCity.CalcEngine.IValue,System.Int32@,System.Int32@)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.GetFormulaArrayDimensions.html#GrapeCity_CalcEngine_Function_GetFormulaArrayDimensions_GrapeCity_CalcEngine_IEvaluationContext_GrapeCity_CalcEngine_IValue_System_Int32__System_Int32__">GetFormulaArrayDimensions(IEvaluationContext, IValue, out int, out int)</a>
        </td>
        <td class="markdown level1 summary"><p>Calculates the dimensions of the specified argument.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_GetFunctionName_GrapeCity_CalcEngine_ICalcEngineLanguagePackage_" data-uid="GrapeCity.CalcEngine.Function.GetFunctionName(GrapeCity.CalcEngine.ICalcEngineLanguagePackage)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.GetFunctionName.html#GrapeCity_CalcEngine_Function_GetFunctionName_GrapeCity_CalcEngine_ICalcEngineLanguagePackage_">GetFunctionName(ICalcEngineLanguagePackage)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the localized name of the function.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_GetHashCode" data-uid="GrapeCity.CalcEngine.Function.GetHashCode">
          <a class="xref" href="GrapeCity.CalcEngine.Function.GetHashCode.html#GrapeCity_CalcEngine_Function_GetHashCode">GetHashCode()</a>
        </td>
        <td class="markdown level1 summary"><p>Returns a hash code for this instance.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_GetMinimumArgumentCount_System_Int32_" data-uid="GrapeCity.CalcEngine.Function.GetMinimumArgumentCount(System.Int32)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.GetMinimumArgumentCount.html#GrapeCity_CalcEngine_Function_GetMinimumArgumentCount_System_Int32_">GetMinimumArgumentCount(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the minimum number of arguments must be passed to the function.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_GetVisibilityDependent_System_Int32_System_Int32_" data-uid="GrapeCity.CalcEngine.Function.GetVisibilityDependent(System.Int32,System.Int32)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.GetVisibilityDependent.html#GrapeCity_CalcEngine_Function_GetVisibilityDependent_System_Int32_System_Int32_">GetVisibilityDependent(int, int)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether the visibility change affects to the calculation.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_IsArrayParameter_System_Int32_" data-uid="GrapeCity.CalcEngine.Function.IsArrayParameter(System.Int32)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.IsArrayParameter.html#GrapeCity_CalcEngine_Function_IsArrayParameter_System_Int32_">IsArrayParameter(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether the expression at specified index is evaluated as an array parameter.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_IsChangedBehavior_GrapeCity_CalcEngine_WorkbookCompatibility_GrapeCity_CalcEngine_WorkbookCompatibility_" data-uid="GrapeCity.CalcEngine.Function.IsChangedBehavior(GrapeCity.CalcEngine.WorkbookCompatibility,GrapeCity.CalcEngine.WorkbookCompatibility)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.IsChangedBehavior.html#GrapeCity_CalcEngine_Function_IsChangedBehavior_GrapeCity_CalcEngine_WorkbookCompatibility_GrapeCity_CalcEngine_WorkbookCompatibility_">IsChangedBehavior(WorkbookCompatibility, WorkbookCompatibility)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets a boolean value indicating whether the function's evaluated result may volatiles when the workbook's compatibility is changed.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_IsExplicitPrecedent_System_Int32_" data-uid="GrapeCity.CalcEngine.Function.IsExplicitPrecedent(System.Int32)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.IsExplicitPrecedent.html#GrapeCity_CalcEngine_Function_IsExplicitPrecedent_System_Int32_">IsExplicitPrecedent(int)</a>
        </td>
        <td class="markdown level1 summary"><p>Determines whether the evaluated result depends on all values from the argument.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_CalcEngine_Function_StartEvaluatingFormulaArray_GrapeCity_CalcEngine_IArguments_" data-uid="GrapeCity.CalcEngine.Function.StartEvaluatingFormulaArray(GrapeCity.CalcEngine.IArguments)">
          <a class="xref" href="GrapeCity.CalcEngine.Function.StartEvaluatingFormulaArray.html#GrapeCity_CalcEngine_Function_StartEvaluatingFormulaArray_GrapeCity_CalcEngine_IArguments_">StartEvaluatingFormulaArray(IArguments)</a>
        </td>
        <td class="markdown level1 summary"><p>Starts evaluating multiple cells as formula array.</p>
</td>
      </tr>
    </tbody>
  </table>

</div>
