﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class DoubleConstValueSource
   | Apache Lucene.NET 4.8.0-beta00013 Documentation </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class DoubleConstValueSource
   | Apache Lucene.NET 4.8.0-beta00013 Documentation ">
    <meta name="generator" content="docfx 2.56.2.0">
    
    <link rel="shortcut icon" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/logo/favicon.ico">
    <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.css">
    <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.css">
    <link rel="stylesheet" href="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.css">
    <meta property="docfx:navrel" content="toc.html">
    <meta property="docfx:tocrel" content="queries/toc.html">
    
    <meta property="docfx:rel" content="https://lucenenet.apache.org/docs/4.8.0-beta00009/">
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <span id="forkongithub"><a href="https://github.com/apache/lucenenet" target="_blank">Fork me on GitHub</a></span>
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="/">
                <img id="logo" class="svg" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/logo/lucene-net-color.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search">
            <ul class="level0 breadcrumb">
                <li>
                    <a href="https://lucenenet.apache.org/docs/4.8.0-beta00009/">API</a>
                     <span id="breadcrumb">
                        <ul class="breadcrumb">
                          <li></li>
                        </ul>
                    </span>   
                </li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items">
            <p><i class="glyphicon glyphicon-refresh index-loading"></i></p>
          </div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource">
  
  
  <h1 id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource" class="text-break">Class DoubleConstValueSource
  </h1>
  <div class="markdown level0 summary"><p>Function that returns a constant double value for every document.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><a class="xref" href="Lucene.Net.Queries.Function.ValueSource.html">ValueSource</a></div>
    <div class="level2"><a class="xref" href="Lucene.Net.Queries.Function.ValueSources.ConstNumberSource.html">ConstNumberSource</a></div>
    <div class="level3"><span class="xref">DoubleConstValueSource</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Lucene.Net.Queries.Function.ValueSource.html#Lucene_Net_Queries_Function_ValueSource_ToString">ValueSource.ToString()</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Queries.Function.ValueSource.html#Lucene_Net_Queries_Function_ValueSource_CreateWeight_System_Collections_IDictionary_Lucene_Net_Search_IndexSearcher_">ValueSource.CreateWeight(IDictionary, IndexSearcher)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Queries.Function.ValueSource.html#Lucene_Net_Queries_Function_ValueSource_NewContext_Lucene_Net_Search_IndexSearcher_">ValueSource.NewContext(IndexSearcher)</a>
    </div>
    <div>
      <a class="xref" href="Lucene.Net.Queries.Function.ValueSource.html#Lucene_Net_Queries_Function_ValueSource_GetSortField_System_Boolean_">ValueSource.GetSortField(Boolean)</a>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Lucene.Net.Queries.Function.ValueSources.html">Lucene.Net.Queries.Function.ValueSources</a></h6>
  <h6><strong>Assembly</strong>: Lucene.Net.Queries.dll</h6>
  <h5 id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public class DoubleConstValueSource : ConstNumberSource</code></pre>
  </div>
  <h3 id="constructors">Constructors
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource__ctor_System_Double_.md&amp;value=---%0Auid%3A%20Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.%23ctor(System.Double)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Queries/Function/ValueSources/DoubleConstValueSource.cs/#L35">View Source</a>
  </span>
  <a id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource__ctor_" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.#ctor*"></a>
  <h4 id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource__ctor_System_Double_" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.#ctor(System.Double)">DoubleConstValueSource(Double)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public DoubleConstValueSource(double constant)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td><span class="parametername">constant</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Bool.md&amp;value=---%0Auid%3A%20Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Bool%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Queries/Function/ValueSources/DoubleConstValueSource.cs/#L141">View Source</a>
  </span>
  <a id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Bool_" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Bool*"></a>
  <h4 id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Bool" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Bool">Bool</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override bool Bool { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Lucene.Net.Queries.Function.ValueSources.ConstNumberSource.html#Lucene_Net_Queries_Function_ValueSources_ConstNumberSource_Bool">ConstNumberSource.Bool</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Double.md&amp;value=---%0Auid%3A%20Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Double%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Queries/Function/ValueSources/DoubleConstValueSource.cs/#L137">View Source</a>
  </span>
  <a id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Double_" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Double*"></a>
  <h4 id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Double" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Double">Double</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override double Double { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Double</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Lucene.Net.Queries.Function.ValueSources.ConstNumberSource.html#Lucene_Net_Queries_Function_ValueSources_ConstNumberSource_Double">ConstNumberSource.Double</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Int32.md&amp;value=---%0Auid%3A%20Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Int32%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Queries/Function/ValueSources/DoubleConstValueSource.cs/#L125">View Source</a>
  </span>
  <a id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Int32_" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Int32*"></a>
  <h4 id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Int32" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Int32">Int32</h4>
  <div class="markdown level1 summary"><p>NOTE: This was getInt() in Lucene</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override int Int32 { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Lucene.Net.Queries.Function.ValueSources.ConstNumberSource.html#Lucene_Net_Queries_Function_ValueSources_ConstNumberSource_Int32">ConstNumberSource.Int32</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Int64.md&amp;value=---%0Auid%3A%20Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Int64%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Queries/Function/ValueSources/DoubleConstValueSource.cs/#L130">View Source</a>
  </span>
  <a id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Int64_" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Int64*"></a>
  <h4 id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Int64" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Int64">Int64</h4>
  <div class="markdown level1 summary"><p>NOTE: This was getLong() in Lucene</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override long Int64 { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int64</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Lucene.Net.Queries.Function.ValueSources.ConstNumberSource.html#Lucene_Net_Queries_Function_ValueSources_ConstNumberSource_Int64">ConstNumberSource.Int64</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Single.md&amp;value=---%0Auid%3A%20Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Single%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Queries/Function/ValueSources/DoubleConstValueSource.cs/#L135">View Source</a>
  </span>
  <a id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Single_" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Single*"></a>
  <h4 id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Single" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Single">Single</h4>
  <div class="markdown level1 summary"><p>NOTE: This was getFloat() in Lucene</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override float Single { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Single</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Lucene.Net.Queries.Function.ValueSources.ConstNumberSource.html#Lucene_Net_Queries_Function_ValueSources_ConstNumberSource_Single">ConstNumberSource.Single</a></div>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Equals_System_Object_.md&amp;value=---%0Auid%3A%20Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Equals(System.Object)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Queries/Function/ValueSources/DoubleConstValueSource.cs/#L113">View Source</a>
  </span>
  <a id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Equals_" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Equals*"></a>
  <h4 id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_Equals_System_Object_" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.Equals(System.Object)">Equals(Object)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override bool Equals(object o)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Object</span></td>
        <td><span class="parametername">o</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Lucene.Net.Queries.Function.ValueSource.html#Lucene_Net_Queries_Function_ValueSource_Equals_System_Object_">ValueSource.Equals(Object)</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_GetDescription.md&amp;value=---%0Auid%3A%20Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.GetDescription%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Queries/Function/ValueSources/DoubleConstValueSource.cs/#L42">View Source</a>
  </span>
  <a id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_GetDescription_" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.GetDescription*"></a>
  <h4 id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_GetDescription" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.GetDescription">GetDescription()</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override string GetDescription()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Lucene.Net.Queries.Function.ValueSource.html#Lucene_Net_Queries_Function_ValueSource_GetDescription">ValueSource.GetDescription()</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_GetHashCode.md&amp;value=---%0Auid%3A%20Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.GetHashCode%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Queries/Function/ValueSources/DoubleConstValueSource.cs/#L107">View Source</a>
  </span>
  <a id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_GetHashCode_" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.GetHashCode*"></a>
  <h4 id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_GetHashCode" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.GetHashCode">GetHashCode()</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override int GetHashCode()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Lucene.Net.Queries.Function.ValueSource.html#Lucene_Net_Queries_Function_ValueSource_GetHashCode">ValueSource.GetHashCode()</a></div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_GetValues_System_Collections_IDictionary_Lucene_Net_Index_AtomicReaderContext_.md&amp;value=---%0Auid%3A%20Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.GetValues(System.Collections.IDictionary%2CLucene.Net.Index.AtomicReaderContext)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/NightOwl888/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Queries/Function/ValueSources/DoubleConstValueSource.cs/#L47">View Source</a>
  </span>
  <a id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_GetValues_" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.GetValues*"></a>
  <h4 id="Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource_GetValues_System_Collections_IDictionary_Lucene_Net_Index_AtomicReaderContext_" data-uid="Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource.GetValues(System.Collections.IDictionary,Lucene.Net.Index.AtomicReaderContext)">GetValues(IDictionary, AtomicReaderContext)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override FunctionValues GetValues(IDictionary context, AtomicReaderContext readerContext)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.IDictionary</span></td>
        <td><span class="parametername">context</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">Lucene.Net.Index.AtomicReaderContext</span></td>
        <td><span class="parametername">readerContext</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Lucene.Net.Queries.Function.FunctionValues.html">FunctionValues</a></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><a class="xref" href="Lucene.Net.Queries.Function.ValueSource.html#Lucene_Net_Queries_Function_ValueSource_GetValues_System_Collections_IDictionary_Lucene_Net_Index_AtomicReaderContext_">ValueSource.GetValues(IDictionary, AtomicReaderContext)</a></div>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/apache/lucenenet/new/docs/4.8.0-beta00013/websites/apidocs/apiSpec/new?filename=Lucene_Net_Queries_Function_ValueSources_DoubleConstValueSource.md&amp;value=---%0Auid%3A%20Lucene.Net.Queries.Function.ValueSources.DoubleConstValueSource%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/apache/lucenenet/blob/fix/apidocs-layout/src/Lucene.Net.Queries/Function/ValueSources/DoubleConstValueSource.cs/#L29" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            Copyright © 2020 The Apache Software Foundation, Licensed under the <a href='http://www.apache.org/licenses/LICENSE-2.0' target='_blank'>Apache License, Version 2.0</a><br> <small>Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation. <br>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</small>
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/docfx.js"></script>
    <script type="text/javascript" src="https://lucenenet.apache.org/docs/4.8.0-beta00009/styles/main.js"></script>
  </body>
</html>
