# GrapeCity.ActiveReports.Rendering.Components.ProgramBase

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="GrapeCity_ActiveReports_Rendering_Components_ProgramBase" data-uid="GrapeCity.ActiveReports.Rendering.Components.ProgramBase" class="text-break">ProgramBase Class
</h1>
  <div class="markdown level0 summary"><p>Base class to build RDL programs like <a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.StyleProgram.html">StyleProgram</a> or <a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.ReportItemProgram-1.html">ReportItemProgram&lt;T&gt;</a>. Compiles &quot;DNA&quot; of ROM object.</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">ProgramBase</span></div>
      <div class="level2"><a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.ActionProgram.html">ActionProgram</a></div>
      <div class="level2"><a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.ReportItemProgram-1.html">ReportItemProgram</a>&lt;T&gt;</div>
      <div class="level2"><a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.StyleProgram.html">StyleProgram</a></div>
  </div>
  <div class="implements">
    <h5>Implements</h5>
    <div><a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.IProgram.html">IProgram</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.html">GrapeCity.ActiveReports.Rendering.Components</a></h6>
  <h6><strong>Assembly</strong>: MESCIUS.ActiveReports.Core.Rendering.dll</h6>
  <h5 id="GrapeCity_ActiveReports_Rendering_Components_ProgramBase_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract class ProgramBase : IProgram</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_ActiveReports_Rendering_Components_ProgramBase__ctor_GrapeCity_ActiveReports_Rendering_Components_IProgramServices_GrapeCity_Enterprise_Data_DataEngine_Def_Content_System_Boolean_" data-uid="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.#ctor(GrapeCity.ActiveReports.Rendering.Components.IProgramServices,GrapeCity.Enterprise.Data.DataEngine.Def.Content,System.Boolean)">
          <a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.-ctor.html#GrapeCity_ActiveReports_Rendering_Components_ProgramBase__ctor_GrapeCity_ActiveReports_Rendering_Components_IProgramServices_GrapeCity_Enterprise_Data_DataEngine_Def_Content_System_Boolean_">ProgramBase(IProgramServices, Content, bool)</a>
        </td>
        <td class="markdown level1 summary"></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_ActiveReports_Rendering_Components_ProgramBase_DataContent" data-uid="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.DataContent">
          <a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.DataContent.html#GrapeCity_ActiveReports_Rendering_Components_ProgramBase_DataContent">DataContent</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Rendering_Components_ProgramBase_IsConst" data-uid="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.IsConst">
          <a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.IsConst.html#GrapeCity_ActiveReports_Rendering_Components_ProgramBase_IsConst">IsConst</a>
        </td>
        <td class="markdown level1 summary"><p>Returns <code>true</code> if all expressions are constant.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Rendering_Components_ProgramBase_IsStatic" data-uid="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.IsStatic">
          <a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.IsStatic.html#GrapeCity_ActiveReports_Rendering_Components_ProgramBase_IsStatic">IsStatic</a>
        </td>
        <td class="markdown level1 summary"><p>Returns <code>true</code> if all expressions do not depend on the data scope.
It can be constants or expressions that references Themes or Parameters only.</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Rendering_Components_ProgramBase_RenderingContext" data-uid="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.RenderingContext">
          <a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.RenderingContext.html#GrapeCity_ActiveReports_Rendering_Components_ProgramBase_RenderingContext">RenderingContext</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Rendering_Components_ProgramBase_Report" data-uid="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.Report">
          <a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.Report.html#GrapeCity_ActiveReports_Rendering_Components_ProgramBase_Report">Report</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Rendering_Components_ProgramBase_RequiresRenderingServices" data-uid="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.RequiresRenderingServices">
          <a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.RequiresRenderingServices.html#GrapeCity_ActiveReports_Rendering_Components_ProgramBase_RequiresRenderingServices">RequiresRenderingServices</a>
        </td>
        <td class="markdown level1 summary"><p>Returns true if any expression contains renderTime-dependent values (themes, page numbers and etc..)</p>
</td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Rendering_Components_ProgramBase_Services" data-uid="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.Services">
          <a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.Services.html#GrapeCity_ActiveReports_Rendering_Components_ProgramBase_Services">Services</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="GrapeCity_ActiveReports_Rendering_Components_ProgramBase_CompileExpression__1_GrapeCity_Enterprise_Data_Expressions_ExpressionInfo___0_System_Boolean_System_Func___0___0__" data-uid="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.CompileExpression``1(GrapeCity.Enterprise.Data.Expressions.ExpressionInfo,``0,System.Boolean,System.Func{``0,``0})">
          <a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.CompileExpression.html#GrapeCity_ActiveReports_Rendering_Components_ProgramBase_CompileExpression__1_GrapeCity_Enterprise_Data_Expressions_ExpressionInfo___0_System_Boolean_System_Func___0___0__">CompileExpression&lt;T&gt;(ExpressionInfo, T, bool, Func&lt;T, T&gt;)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="GrapeCity_ActiveReports_Rendering_Components_ProgramBase_EvalConst__1_GrapeCity_Enterprise_Data_Expressions_ExpressionInfo___0_System_Func___0___0__" data-uid="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.EvalConst``1(GrapeCity.Enterprise.Data.Expressions.ExpressionInfo,``0,System.Func{``0,``0})">
          <a class="xref" href="GrapeCity.ActiveReports.Rendering.Components.ProgramBase.EvalConst.html#GrapeCity_ActiveReports_Rendering_Components_ProgramBase_EvalConst__1_GrapeCity_Enterprise_Data_Expressions_ExpressionInfo___0_System_Func___0___0__">EvalConst&lt;T&gt;(ExpressionInfo, T, Func&lt;T, T&gt;)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
    </tbody>
  </table>
  <h3 id="extensionmethods">Extension Methods</h3>
  <div>
      <a class="xref" href="GrapeCity.ActiveReports.Core.Rendering.Tools.ObjectExtensions.IsNumber.html#GrapeCity_ActiveReports_Core_Rendering_Tools_ObjectExtensions_IsNumber_System_Object_">ObjectExtensions.IsNumber(object)</a>
  </div>

</div>
