<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="canonical" href="https://ignite.apache.org/releases/2.1.0/dotnetdoc/functions_prop_f.html" />
<META NAME="ROBOTS" CONTENT="NOINDEX">

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Apache Ignite.NET: Class Members - Properties</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-61232409-1', 'auto');
  ga('send', 'pageview');

</script></head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="ignite_logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Apache Ignite.NET
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('functions_prop_f.html','');});
</script>
<div id="doc-content">
<div class="contents">
&#160;

<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
<li>FailureDetectionTimeout
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_ignite_configuration.html#ad67e341c28b67268b6081023a4bf7834">Apache.Ignite.Core.IgniteConfiguration</a>
</li>
<li>Fields
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_type.html#ae75ccfbbf599a149c3026e7ded622aeb">Apache.Ignite.Core.Binary.IBinaryType</a>
, <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_query_entity.html#aa3817aaa508696dfcc50cce2d9223a11">Apache.Ignite.Core.Cache.Configuration.QueryEntity</a>
, <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_query_index.html#a8f0ac745434511a77688d66b74415dc0">Apache.Ignite.Core.Cache.Configuration.QueryIndex</a>
</li>
<li>FieldType
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_query_field.html#ac6d97251dc20f7b5cfe3b12b760c1963">Apache.Ignite.Core.Cache.Configuration.QueryField</a>
</li>
<li>FieldTypeName
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_query_field.html#aa73eb48fc6c4233baf0147d02d71bb2f">Apache.Ignite.Core.Cache.Configuration.QueryField</a>
</li>
<li>Filter
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_query_1_1_continuous_1_1_continuous_query.html#ac263b69af1a994a59f5536084dbe7326">Apache.Ignite.Core.Cache.Query.Continuous.ContinuousQuery&lt; TK, TV &gt;</a>
, <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_query_1_1_scan_query.html#a32de0702070e2406da1805dd00c28275">Apache.Ignite.Core.Cache.Query.ScanQuery&lt; TK, TV &gt;</a>
</li>
<li>ForceServerMode
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_discovery_1_1_tcp_1_1_tcp_discovery_spi.html#a219be9f056d14f1c93a4611376029206">Apache.Ignite.Core.Discovery.Tcp.TcpDiscoverySpi</a>
</li>
<li>ForceTimestamp
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_binary_1_1_binary_reflective_serializer.html#a700ccad1099f29e0fdd178c01d374a55">Apache.Ignite.Core.Binary.BinaryReflectiveSerializer</a>
</li>
<li>FullName
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_query_alias.html#a41d412f2c1bae85b963949c20cbea3f7">Apache.Ignite.Core.Cache.Configuration.QueryAlias</a>
</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Thu Jul 20 2017 19:19:56 for Apache Ignite.NET by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
