<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<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.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Apache Geode Native .NET Reference: Apache::Geode::Client::Properties&lt; TPropKey, TPropValue &gt; Class Template 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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</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="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Apache Geode Native .NET Reference
   &#160;<span id="projectnumber">1.13.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</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">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a00406.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#properties">Properties</a>  </div>
  <div class="headertitle">
<div class="title">Apache::Geode::Client::Properties&lt; TPropKey, TPropValue &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Provides a collection of properties, each of which is a key/value pair.  
 <a href="a00406.html#details">More...</a></p>

<p>Inherits Apache::Geode::Client::IDataSerializablePrimitive.</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:a6b2efb67f4ccefefac5b53dda665d6aa"><td class="memItemLeft" align="right" valign="top">TPropValue&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00406.html#a6b2efb67f4ccefefac5b53dda665d6aa">Find</a> (TPropKey key)</td></tr>
<tr class="memdesc:a6b2efb67f4ccefefac5b53dda665d6aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the value for the given key, or NULL if not found.  <a href="#a6b2efb67f4ccefefac5b53dda665d6aa">More...</a><br /></td></tr>
<tr class="separator:a6b2efb67f4ccefefac5b53dda665d6aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ade10194f1934a9b6df6550e2a68027c8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00406.html#ade10194f1934a9b6df6550e2a68027c8">ForEach</a> (<a class="el" href="a00382.html#a4258e7293005f2017f1ad736296435e9">PropertyVisitorGeneric</a>&lt; TPropKey, TPropValue &gt;^ visitor)</td></tr>
<tr class="memdesc:ade10194f1934a9b6df6550e2a68027c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Execute the Visitor delegate for each entry in the collection.  <a href="#ade10194f1934a9b6df6550e2a68027c8">More...</a><br /></td></tr>
<tr class="separator:ade10194f1934a9b6df6550e2a68027c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62ad5c04c1947389f2c3500b99921923"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00406.html#a62ad5c04c1947389f2c3500b99921923">FromData</a> (<a class="el" href="a00602.html">DataInput</a>^ input)</td></tr>
<tr class="memdesc:a62ad5c04c1947389f2c3500b99921923"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deserializes this <a class="el" href="a00406.html" title="Provides a collection of properties, each of which is a key/value pair.">Properties</a> object.  <a href="#a62ad5c04c1947389f2c3500b99921923">More...</a><br /></td></tr>
<tr class="separator:a62ad5c04c1947389f2c3500b99921923"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4ca003e245250aa6d95b6ee9fc27388"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00406.html#ac4ca003e245250aa6d95b6ee9fc27388">Insert</a> (TPropKey key, TPropValue value)</td></tr>
<tr class="memdesc:ac4ca003e245250aa6d95b6ee9fc27388"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add or update the string value for key.  <a href="#ac4ca003e245250aa6d95b6ee9fc27388">More...</a><br /></td></tr>
<tr class="separator:ac4ca003e245250aa6d95b6ee9fc27388"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca6c2f41d4023edda04eb097d4561d73"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00406.html#aca6c2f41d4023edda04eb097d4561d73">Load</a> (String^ fileName)</td></tr>
<tr class="memdesc:aca6c2f41d4023edda04eb097d4561d73"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads property values from a file, overriding what is currently in the properties object.  <a href="#aca6c2f41d4023edda04eb097d4561d73">More...</a><br /></td></tr>
<tr class="separator:aca6c2f41d4023edda04eb097d4561d73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38ce79cdc06816650dd0c2b7f65aed7d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00406.html#a38ce79cdc06816650dd0c2b7f65aed7d">Properties</a> ()</td></tr>
<tr class="memdesc:a38ce79cdc06816650dd0c2b7f65aed7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor: returns an empty collection.  <a href="#a38ce79cdc06816650dd0c2b7f65aed7d">More...</a><br /></td></tr>
<tr class="separator:a38ce79cdc06816650dd0c2b7f65aed7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e04c985d86679d7ef0538acf4a18876"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00406.html#a8e04c985d86679d7ef0538acf4a18876">Remove</a> (TPropKey key)</td></tr>
<tr class="memdesc:a8e04c985d86679d7ef0538acf4a18876"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove the key from the collection.  <a href="#a8e04c985d86679d7ef0538acf4a18876">More...</a><br /></td></tr>
<tr class="separator:a8e04c985d86679d7ef0538acf4a18876"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3787788debde25e8cec116b47818577"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00406.html#ae3787788debde25e8cec116b47818577">ToData</a> (<a class="el" href="a00606.html">DataOutput</a>^ output)</td></tr>
<tr class="memdesc:ae3787788debde25e8cec116b47818577"><td class="mdescLeft">&#160;</td><td class="mdescRight">Serializes this <a class="el" href="a00406.html" title="Provides a collection of properties, each of which is a key/value pair.">Properties</a> object.  <a href="#ae3787788debde25e8cec116b47818577">More...</a><br /></td></tr>
<tr class="separator:ae3787788debde25e8cec116b47818577"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d05e2243bcdfd0e4a3ad715bc6ccc07"><td class="memItemLeft" align="right" valign="top">virtual String ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00406.html#a3d05e2243bcdfd0e4a3ad715bc6ccc07">ToString</a> () override</td></tr>
<tr class="memdesc:a3d05e2243bcdfd0e4a3ad715bc6ccc07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a string representation of the current <code><a class="el" href="a00406.html" title="Provides a collection of properties, each of which is a key/value pair.">Properties</a></code> object.  <a href="#a3d05e2243bcdfd0e4a3ad715bc6ccc07">More...</a><br /></td></tr>
<tr class="separator:a3d05e2243bcdfd0e4a3ad715bc6ccc07"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a3ed7915920ce3f368dd88a4f36d2255b"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="a00406.html">Properties</a>&lt; TPropKey, TPropValue &gt; ^&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00406.html#a3ed7915920ce3f368dd88a4f36d2255b">Create</a> ()</td></tr>
<tr class="memdesc:a3ed7915920ce3f368dd88a4f36d2255b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Factory method to create an empty collection of properties.  <a href="#a3ed7915920ce3f368dd88a4f36d2255b">More...</a><br /></td></tr>
<tr class="separator:a3ed7915920ce3f368dd88a4f36d2255b"><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:a05dc809015de6cd26151084bb8df65e8"><td class="memItemLeft" align="right" valign="top">virtual System::UInt64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00406.html#a05dc809015de6cd26151084bb8df65e8">ObjectSize</a><code> [get]</code></td></tr>
<tr class="memdesc:a05dc809015de6cd26151084bb8df65e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the size of this object in bytes  <a href="#a05dc809015de6cd26151084bb8df65e8">More...</a><br /></td></tr>
<tr class="separator:a05dc809015de6cd26151084bb8df65e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a272af4f84fce2c47a83e3ca49330ec69"><td class="memItemLeft" align="right" valign="top">System::UInt32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00406.html#a272af4f84fce2c47a83e3ca49330ec69">Size</a><code> [get]</code></td></tr>
<tr class="memdesc:a272af4f84fce2c47a83e3ca49330ec69"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the number of entries in the collection.  <a href="#a272af4f84fce2c47a83e3ca49330ec69">More...</a><br /></td></tr>
<tr class="separator:a272af4f84fce2c47a83e3ca49330ec69"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;class TPropKey, class TPropValue&gt;<br />
class Apache::Geode::Client::Properties&lt; TPropKey, TPropValue &gt;</h3>

<p>Provides a collection of properties, each of which is a key/value pair. </p>
<p>Each key is a string, and the value may be a string or an integer. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a38ce79cdc06816650dd0c2b7f65aed7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38ce79cdc06816650dd0c2b7f65aed7d">&#9670;&nbsp;</a></span>Properties()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TPropKey, class TPropValue&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00406.html">Apache::Geode::Client::Properties</a>&lt; TPropKey, TPropValue &gt;::<a class="el" href="a00406.html">Properties</a> </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default constructor: returns an empty collection. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a3ed7915920ce3f368dd88a4f36d2255b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ed7915920ce3f368dd88a4f36d2255b">&#9670;&nbsp;</a></span>Create()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TPropKey, class TPropValue&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="a00406.html">Properties</a>&lt;TPropKey, TPropValue&gt; ^ <a class="el" href="a00406.html">Apache::Geode::Client::Properties</a>&lt; TPropKey, TPropValue &gt;::Create </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Factory method to create an empty collection of properties. </p>
<dl class="section return"><dt>Returns</dt><dd>empty collection of properties</dd></dl>

</div>
</div>
<a id="a6b2efb67f4ccefefac5b53dda665d6aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b2efb67f4ccefefac5b53dda665d6aa">&#9670;&nbsp;</a></span>Find()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TPropKey, class TPropValue&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">TPropValue <a class="el" href="a00406.html">Apache::Geode::Client::Properties</a>&lt; TPropKey, TPropValue &gt;::Find </td>
          <td>(</td>
          <td class="paramtype">TPropKey&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the value for the given key, or NULL if not found. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>the key to find</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the value for the key</dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00734.html" title="Thrown when a null argument is provided to a method where it is expected to be non-null.">NullPointerException</a></td><td>if the key is null </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ade10194f1934a9b6df6550e2a68027c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade10194f1934a9b6df6550e2a68027c8">&#9670;&nbsp;</a></span>ForEach()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TPropKey, class TPropValue&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00406.html">Apache::Geode::Client::Properties</a>&lt; TPropKey, TPropValue &gt;::ForEach </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00382.html#a4258e7293005f2017f1ad736296435e9">PropertyVisitorGeneric</a>&lt; TPropKey, TPropValue &gt;^&#160;</td>
          <td class="paramname"><em>visitor</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Execute the Visitor delegate for each entry in the collection. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">visitor</td><td>visitor delegate</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a62ad5c04c1947389f2c3500b99921923"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62ad5c04c1947389f2c3500b99921923">&#9670;&nbsp;</a></span>FromData()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TPropKey, class TPropValue&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="a00406.html">Apache::Geode::Client::Properties</a>&lt; TPropKey, TPropValue &gt;::FromData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00602.html">DataInput</a>^&#160;</td>
          <td class="paramname"><em>input</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Deserializes this <a class="el" href="a00406.html" title="Provides a collection of properties, each of which is a key/value pair.">Properties</a> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">input</td><td>the <a class="el" href="a00602.html" title="Provides operations for reading primitive data values, byte arrays, strings, ISerializable objects fr...">DataInput</a> stream to use for reading data </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the deserialized <a class="el" href="a00406.html" title="Provides a collection of properties, each of which is a key/value pair.">Properties</a> object</dd></dl>

</div>
</div>
<a id="ac4ca003e245250aa6d95b6ee9fc27388"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac4ca003e245250aa6d95b6ee9fc27388">&#9670;&nbsp;</a></span>Insert()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TPropKey, class TPropValue&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00406.html">Apache::Geode::Client::Properties</a>&lt; TPropKey, TPropValue &gt;::Insert </td>
          <td>(</td>
          <td class="paramtype">TPropKey&#160;</td>
          <td class="paramname"><em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TPropValue&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add or update the string value for key. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>the key to insert</td></tr>
    <tr><td class="paramname">value</td><td>the string value to insert</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00734.html" title="Thrown when a null argument is provided to a method where it is expected to be non-null.">NullPointerException</a></td><td>if the key is null </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aca6c2f41d4023edda04eb097d4561d73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca6c2f41d4023edda04eb097d4561d73">&#9670;&nbsp;</a></span>Load()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TPropKey, class TPropValue&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00406.html">Apache::Geode::Client::Properties</a>&lt; TPropKey, TPropValue &gt;::Load </td>
          <td>(</td>
          <td class="paramtype">String^&#160;</td>
          <td class="paramname"><em>fileName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads property values from a file, overriding what is currently in the properties object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fileName</td><td>the name of the file</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a8e04c985d86679d7ef0538acf4a18876"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8e04c985d86679d7ef0538acf4a18876">&#9670;&nbsp;</a></span>Remove()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TPropKey, class TPropValue&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="a00406.html">Apache::Geode::Client::Properties</a>&lt; TPropKey, TPropValue &gt;::Remove </td>
          <td>(</td>
          <td class="paramtype">TPropKey&#160;</td>
          <td class="paramname"><em>key</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove the key from the collection. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">key</td><td>the key to remove</td></tr>
  </table>
  </dd>
</dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname"><a class="el" href="a00734.html" title="Thrown when a null argument is provided to a method where it is expected to be non-null.">NullPointerException</a></td><td>if the key is null </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ae3787788debde25e8cec116b47818577"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae3787788debde25e8cec116b47818577">&#9670;&nbsp;</a></span>ToData()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TPropKey, class TPropValue&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="a00406.html">Apache::Geode::Client::Properties</a>&lt; TPropKey, TPropValue &gt;::ToData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00606.html">DataOutput</a>^&#160;</td>
          <td class="paramname"><em>output</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Serializes this <a class="el" href="a00406.html" title="Provides a collection of properties, each of which is a key/value pair.">Properties</a> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">output</td><td>the <a class="el" href="a00606.html" title="Provides operations for writing primitive data values, and user-defined objects implementing ISeriali...">DataOutput</a> stream to use for serialization </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a3d05e2243bcdfd0e4a3ad715bc6ccc07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d05e2243bcdfd0e4a3ad715bc6ccc07">&#9670;&nbsp;</a></span>ToString()</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TPropKey, class TPropValue&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual String ^ <a class="el" href="a00406.html">Apache::Geode::Client::Properties</a>&lt; TPropKey, TPropValue &gt;::ToString </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">override</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a string representation of the current <code><a class="el" href="a00406.html" title="Provides a collection of properties, each of which is a key/value pair.">Properties</a></code> object. </p>
<dl class="section return"><dt>Returns</dt><dd>A comma separated list of property name,value pairs. </dd></dl>

<p>Implements <a class="el" href="a01022.html#a335290fd15fd41d39bc73a7ca10d19bd">Apache::Geode::Client::ISerializable</a>.</p>

</div>
</div>
<h2 class="groupheader">Property Documentation</h2>
<a id="a05dc809015de6cd26151084bb8df65e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05dc809015de6cd26151084bb8df65e8">&#9670;&nbsp;</a></span>ObjectSize</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TPropKey, class TPropValue&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual System:: UInt64 <a class="el" href="a00406.html">Apache::Geode::Client::Properties</a>&lt; TPropKey, TPropValue &gt;::ObjectSize</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>return the size of this object in bytes </p>

</div>
</div>
<a id="a272af4f84fce2c47a83e3ca49330ec69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a272af4f84fce2c47a83e3ca49330ec69">&#9670;&nbsp;</a></span>Size</h2>

<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;class TPropKey, class TPropValue&gt; </div>
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">System:: UInt32 <a class="el" href="a00406.html">Apache::Geode::Client::Properties</a>&lt; TPropKey, TPropValue &gt;::Size</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>Return the number of entries in the collection. </p>
<dl class="section return"><dt>Returns</dt><dd>the number of entries</dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License.  You may obtain a copy of the License at
     http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<HR><address style="align: right;"><small>Apache Geode C++ Cache .NET API Documentation</small></address>
