<!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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Proton DotNet: Apache.Qpid.Proton.Codec.Encoders.Transport.DetachTypeEncoder 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="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">Proton DotNet
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<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>
<!-- 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 id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceApache.html">Apache</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid.html">Qpid</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton.html">Proton</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Codec.html">Codec</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders.html">Encoders</a></li><li class="navelem"><a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1Transport.html">Transport</a></li><li class="navelem"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1Transport_1_1DetachTypeEncoder.html">DetachTypeEncoder</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1Transport_1_1DetachTypeEncoder-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Apache.Qpid.Proton.Codec.Encoders.Transport.DetachTypeEncoder Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Inheritance diagram for Apache.Qpid.Proton.Codec.Encoders.Transport.DetachTypeEncoder:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1Transport_1_1DetachTypeEncoder.png" usemap="#Apache.Qpid.Proton.Codec.Encoders.Transport.DetachTypeEncoder_map" alt=""/>
  <map id="Apache.Qpid.Proton.Codec.Encoders.Transport.DetachTypeEncoder_map" name="Apache.Qpid.Proton.Codec.Encoders.Transport.DetachTypeEncoder_map">
<area href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html" alt="Apache.Qpid.Proton.Codec.Encoders.AbstractDescribedListTypeEncoder&lt; Detach &gt;" shape="rect" coords="0,0,495,24"/>
  </map>
</div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aa339ae1a5afceba26a90d60593ddf02d"><td class="memItemLeft" align="right" valign="top"><a id="aa339ae1a5afceba26a90d60593ddf02d"></a>
override <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Symbol.html">Symbol</a>&#160;</td><td class="memItemRight" valign="bottom"><b>DescriptorSymbol</b> =&gt; Detach.DescriptorSymbol</td></tr>
<tr class="separator:aa339ae1a5afceba26a90d60593ddf02d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78b21b2ad55ca0004ed3bf1a1bc017d8"><td class="memItemLeft" align="right" valign="top"><a id="a78b21b2ad55ca0004ed3bf1a1bc017d8"></a>
override ulong&#160;</td><td class="memItemRight" valign="bottom"><b>DescriptorCode</b> =&gt; Detach.DescriptorCode</td></tr>
<tr class="separator:a78b21b2ad55ca0004ed3bf1a1bc017d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_attribs_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td colspan="2" onclick="javascript:toggleInherit('pub_attribs_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder')"><img src="closed.png" alt="-"/>&#160;Public Attributes inherited from <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html">Apache.Qpid.Proton.Codec.Encoders.AbstractDescribedListTypeEncoder&lt; Detach &gt;</a></td></tr>
<tr class="memitem:a8306f757287e532925c6851eb1d5ecae inherit pub_attribs_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top"><a id="a8306f757287e532925c6851eb1d5ecae"></a>
override Type&#160;</td><td class="memItemRight" valign="bottom"><b>EncodesType</b></td></tr>
<tr class="separator:a8306f757287e532925c6851eb1d5ecae inherit pub_attribs_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:af9e320498a9afdb1469822978f7b7257"><td class="memItemLeft" align="right" valign="top"><a id="af9e320498a9afdb1469822978f7b7257"></a>
override <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Codec.html#a3c20d2d05f5f52d8828e0d0ef1bea07a">EncodingCodes</a>&#160;</td><td class="memItemRight" valign="bottom"><b>GetListEncoding</b> (<a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Transport_1_1Detach.html">Detach</a> value)</td></tr>
<tr class="separator:af9e320498a9afdb1469822978f7b7257"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9c06509db0093c34b0b81fc6217f131"><td class="memItemLeft" align="right" valign="top"><a id="ad9c06509db0093c34b0b81fc6217f131"></a>
override int&#160;</td><td class="memItemRight" valign="bottom"><b>GetElementCount</b> (<a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Transport_1_1Detach.html">Detach</a> begin)</td></tr>
<tr class="separator:ad9c06509db0093c34b0b81fc6217f131"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff6ad70ef8665c9097ace80d9a5bb6db"><td class="memItemLeft" align="right" valign="top">override int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1Transport_1_1DetachTypeEncoder.html#aff6ad70ef8665c9097ace80d9a5bb6db">GetMinElementCount</a> ()</td></tr>
<tr class="memdesc:aff6ad70ef8665c9097ace80d9a5bb6db"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the minimum number of elements that this AMQP type must provide in order to be considered a valid type.  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1Transport_1_1DetachTypeEncoder.html#aff6ad70ef8665c9097ace80d9a5bb6db">More...</a><br /></td></tr>
<tr class="separator:aff6ad70ef8665c9097ace80d9a5bb6db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac3659c483cc04edae45389ad75c9d3ea"><td class="memItemLeft" align="right" valign="top"><a id="ac3659c483cc04edae45389ad75c9d3ea"></a>
override void&#160;</td><td class="memItemRight" valign="bottom"><b>WriteElement</b> (<a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Types_1_1Transport_1_1Detach.html">Detach</a> detach, int index, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IEncoderState.html">IEncoderState</a> state)</td></tr>
<tr class="separator:ac3659c483cc04edae45389ad75c9d3ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html">Apache.Qpid.Proton.Codec.Encoders.AbstractDescribedListTypeEncoder&lt; Detach &gt;</a></td></tr>
<tr class="memitem:a98fcccac985f4975d094758ea24e00c0 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="namespaceApache_1_1Qpid_1_1Proton_1_1Codec.html#a3c20d2d05f5f52d8828e0d0ef1bea07a">EncodingCodes</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#a98fcccac985f4975d094758ea24e00c0">GetListEncoding</a> (T value)</td></tr>
<tr class="memdesc:a98fcccac985f4975d094758ea24e00c0 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine the list type the given value can be encoded to based on the number of bytes that would be needed to hold the encoded form of the resulting list entries.  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#a98fcccac985f4975d094758ea24e00c0">More...</a><br /></td></tr>
<tr class="separator:a98fcccac985f4975d094758ea24e00c0 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a302b57ef49e67ac42e292f222175f058 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top">abstract void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#a302b57ef49e67ac42e292f222175f058">WriteElement</a> (T source, int index, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IEncoderState.html">IEncoderState</a> state)</td></tr>
<tr class="memdesc:a302b57ef49e67ac42e292f222175f058 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instructs the encoder to write the element identified with the given index  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#a302b57ef49e67ac42e292f222175f058">More...</a><br /></td></tr>
<tr class="separator:a302b57ef49e67ac42e292f222175f058 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae687e7aaf36b22147c8c89487d36cc23 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top">abstract int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#ae687e7aaf36b22147c8c89487d36cc23">GetElementCount</a> (T value)</td></tr>
<tr class="memdesc:ae687e7aaf36b22147c8c89487d36cc23 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the number of elements that will result when this type is encoded into an AMQP List type.  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#ae687e7aaf36b22147c8c89487d36cc23">More...</a><br /></td></tr>
<tr class="separator:ae687e7aaf36b22147c8c89487d36cc23 inherit pro_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html">Apache.Qpid.Proton.Codec.Encoders.AbstractDescribedListTypeEncoder&lt; Detach &gt;</a></td></tr>
<tr class="memitem:ac3d6c3e72c959c05826583d0b915d2d2 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top">override void&#160;</td><td class="memItemRight" valign="bottom"><b>WriteType</b> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IEncoderState.html">IEncoderState</a> state, object value)</td></tr>
<tr class="memdesc:ac3d6c3e72c959c05826583d0b915d2d2 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes the given value into the provided buffer.  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#ac3d6c3e72c959c05826583d0b915d2d2">More...</a><br /></td></tr>
<tr class="separator:ac3d6c3e72c959c05826583d0b915d2d2 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50464385670313ff0e5d1b7408eb8660 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top"><a id="a50464385670313ff0e5d1b7408eb8660"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>WriteType</b> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IEncoderState.html">IEncoderState</a> state, T value)</td></tr>
<tr class="separator:a50464385670313ff0e5d1b7408eb8660 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae078e630703edacc08b3bfc9e08f3b2b inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top">override void&#160;</td><td class="memItemRight" valign="bottom"><b>WriteArray</b> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IEncoderState.html">IEncoderState</a> state, Array values)</td></tr>
<tr class="memdesc:ae078e630703edacc08b3bfc9e08f3b2b inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes a full array encoding of the given array elements into the provided buffer.  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#ae078e630703edacc08b3bfc9e08f3b2b">More...</a><br /></td></tr>
<tr class="separator:ae078e630703edacc08b3bfc9e08f3b2b inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf87cc9c10e591c3b0b51999e640cfc9 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memItemLeft" align="right" valign="top">override void&#160;</td><td class="memItemRight" valign="bottom"><b>WriteRawArray</b> (<a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Buffer_1_1IProtonBuffer.html">IProtonBuffer</a> buffer, <a class="el" href="interfaceApache_1_1Qpid_1_1Proton_1_1Codec_1_1IEncoderState.html">IEncoderState</a> state, Array values)</td></tr>
<tr class="memdesc:adf87cc9c10e591c3b0b51999e640cfc9 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encodes only the individual elements of the given array into the provided buffer  <a href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#adf87cc9c10e591c3b0b51999e640cfc9">More...</a><br /></td></tr>
<tr class="separator:adf87cc9c10e591c3b0b51999e640cfc9 inherit pub_methods_classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="aff6ad70ef8665c9097ace80d9a5bb6db"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aff6ad70ef8665c9097ace80d9a5bb6db">&#9670;&nbsp;</a></span>GetMinElementCount()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">override int Apache.Qpid.Proton.Codec.Encoders.Transport.DetachTypeEncoder.GetMinElementCount </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">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the minimum number of elements that this AMQP type must provide in order to be considered a valid type. </p>
<dl class="section return"><dt>Returns</dt><dd>A lower limit on the element count that can be encoded</dd></dl>

<p>Reimplemented from <a class="el" href="classApache_1_1Qpid_1_1Proton_1_1Codec_1_1Encoders_1_1AbstractDescribedListTypeEncoder.html#ad4a6b83b7d8b26142a352b2399fa16ec">Apache.Qpid.Proton.Codec.Encoders.AbstractDescribedListTypeEncoder&lt; Detach &gt;</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>src/Proton/Codec/Encoders/Transport/DetachTypeEncoder.cs</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
