<!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/1.8.0/dotnetdoc/interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object.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.IBinaryObject Interface 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('interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object.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="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Apache.Ignite.Core.Binary.IBinaryObject Interface Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Wrapper for serialized objects.  
 <a href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object.html#details">More...</a></p>
<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:a3b1852731716ebd809452f2975ff671b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_type.html">IBinaryType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object.html#a3b1852731716ebd809452f2975ff671b">GetBinaryType</a> ()</td></tr>
<tr class="memdesc:a3b1852731716ebd809452f2975ff671b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets object metadata.  <a href="#a3b1852731716ebd809452f2975ff671b">More...</a><br /></td></tr>
<tr class="separator:a3b1852731716ebd809452f2975ff671b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f45eb29b71671cbd5663ffbef235262"><td class="memItemLeft" align="right" valign="top">TF&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object.html#a4f45eb29b71671cbd5663ffbef235262">GetField&lt; TF &gt;</a> (string fieldName)</td></tr>
<tr class="memdesc:a4f45eb29b71671cbd5663ffbef235262"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets field value.  <a href="#a4f45eb29b71671cbd5663ffbef235262">More...</a><br /></td></tr>
<tr class="separator:a4f45eb29b71671cbd5663ffbef235262"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f1ece09dacfdfbf701587d3a5bd50ed"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object.html#a4f1ece09dacfdfbf701587d3a5bd50ed">HasField</a> (string fieldName)</td></tr>
<tr class="memdesc:a4f1ece09dacfdfbf701587d3a5bd50ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether the field with specified name exists in this instance.  <a href="#a4f1ece09dacfdfbf701587d3a5bd50ed">More...</a><br /></td></tr>
<tr class="separator:a4f1ece09dacfdfbf701587d3a5bd50ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adee35ed7c6f337864851f6aad82c8dd6"><td class="memItemLeft" align="right" valign="top">T&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object.html#adee35ed7c6f337864851f6aad82c8dd6">Deserialize&lt; T &gt;</a> ()</td></tr>
<tr class="memdesc:adee35ed7c6f337864851f6aad82c8dd6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets fully deserialized instance of binary object.  <a href="#adee35ed7c6f337864851f6aad82c8dd6">More...</a><br /></td></tr>
<tr class="separator:adee35ed7c6f337864851f6aad82c8dd6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6af9cb4fa0859a357818b696d2226dee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html">IBinaryObjectBuilder</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object.html#a6af9cb4fa0859a357818b696d2226dee">ToBuilder</a> ()</td></tr>
<tr class="memdesc:a6af9cb4fa0859a357818b696d2226dee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html" title="binary object builder. Provides ability to build binary objects dynamically without having class defi...">IBinaryObjectBuilder</a> based on this object.  <a href="#a6af9cb4fa0859a357818b696d2226dee">More...</a><br /></td></tr>
<tr class="separator:a6af9cb4fa0859a357818b696d2226dee"><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:a06933e9624395f8b210df0ce6ffad825"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object.html#a06933e9624395f8b210df0ce6ffad825">EnumValue</a><code> [get]</code></td></tr>
<tr class="memdesc:a06933e9624395f8b210df0ce6ffad825"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the value of underlying enum in int form.  <a href="#a06933e9624395f8b210df0ce6ffad825">More...</a><br /></td></tr>
<tr class="separator:a06933e9624395f8b210df0ce6ffad825"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"></div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="adee35ed7c6f337864851f6aad82c8dd6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">T Apache.Ignite.Core.Binary.IBinaryObject.Deserialize&lt; T &gt; </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Fully deserialized instance of binary object. </dd></dl>

</div>
</div>
<a class="anchor" id="a3b1852731716ebd809452f2975ff671b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_type.html">IBinaryType</a> Apache.Ignite.Core.Binary.IBinaryObject.GetBinaryType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Metadata.</dd></dl>

</div>
</div>
<a class="anchor" id="a4f45eb29b71671cbd5663ffbef235262"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TF Apache.Ignite.Core.Binary.IBinaryObject.GetField&lt; TF &gt; </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>fieldName</em></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">fieldName</td><td>Field name.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Field value. </dd></dl>

</div>
</div>
<a class="anchor" id="a4f1ece09dacfdfbf701587d3a5bd50ed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Apache.Ignite.Core.Binary.IBinaryObject.HasField </td>
          <td>(</td>
          <td class="paramtype">string&#160;</td>
          <td class="paramname"><em>fieldName</em></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">fieldName</td><td>Name of the field.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if there is a field with specified name; false otherwise.</dd></dl>

</div>
</div>
<a class="anchor" id="a6af9cb4fa0859a357818b696d2226dee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html">IBinaryObjectBuilder</a> Apache.Ignite.Core.Binary.IBinaryObject.ToBuilder </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is equivalent to <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary.html#a38d85740915c143d395bfc7ff9a786b2" title="Create builder over existing binary object. ">IBinary.GetBuilder(IBinaryObject)</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>New <a class="el" href="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object_builder.html" title="binary object builder. Provides ability to build binary objects dynamically without having class defi...">IBinaryObjectBuilder</a> based on this object.</dd></dl>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a class="anchor" id="a06933e9624395f8b210df0ce6ffad825"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int Apache.Ignite.Core.Binary.IBinaryObject.EnumValue</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>The value of underlying enum in int form. </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="interface_apache_1_1_ignite_1_1_core_1_1_binary_1_1_i_binary_object.html">IBinaryObject</a></li>
    <li class="footer">Generated on Mon Dec 5 2016 14:37:39 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>
