﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Interface IBinaryObject
   | Apache Ignite.NET </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Interface IBinaryObject
   | Apache Ignite.NET ">
    <meta name="generator" content="docfx 2.24.0.0">
    
    <link rel="shortcut icon" href="../images/favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    <meta property="docfx:rel" content="../">
    
  </head>
  <body data-spy="scroll" data-target="#affix">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../images/logo_ignite_32_32.png" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div class="container body-content">
        
        <div id="search-results">
          <div class="search-list"></div>
          <div class="sr-items"></div>
          <ul id="pagination"></ul>
        </div>
      </div>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Apache.Ignite.Core.Binary.IBinaryObject">
  
  
  <h1 id="Apache_Ignite_Core_Binary_IBinaryObject" data-uid="Apache.Ignite.Core.Binary.IBinaryObject" class="text-break">Interface IBinaryObject
  </h1>
  <div class="markdown level0 summary"><p>Wrapper for serialized objects.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Apache.Ignite.Core.Binary.html">Apache.Ignite.Core.Binary</a></h6>
  <h6><strong>Assembly</strong>: Apache.Ignite.Core.dll</h6>
  <h5 id="Apache_Ignite_Core_Binary_IBinaryObject_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public interface IBinaryObject</code></pre>
  </div>
  <h3 id="properties">Properties
  </h3>
  <a id="Apache_Ignite_Core_Binary_IBinaryObject_EnumName_" data-uid="Apache.Ignite.Core.Binary.IBinaryObject.EnumName*"></a>
  <h4 id="Apache_Ignite_Core_Binary_IBinaryObject_EnumName" data-uid="Apache.Ignite.Core.Binary.IBinaryObject.EnumName">EnumName</h4>
  <div class="markdown level1 summary"><p>Gets the name of the underlying enum value.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">string EnumName { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><p>The name of the enum value.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Binary_IBinaryObject_EnumValue_" data-uid="Apache.Ignite.Core.Binary.IBinaryObject.EnumValue*"></a>
  <h4 id="Apache_Ignite_Core_Binary_IBinaryObject_EnumValue" data-uid="Apache.Ignite.Core.Binary.IBinaryObject.EnumValue">EnumValue</h4>
  <div class="markdown level1 summary"><p>Gets the value of underlying enum in int form.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">int EnumValue { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><p>The value of underlying enum in int form.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="methods">Methods
  </h3>
  <a id="Apache_Ignite_Core_Binary_IBinaryObject_Deserialize_" data-uid="Apache.Ignite.Core.Binary.IBinaryObject.Deserialize*"></a>
  <h4 id="Apache_Ignite_Core_Binary_IBinaryObject_Deserialize__1" data-uid="Apache.Ignite.Core.Binary.IBinaryObject.Deserialize``1">Deserialize&lt;T&gt;()</h4>
  <div class="markdown level1 summary"><p>Gets fully deserialized instance of binary object.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">T Deserialize&lt;T&gt;()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td><p>Fully deserialized instance of binary object.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">T</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Binary_IBinaryObject_GetBinaryType_" data-uid="Apache.Ignite.Core.Binary.IBinaryObject.GetBinaryType*"></a>
  <h4 id="Apache_Ignite_Core_Binary_IBinaryObject_GetBinaryType" data-uid="Apache.Ignite.Core.Binary.IBinaryObject.GetBinaryType">GetBinaryType()</h4>
  <div class="markdown level1 summary"><p>Gets object metadata.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IBinaryType GetBinaryType()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryType.html">IBinaryType</a></td>
        <td><p>Metadata.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Binary_IBinaryObject_GetField_" data-uid="Apache.Ignite.Core.Binary.IBinaryObject.GetField*"></a>
  <h4 id="Apache_Ignite_Core_Binary_IBinaryObject_GetField__1_System_String_" data-uid="Apache.Ignite.Core.Binary.IBinaryObject.GetField``1(System.String)">GetField&lt;TF&gt;(String)</h4>
  <div class="markdown level1 summary"><p>Gets field value.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">TF GetField&lt;TF&gt;(string fieldName)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">fieldName</span></td>
        <td><p>Field name.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">TF</span></td>
        <td><p>Field value.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">TF</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Binary_IBinaryObject_HasField_" data-uid="Apache.Ignite.Core.Binary.IBinaryObject.HasField*"></a>
  <h4 id="Apache_Ignite_Core_Binary_IBinaryObject_HasField_System_String_" data-uid="Apache.Ignite.Core.Binary.IBinaryObject.HasField(System.String)">HasField(String)</h4>
  <div class="markdown level1 summary"><p>Determines whether the field with specified name exists in this instance.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">bool HasField(string fieldName)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.String</span></td>
        <td><span class="parametername">fieldName</span></td>
        <td><p>Name of the field.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if there is a field with specified name; false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <a id="Apache_Ignite_Core_Binary_IBinaryObject_ToBuilder_" data-uid="Apache.Ignite.Core.Binary.IBinaryObject.ToBuilder*"></a>
  <h4 id="Apache_Ignite_Core_Binary_IBinaryObject_ToBuilder" data-uid="Apache.Ignite.Core.Binary.IBinaryObject.ToBuilder">ToBuilder()</h4>
  <div class="markdown level1 summary"><p>Creates a new <a class="xref" href="Apache.Ignite.Core.Binary.IBinaryObjectBuilder.html">IBinaryObjectBuilder</a> based on this object.
<p>
This is equivalent to <a class="xref" href="Apache.Ignite.Core.Binary.IBinary.html#Apache_Ignite_Core_Binary_IBinary_GetBuilder_Apache_Ignite_Core_Binary_IBinaryObject_">GetBuilder(IBinaryObject)</a>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">IBinaryObjectBuilder ToBuilder()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Apache.Ignite.Core.Binary.IBinaryObjectBuilder.html">IBinaryObjectBuilder</a></td>
        <td><p>New <a class="xref" href="Apache.Ignite.Core.Binary.IBinaryObjectBuilder.html">IBinaryObjectBuilder</a> based on this object.</p>
</td>
      </tr>
    </tbody>
  </table>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            © 2015 - 2019 The Apache Software Foundation
            
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
