<!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>
<META NAME="ROBOTS" CONTENT="NOINDEX">
<link rel="canonical" href="https://ignite.apache.org/releases/1.5.0.final/dotnetdoc/functions_func_s.html" />
<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.9.1"/>
<title>Apache Ignite.NET: Class Members - Functions</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 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.9.1 -->
</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_func_s.html','');});
</script>
<div id="doc-content">
<div class="contents">
&#160;

<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
<li>ScanQuery()
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_query_1_1_scan_query.html#a34e1296ff0235e87824c3f5c9dd83f3f">Apache.Ignite.Core.Cache.Query.ScanQuery&lt; TK, TV &gt;</a>
</li>
<li>Send()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_messaging_1_1_i_messaging.html#a7c873a51a019a6e3f29f5eb37774d0d3">Apache.Ignite.Core.Messaging.IMessaging</a>
</li>
<li>SendAll()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_messaging_1_1_i_messaging.html#a4bc0fd1301ffa1892c584d211757a0c6">Apache.Ignite.Core.Messaging.IMessaging</a>
</li>
<li>SendOrdered()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_messaging_1_1_i_messaging.html#a51651d6d11a81bf1881a2a15c4821b8e">Apache.Ignite.Core.Messaging.IMessaging</a>
</li>
<li>ServiceInvocationException()
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_services_1_1_service_invocation_exception.html#a41666575e7afcb817576adaad44e3b13">Apache.Ignite.Core.Services.ServiceInvocationException</a>
</li>
<li>SessionEnd()
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_store_1_1_cache_parallel_load_store_adapter.html#a16bb45f71978aea39c17b0ae0015a648">Apache.Ignite.Core.Cache.Store.CacheParallelLoadStoreAdapter</a>
, <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_store_1_1_cache_store_adapter.html#a808afa72cc28ca5b63364a64d6fb3b61">Apache.Ignite.Core.Cache.Store.CacheStoreAdapter</a>
, <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_cache_1_1_store_1_1_i_cache_store.html#aa9e5aae261ba85fc8f65ec611ab90e1c">Apache.Ignite.Core.Cache.Store.ICacheStore</a>
</li>
<li>SetArguments()
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_job_adapter.html#ad24eaf87a28235085281ca7884b18f39">Apache.Ignite.Core.Compute.ComputeJobAdapter&lt; T &gt;</a>
</li>
<li>SetArrayField&lt; T &gt;()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a5babbd0edf18b8b23e53ab8794e4e03c">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetBooleanArrayField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#ae0828887c4740f729ade64f384af8f0f">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetBooleanField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a15fff7ef78a4f08e8327c16fd40df060">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetByteArrayField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#ada06bc194e31d642fea36de0416aeb93">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetByteField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a11a0167aceefb4feea0c69878ea7f340">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetCharArrayField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#abafa141a427a7c7015ef161d56f6fff1">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetCharField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#af661c1e5de9ea0bf6c1666370c71fd65">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetCollectionField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a767936ea8aea120e2e678c4f73c045c4">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetDecimalArrayField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#adb5db8864313034d77277fa3a7b18370">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetDecimalField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a2a5e92a9ad3cb29c99fad0bcf4e55e88">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetDictionaryField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a18d2255750e6cbb51ce9d4e2e0bdbb2a">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetDoubleArrayField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#ac0a2da71785c0b1d33047919a251aa39">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetDoubleField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a138d1e54dcac7b16316c359e379b33f2">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetEnumArrayField&lt; T &gt;()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#adf640310e934dfccbc7bdd5f1ffd5fc6">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetEnumField&lt; T &gt;()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a3f9e3de188ce8f642e6c78c55c8e40e5">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetField&lt; T &gt;()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#af4fcde5fe499f1ee1ce84c13fbb1847d">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetFloatArrayField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a6fd56dd18f1f1bf73c864a4724700007">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetFloatField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a30f6ef5b032952560dbe2f7215427209">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetGuidArrayField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#aaeb0bf4a7197a55b4e74da4f491790e6">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetGuidField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#af12cfd9689d87382ce858c6eed57649d">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetHashCode()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a00d310a12cf3b92268eb769c7f7b50d4">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetIntArrayField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a2599c00cb3a07543ab542bcefc8b8053">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetIntField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#adc1760c63a36b9543f46825aac15a558">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetLongArrayField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#ac9dee960f9015275eb58d5ccdb83cb35">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetLongField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#ad536e56532a6a226c9b6fb7659633e7a">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetRollbackonly()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_transactions_1_1_i_transaction.html#a495d08a23d723c439146f6fe20c8cf0c">Apache.Ignite.Core.Transactions.ITransaction</a>
</li>
<li>SetShortArrayField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a6e65e96d4f08940b05707d7714427095">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetShortField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a4b4a7d2128f7dea8290375345e6c43f4">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetStringArrayField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a12164451391e1c39c083279fe5a67166">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetStringField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#afce8ca86ffd59f86dde7a9676011a476">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetTimestampArrayField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#a8e5fe7959dfbcc99f171d7b224cb994e">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>SetTimestampField()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html#afd93ccab1f9af2b6bcbcb2a458a3b6d2">Apache.Ignite.Core.Binary.IBinaryObjectBuilder</a>
</li>
<li>Split()
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_compute_1_1_compute_task_split_adapter.html#a0a26d0041f8797e36419417affcbb47c">Apache.Ignite.Core.Compute.ComputeTaskSplitAdapter&lt; TArg, TJobRes, TTaskRes &gt;</a>
</li>
<li>SqlFieldsQuery()
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_query_1_1_sql_fields_query.html#a4e79f230c8c058c9d46d9b8dfca75e2e">Apache.Ignite.Core.Cache.Query.SqlFieldsQuery</a>
</li>
<li>SqlQuery()
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_cache_1_1_query_1_1_sql_query.html#adc903880f2d0d215d2afd63f744ca459">Apache.Ignite.Core.Cache.Query.SqlQuery</a>
</li>
<li>Start()
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_ignition.html#a2ab0c306231ff271f1ffb76409826754">Apache.Ignite.Core.Ignition</a>
</li>
<li>StopLocalListen&lt; T &gt;()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_events_1_1_i_events.html#a475f5e38a246afe8b622b02a0e1e5167">Apache.Ignite.Core.Events.IEvents</a>
, <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_messaging_1_1_i_messaging.html#a83c9789cf960b3ed616256ce646a9612">Apache.Ignite.Core.Messaging.IMessaging</a>
</li>
<li>StopRemoteListen()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_messaging_1_1_i_messaging.html#ad3717bb5c0d3e0f41a838b536caae5dd">Apache.Ignite.Core.Messaging.IMessaging</a>
</li>
<li>StopRemoteListenAsync()
: <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_messaging_1_1_i_messaging.html#ae8a9e529d71acbb9425897808686d55d">Apache.Ignite.Core.Messaging.IMessaging</a>
</li>
<li>StreamTransformer()
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_stream_transformer.html#a3c5e10c764dc535cc05e9408e6636a5a">Apache.Ignite.Core.Datastream.StreamTransformer&lt; TK, TV, TArg, TRes &gt;</a>
</li>
<li>StreamVisitor()
: <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_datastream_1_1_stream_visitor.html#a401b236044d7548b748aadababd769a4">Apache.Ignite.Core.Datastream.StreamVisitor&lt; TK, TV &gt;</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 Tue Dec 29 2015 13:22:06 for Apache Ignite.NET by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.9.1 </li>
  </ul>
</div>
</body>
</html>
