# C1.DataCollection.FilterExpression

## Content

<div class="doc-site-dotnet-api-container">



  <h1 id="C1_DataCollection_FilterExpression" data-uid="C1.DataCollection.FilterExpression" class="text-break">FilterExpression Class
</h1>
  <div class="markdown level0 summary"><p>Abstract filter expression. Use <a class="xref" href="C1.DataCollection.FilterOperationExpression.html">FilterOperationExpression</a> to create a concrete filter operations and <a class="xref" href="C1.DataCollection.FilterNaryExpression.html">FilterNaryExpression</a> and <a class="xref" href="C1.DataCollection.FilterNotExpression.html">FilterNotExpression</a> to apply logical operations between filter expressions.</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">FilterExpression</span></div>
      <div class="level2"><a class="xref" href="C1.DataCollection.FilterNaryExpression.html">FilterNaryExpression</a></div>
      <div class="level2"><a class="xref" href="C1.DataCollection.FilterNotExpression.html">FilterNotExpression</a></div>
      <div class="level2"><a class="xref" href="C1.DataCollection.FilterOperationExpression.html">FilterOperationExpression</a></div>
      <div class="level2"><a class="xref" href="C1.DataCollection.FilterPredicateExpression.html">FilterPredicateExpression</a></div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="C1.DataCollection.html">C1.DataCollection</a></h6>
  <h6><strong>Assembly</strong>: C1.DataCollection.dll</h6>
  <h5 id="C1_DataCollection_FilterExpression_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public abstract class FilterExpression</code></pre>
  </div>
  <div class="codewrapper">
    <pre><code class="lang-vbnet hljs">Public MustInherit Class FilterExpression</code></pre>
  </div>
  <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_DataCollection_FilterExpression_Combine_C1_DataCollection_FilterCombination_C1_DataCollection_FilterExpression___" data-uid="C1.DataCollection.FilterExpression.Combine(C1.DataCollection.FilterCombination,C1.DataCollection.FilterExpression[])">
          <a class="xref" href="C1.DataCollection.FilterExpression.Combine.html#C1_DataCollection_FilterExpression_Combine_C1_DataCollection_FilterCombination_C1_DataCollection_FilterExpression___">Combine(FilterCombination, params FilterExpression[])</a>
        </td>
        <td class="markdown level1 summary"><p>Combines a range of expressions using the specified logical operator.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataCollection_FilterExpression_Combine_C1_DataCollection_FilterCombination_System_Collections_Generic_IEnumerable_C1_DataCollection_FilterExpression__" data-uid="C1.DataCollection.FilterExpression.Combine(C1.DataCollection.FilterCombination,System.Collections.Generic.IEnumerable{C1.DataCollection.FilterExpression})">
          <a class="xref" href="C1.DataCollection.FilterExpression.Combine.html#C1_DataCollection_FilterExpression_Combine_C1_DataCollection_FilterCombination_System_Collections_Generic_IEnumerable_C1_DataCollection_FilterExpression__">Combine(FilterCombination, IEnumerable&lt;FilterExpression&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Combines a range of expressions using the specified logical operator.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataCollection_FilterExpression_Equals_System_Object_" data-uid="C1.DataCollection.FilterExpression.Equals(System.Object)">
          <a class="xref" href="C1.DataCollection.FilterExpression.Equals.html#C1_DataCollection_FilterExpression_Equals_System_Object_">Equals(object?)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_DataCollection_FilterExpression_FromString_System_String_System_Collections_Generic_IEnumerable_System_String__System_Boolean_System_Boolean_System_Boolean_" data-uid="C1.DataCollection.FilterExpression.FromString(System.String,System.Collections.Generic.IEnumerable{System.String},System.Boolean,System.Boolean,System.Boolean)">
          <a class="xref" href="C1.DataCollection.FilterExpression.FromString.html#C1_DataCollection_FilterExpression_FromString_System_String_System_Collections_Generic_IEnumerable_System_String__System_Boolean_System_Boolean_System_Boolean_">FromString(string, IEnumerable&lt;string&gt;, bool, bool, bool)</a>
        </td>
        <td class="markdown level1 summary"><p>Creates a <a class="xref" href="C1.DataCollection.FilterExpression.html">FilterExpression</a> from a string.</p>
</td>
      </tr>
      <tr>
        <td id="C1_DataCollection_FilterExpression_GetHashCode" data-uid="C1.DataCollection.FilterExpression.GetHashCode">
          <a class="xref" href="C1.DataCollection.FilterExpression.GetHashCode.html#C1_DataCollection_FilterExpression_GetHashCode">GetHashCode()</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_DataCollection_FilterExpression_QueryFromExpression_C1_DataCollection_FilterExpression_System_Collections_Generic_IEnumerable_System_String__" data-uid="C1.DataCollection.FilterExpression.QueryFromExpression(C1.DataCollection.FilterExpression,System.Collections.Generic.IEnumerable{System.String})">
          <a class="xref" href="C1.DataCollection.FilterExpression.QueryFromExpression.html#C1_DataCollection_FilterExpression_QueryFromExpression_C1_DataCollection_FilterExpression_System_Collections_Generic_IEnumerable_System_String__">QueryFromExpression(FilterExpression, IEnumerable&lt;string&gt;)</a>
        </td>
        <td class="markdown level1 summary"><p>Gets the query back from the expression. If the query can not be determined it returns an empty string.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="operators">Operators
</h3>
  <table class="table table-bordered table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td id="C1_DataCollection_FilterExpression_op_Equality_C1_DataCollection_FilterExpression_C1_DataCollection_FilterExpression_" data-uid="C1.DataCollection.FilterExpression.op_Equality(C1.DataCollection.FilterExpression,C1.DataCollection.FilterExpression)">
          <a class="xref" href="C1.DataCollection.FilterExpression.op_Equality.html#C1_DataCollection_FilterExpression_op_Equality_C1_DataCollection_FilterExpression_C1_DataCollection_FilterExpression_">operator ==(FilterExpression?, FilterExpression?)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
      <tr>
        <td id="C1_DataCollection_FilterExpression_op_Inequality_C1_DataCollection_FilterExpression_C1_DataCollection_FilterExpression_" data-uid="C1.DataCollection.FilterExpression.op_Inequality(C1.DataCollection.FilterExpression,C1.DataCollection.FilterExpression)">
          <a class="xref" href="C1.DataCollection.FilterExpression.op_Inequality.html#C1_DataCollection_FilterExpression_op_Inequality_C1_DataCollection_FilterExpression_C1_DataCollection_FilterExpression_">operator !=(FilterExpression?, FilterExpression?)</a>
        </td>
        <td class="markdown level1 summary"></td>
      </tr>
    </tbody>
  </table>
  <h3 id="extensionmethods">Extension Methods</h3>
  <div>
      <a class="xref" href="C1.DataCollection.ScopedFilterExpressionEx.GetExpresssionInScope.html#C1_DataCollection_ScopedFilterExpressionEx_GetExpresssionInScope_C1_DataCollection_FilterExpression_System_String_">ScopedFilterExpressionEx.GetExpresssionInScope(FilterExpression?, string)</a>
  </div>
  <div>
      <a class="xref" href="C1.DataCollection.ScopedFilterExpressionEx.IsExpresssionInScope.html#C1_DataCollection_ScopedFilterExpressionEx_IsExpresssionInScope_C1_DataCollection_FilterExpression_System_String_">ScopedFilterExpressionEx.IsExpresssionInScope(FilterExpression, string)</a>
  </div>
  <div>
      <a class="xref" href="C1.DataCollection.ScopedFilterExpressionEx.RemoveExpressionInScope.html#C1_DataCollection_ScopedFilterExpressionEx_RemoveExpressionInScope_C1_DataCollection_FilterExpression_System_String_">ScopedFilterExpressionEx.RemoveExpressionInScope(FilterExpression?, string)</a>
  </div>
  <div>
      <a class="xref" href="C1.DataCollection.ScopedFilterExpressionEx.ReplaceExpressionInScope.html#C1_DataCollection_ScopedFilterExpressionEx_ReplaceExpressionInScope_C1_DataCollection_FilterExpression_System_String_C1_DataCollection_FilterExpression_">ScopedFilterExpressionEx.ReplaceExpressionInScope(FilterExpression?, string, FilterExpression?)</a>
  </div>

</div>
