<!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_k.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</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_k.html','');});
</script>
<div id="doc-content">
<div class="contents">
<div class="textblock">Here is a list of all class members with links to the classes they belong to:</div>

<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
<li>KeepBinaryInStore
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_cache_configuration.html#aca8161d3a96beb28ac8ce32ab1cf1426">Apache.Ignite.Core.Cache.Configuration.CacheConfiguration</a>
</li>
<li>KeepDeserialized
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_binary_1_1_binary_configuration.html#ae9a350f00a1a75257c480ed6f1d77c2e">Apache.Ignite.Core.Binary.BinaryConfiguration</a>
, <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_binary_1_1_binary_type_configuration.html#a6d257d16cf5719b9a02b6f6cd6ad8e2a">Apache.Ignite.Core.Binary.BinaryTypeConfiguration</a>
</li>
<li>Key
: <a class="el" href="struct_apache_1_1_ignite_1_1_core_1_1_cache_1_1_affinity_1_1_affinity_key.html#abbabb99b83324f9d0ad8bbec13d961de">Apache.Ignite.Core.Cache.Affinity.AffinityKey</a>
, <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cache_1_1_i_cache_entry.html#adeedc3291f777eb9869c30d3c77fc3b4">Apache.Ignite.Core.Cache.ICacheEntry&lt; out out TK, out out TV &gt;</a>
, <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cache_1_1_i_cache_entry_processor_result.html#ac9b6e84ea8de606fa9951e1d050f74af">Apache.Ignite.Core.Cache.ICacheEntryProcessorResult&lt; out out TK, out out T &gt;</a>
, <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_events_1_1_cache_event.html#a7e5c44b6f91210db2e9a8739862f3561">Apache.Ignite.Core.Events.CacheEvent</a>
, <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_events_1_1_cache_query_read_event.html#a554e8efdf8376839dd275435392646f5">Apache.Ignite.Core.Events.CacheQueryReadEvent</a>
, <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_events_1_1_checkpoint_event.html#a8e20511c323b6a0588aa7a2c8fb003bb">Apache.Ignite.Core.Events.CheckpointEvent</a>
</li>
<li>KeyFieldName
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_query_entity.html#a07f5ea2ed3042a4a85906c50686ae139">Apache.Ignite.Core.Cache.Configuration.QueryEntity</a>
</li>
<li>KeySize
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cache_1_1_i_cache_metrics.html#a997c3cb60add0aae5d909d29f0392e24">Apache.Ignite.Core.Cache.ICacheMetrics</a>
</li>
<li>KeyType
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_query_entity.html#a1e36a76808f42ae9c7e776981fd6a8bc">Apache.Ignite.Core.Cache.Configuration.QueryEntity</a>
, <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cache_1_1_i_cache_metrics.html#ad1db81ee527927d6bcec75edf0fa15e4">Apache.Ignite.Core.Cache.ICacheMetrics</a>
</li>
<li>KeyTypeName
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_configuration_1_1_query_entity.html#a04d1e7cfd314c0b4e1b9bb9284176b20">Apache.Ignite.Core.Cache.Configuration.QueryEntity</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>
