# C1.Web.Api.Report.CustomReportProvider.-ctor

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="C1_Web_Api_Report_CustomReportProvider__ctor_" data-uid="C1.Web.Api.Report.CustomReportProvider.#ctor*">CustomReportProvider Constructor
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="C1_Web_Api_Report_CustomReportProvider__ctor_" data-uid="C1.Web.Api.Report.CustomReportProvider.#ctor*"></a>
<h4 id="C1_Web_Api_Report_CustomReportProvider__ctor_System_Func_System_String_System_Collections_Specialized_NameValueCollection_C1_Document_C1DocumentSource__System_Func_System_String_System_String_System_Boolean_System_Collections_Specialized_NameValueCollection_C1_Web_Api_Report_Models_CatalogItem__" data-uid="C1.Web.Api.Report.CustomReportProvider.#ctor(System.Func{System.String,System.Collections.Specialized.NameValueCollection,C1.Document.C1DocumentSource},System.Func{System.String,System.String,System.Boolean,System.Collections.Specialized.NameValueCollection,C1.Web.Api.Report.Models.CatalogItem})">CustomReportProvider(Func&lt;string, NameValueCollection, C1DocumentSource&gt;, Func&lt;string, string, bool, NameValueCollection, CatalogItem&gt;)</h4>
<div class="markdown level1 summary"><p>Initializes a new instance of <a class="xref" href="C1.Web.Api.Report.CustomReportProvider.html">CustomReportProvider</a> object.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public CustomReportProvider(Func&lt;string, NameValueCollection, C1DocumentSource&gt; documentCreater, Func&lt;string, string, bool, NameValueCollection, CatalogItem&gt; getCatalogInfoFunc = null)</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Sub New(documentCreater As Func(Of String, NameValueCollection, C1DocumentSource), Optional getCatalogInfoFunc As Func(Of String, String, Boolean, NameValueCollection, CatalogItem) = Nothing)</code></pre>
</div>
<h5 class="parameters">Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</th>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-3">Func</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.specialized.namevaluecollection">NameValueCollection</a>, <span class="xref">C1DocumentSource</span>&gt;</td>
      <td><span class="parametername">documentCreater</span></td>
      <td><p>The function to create the document for the specified path.
The first parameter of the function represents the relative path of the document.
The second parameter of the function represents the collection of HTTP query string variables.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.func-5">Func</a>&lt;<a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.collections.specialized.namevaluecollection">NameValueCollection</a>, <a class="xref" href="C1.Web.Api.Report.Models.CatalogItem.html">CatalogItem</a>&gt;</td>
      <td><span class="parametername">getCatalogInfoFunc</span></td>
      <td><p>The function to get the catalog info of the specified folder or report.
The first parameter of the function reprents the key used to register the provider.
The second parameter of the function represents the relative path of the folder or report.
The third parameter of the function represents whether to return the entire tree of child items below the specified item.
The fourth parameter of the function represents the collection of HTTP query string variables.</p>
</td>
    </tr>
  </tbody>
</table>
</div>
