<!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.2.0/dotnetdoc/class_apache_1_1_ignite_1_1_core_1_1_binary_1_1_binary_reflective_serializer.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.9.1"/>
<title>Apache Ignite.NET: Apache.Ignite.Core.Binary.BinaryReflectiveSerializer Class Reference</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('class_apache_1_1_ignite_1_1_core_1_1_binary_1_1_binary_reflective_serializer.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#properties">Properties</a> &#124;
<a href="class_apache_1_1_ignite_1_1_core_1_1_binary_1_1_binary_reflective_serializer-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Apache.Ignite.Core.Binary.BinaryReflectiveSerializer Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Binary serializer which reflectively writes all fields except of ones with System.NonSerializedAttribute.  
 <a href="class_apache_1_1_ignite_1_1_core_1_1_binary_1_1_binary_reflective_serializer.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for Apache.Ignite.Core.Binary.BinaryReflectiveSerializer:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_apache_1_1_ignite_1_1_core_1_1_binary_1_1_binary_reflective_serializer.png" usemap="#Apache.Ignite.Core.Binary.BinaryReflectiveSerializer_map" alt=""/>
  <map id="Apache.Ignite.Core.Binary.BinaryReflectiveSerializer_map" name="Apache.Ignite.Core.Binary.BinaryReflectiveSerializer_map">
<area href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_serializer.html" title="Binary serializer. " alt="Apache.Ignite.Core.Binary.IBinarySerializer" shape="rect" coords="0,0,314,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a2a01cfda7c6d5b5af1b8f27962194237"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_binary_1_1_binary_reflective_serializer.html#a2a01cfda7c6d5b5af1b8f27962194237">WriteBinary</a> (object obj, <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_writer.html">IBinaryWriter</a> writer)</td></tr>
<tr class="memdesc:a2a01cfda7c6d5b5af1b8f27962194237"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write binary object.  <a href="#a2a01cfda7c6d5b5af1b8f27962194237">More...</a><br /></td></tr>
<tr class="separator:a2a01cfda7c6d5b5af1b8f27962194237"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bb64aefa381f0406b079d891e983313"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_binary_1_1_binary_reflective_serializer.html#a0bb64aefa381f0406b079d891e983313">ReadBinary</a> (object obj, <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_reader.html">IBinaryReader</a> reader)</td></tr>
<tr class="memdesc:a0bb64aefa381f0406b079d891e983313"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read binary object.  <a href="#a0bb64aefa381f0406b079d891e983313">More...</a><br /></td></tr>
<tr class="separator:a0bb64aefa381f0406b079d891e983313"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a7e25e783c174e5c5d80b8ce96af3418d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_binary_1_1_binary_reflective_serializer.html#a7e25e783c174e5c5d80b8ce96af3418d">RawMode</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a7e25e783c174e5c5d80b8ce96af3418d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or value indicating whether raw mode serialization should be used.  <a href="#a7e25e783c174e5c5d80b8ce96af3418d">More...</a><br /></td></tr>
<tr class="separator:a7e25e783c174e5c5d80b8ce96af3418d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a700ccad1099f29e0fdd178c01d374a55"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_binary_1_1_binary_reflective_serializer.html#a700ccad1099f29e0fdd178c01d374a55">ForceTimestamp</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a700ccad1099f29e0fdd178c01d374a55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets a value indicating whether all DateTime values should be written as Timestamp.  <a href="#a700ccad1099f29e0fdd178c01d374a55">More...</a><br /></td></tr>
<tr class="separator:a700ccad1099f29e0fdd178c01d374a55"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Note that Java platform stores dates as a difference between current time and predefined absolute UTC date. Therefore, this difference is always the same for all time zones. .NET, in contrast, stores dates as a difference between current time and some predefined date relative to the current time zone. It means that this difference will be different as you change time zones. To overcome this discrepancy Ignite always converts .Net date to UTC form before serializing and allows user to decide whether to deserialize them in UTC or local form using <code>ReadTimestamp(..., true/false)</code> methods in <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_reader.html" title="Reader for binary objects. ">IBinaryReader</a> and <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_raw_reader.html" title="Raw reader for binary objects. ">IBinaryRawReader</a>. This serializer always read dates in UTC form. It means that if you have local date in any field/property, it will be implicitly converted to UTC form after the first serialization-deserialization cycle. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a0bb64aefa381f0406b079d891e983313"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Apache.Ignite.Core.Binary.BinaryReflectiveSerializer.ReadBinary </td>
          <td>(</td>
          <td class="paramtype">object&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_reader.html">IBinaryReader</a>&#160;</td>
          <td class="paramname"><em>reader</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>Instantiated empty object.</td></tr>
    <tr><td class="paramname">reader</td><td>Binary reader.</td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_serializer.html#a53d42b0c2fd8c341b4e0bfa55f19c8ad">Apache.Ignite.Core.Binary.IBinarySerializer</a>.</p>

</div>
</div>
<a class="anchor" id="a2a01cfda7c6d5b5af1b8f27962194237"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Apache.Ignite.Core.Binary.BinaryReflectiveSerializer.WriteBinary </td>
          <td>(</td>
          <td class="paramtype">object&#160;</td>
          <td class="paramname"><em>obj</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_writer.html">IBinaryWriter</a>&#160;</td>
          <td class="paramname"><em>writer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">obj</td><td>Object.</td></tr>
    <tr><td class="paramname">writer</td><td>Binary writer.</td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_serializer.html#a2add1948e3eb8c0232cf8ac36e0f0f4b">Apache.Ignite.Core.Binary.IBinarySerializer</a>.</p>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="a700ccad1099f29e0fdd178c01d374a55"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Apache.Ignite.Core.Binary.BinaryReflectiveSerializer.ForceTimestamp</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Timestamp format is required for values used in SQL and for interoperation with other platforms. Only UTC values are supported in Timestamp format. Other values will cause an exception on write. </p>
<p>Normally serializer uses <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_writer.html#a507d207e45652170b7c3fe86f85b786b" title="Write named object value. ">IBinaryWriter.WriteObject&lt;T&gt;</a> for DateTime fields. This attribute changes the behavior to <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_writer.html#adc09265825e225d02aea81922cbc462e" title="Write named date value. ">IBinaryWriter.WriteTimestamp</a>. </p>
<p>See also <a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_binary_1_1_timestamp_attribute.html" title="Instructs the serializer to write DateTime fields and properties in Timestamp format, which is interoperable with other platforms and works in SQL, but does not allow non-UTC values. ">TimestampAttribute</a>. </p>

</div>
</div>
<a class="anchor" id="a7e25e783c174e5c5d80b8ce96af3418d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool Apache.Ignite.Core.Binary.BinaryReflectiveSerializer.RawMode</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Raw mode does not include field names, improving performance and memory usage. However, queries do not support raw objects. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_apache.html">Apache</a></li><li class="navelem"><a class="el" href="namespace_apache_1_1_ignite.html">Ignite</a></li><li class="navelem"><a class="el" href="namespace_apache_1_1_ignite_1_1_core.html">Core</a></li><li class="navelem"><a class="el" href="namespace_apache_1_1_ignite_1_1_core_1_1_binary.html">Binary</a></li><li class="navelem"><a class="el" href="class_apache_1_1_ignite_1_1_core_1_1_binary_1_1_binary_reflective_serializer.html">BinaryReflectiveSerializer</a></li>
    <li class="footer">Generated on Fri Sep 15 2017 11:37:29 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>
