# C1.DataCollection.IDataCollectionEx.CreatePredicate

## Content

<div class="doc-site-dotnet-api-container">



<h1 id="C1_DataCollection_IDataCollectionEx_CreatePredicate_" data-uid="C1.DataCollection.IDataCollectionEx.CreatePredicate*">CreatePredicate Method
</h1>
<div class="markdown level0 summary"></div>
<div class="markdown level0 conceptual"></div>



<a id="C1_DataCollection_IDataCollectionEx_CreatePredicate_" data-uid="C1.DataCollection.IDataCollectionEx.CreatePredicate*"></a>
<h4 id="C1_DataCollection_IDataCollectionEx_CreatePredicate__1_C1_DataCollection_IDataCollection___0__C1_DataCollection_FilterExpression_C1_DataCollection_C1FilterDataCollection___0__FilterCache_" data-uid="C1.DataCollection.IDataCollectionEx.CreatePredicate``1(C1.DataCollection.IDataCollection{``0},C1.DataCollection.FilterExpression,C1.DataCollection.C1FilterDataCollection{``0}.FilterCache)">CreatePredicate&lt;T&gt;(IDataCollection&lt;T&gt;, FilterExpression?, FilterCache?)</h4>
<div class="markdown level1 summary"><p>Creates the predicate from the <code class="paramref">filterExpression</code>.</p>
</div>
<div class="markdown level1 conceptual"></div>
<h5 class="declaration">Declaration</h5>
<div class="codewrapper">
  <pre><code class="lang-csharp hljs">public static Func&lt;object, int, bool&gt; CreatePredicate&lt;T&gt;(this IDataCollection&lt;T&gt; dataCollection, FilterExpression? filterExpression, C1FilterDataCollection&lt;T&gt;.FilterCache? cache = null) where T : class?</code></pre>
</div>
<div class="codewrapper">
  <pre><code class="lang-vbnet hljs">Public Shared Function CreatePredicate(Of T As Class)(dataCollection As IDataCollection(Of T), filterExpression As FilterExpression, Optional cache As C1FilterDataCollection(Of T).FilterCache = Nothing) As Func(Of Object, Integer, Boolean)</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="C1.DataCollection.IDataCollection-1.html">IDataCollection</a>&lt;T&gt;</td>
      <td><span class="parametername">dataCollection</span></td>
      <td><p>The data collection.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.DataCollection.FilterExpression.html">FilterExpression</a></td>
      <td><span class="parametername">filterExpression</span></td>
      <td><p>The filter expression.</p>
</td>
    </tr>
    <tr>
      <td><a class="xref" href="C1.DataCollection.C1FilterDataCollection-1.html">C1FilterDataCollection</a>&lt;T&gt;.<a class="xref" href="C1.DataCollection.C1FilterDataCollection-1.FilterCache.html">FilterCache</a></td>
      <td><span class="parametername">cache</span></td>
      <td><p>Optional filter cache to accelerate predicate creation if it was already created.</p>
</td>
    </tr>
  </tbody>
</table>
<h5 class="returns">Returns</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Type</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.object">object</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.int32">int</a>, <a class="xref" href="https://learn.microsoft.com/dotnet/api/system.boolean">bool</a>&gt;</td>
      <td></td>
    </tr>
  </tbody>
</table>
<h5 class="typeParameters">Type Parameters</h5>
<table class="table table-bordered table-condensed">
  <thead>
    <tr>
      <th>Name</th>
      <th>Description</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><span class="parametername">T</span></td>
      <td></td>
    </tr>
  </tbody>
</table>
</div>
