<Type Name="XmlNameTable" FullName="System.Xml.XmlNameTable" FullNameSP="System_Xml_XmlNameTable" Maintainer="ecma">
  <TypeSignature Language="ILASM" Value=".class public abstract XmlNameTable extends System.Object" />
  <TypeSignature Language="C#" Value="public abstract class XmlNameTable" />
  <MemberOfLibrary>XML</MemberOfLibrary>
  <AssemblyInfo>
    <AssemblyName>System.Xml</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
  </AssemblyInfo>
  <ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
  <Base>
    <BaseTypeName>System.Object</BaseTypeName>
  </Base>
  <Interfaces />
  <Docs>
    <summary>
      <para> Creates a table that stores unique instances of <see cref="T:System.String" qualify="true" /> objects.</para>
    </summary>
    <remarks>
      <para>Only a single instance of any given string is stored even if the string is 
      added multiple times to the table.</para>
      <para>Using this class provides an efficient means for an XML parser to use the 
      same <see cref="T:System.String" qualify="true" />
      object for all repeated element and attribute names in an XML document. If the
      same object is used for all repeated names, the efficiency of name comparisons
      is increased by allowing the names to be compared using object comparisons
      rather than string comparisons.</para>
      <block subset="none" type="note">
        <para> This class is
      <see langword="abstract" /> and is implemented in the <see cref="T:System.Xml.NameTable" /> class.</para>
      </block>
    </remarks>
    <example>
      <para>See the <see cref="T:System.Xml.NameTable" /> class for an example using this 
   class.</para>
    </example>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="family specialname instance void .ctor()" />
      <MemberSignature Language="C#" Value="protected XmlNameTable ();" />
      <MemberType>Constructor</MemberType>
      <ReturnValue />
      <Parameters />
      <Docs>
        <summary>Constructs a new instance of the <see cref="T:System.Xml.XmlNameTable" /> class.</summary>
        <remarks>To be added.</remarks>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Add">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract string Add(string array)" />
      <MemberSignature Language="C#" Value="public abstract string Add (string name);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="name" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="name">The <see cref="T:System.String" /> to add.</param>
        <summary>
          <para>Adds the specified <see cref="T:System.String" qualify="true" /> to the table if a <see cref="T:System.String" qualify="true" /> instance with the same value does not
   already exist in the table.</para>
        </summary>
        <returns>
          <para>
            <paramref name="array" />, if it did not exist in the table at the time of the call, or
   the <see cref="T:System.String" />
   instance previously stored in the table with a value equal to <paramref name="array" />.</para>
        </returns>
        <remarks>
          <para>
            <block subset="none" type="behaviors"> Only a single
      instance of any given <see cref="T:System.String" /> is stored in the table. If the value
      of <paramref name="array" /> is already stored in the table, the <see cref="T:System.String" /> instance with that
      value is returned.</block>
          </para>
          <para>
            <block subset="none" type="overrides"> This method must be overridden in order to
      provide the functionality described above, as there is no default implementation.
   </block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="array" /> is <see langword="null" />.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Add">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract string Add(class System.Char[] array, int32 offset, int32 length)" />
      <MemberSignature Language="C#" Value="public abstract string Add (char[] buffer, int offset, int length);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="buffer" Type="System.Char[]" />
        <Parameter Name="offset" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="buffer">To be added.</param>
        <param name="offset">A <see cref="T:System.Int32" qualify="true" /> specifying the zero-based index into the array of the first character of the string.</param>
        <param name="length">A <see cref="T:System.Int32" qualify="true" /> containing the number of characters in the string.</param>
        <param name="array">A <see cref="T:System.Char" qualify="true" /> array containing the string to add.</param>
        <summary>
          <para>Adds the <see cref="T:System.String" qualify="true" /> equivalent of a specified subset of a <see cref="T:System.Char" qualify="true" /> array to the
   table if the string equivalent does not already exist in the
   table.</para>
        </summary>
        <returns>
          <para>The <see cref="T:System.String" qualify="true" />
equivalent of the specified subset of the <see cref="T:System.Char" qualify="true" /> array that is stored in the table, or
<see cref="F:System.String.Empty" qualify="true" /> if
<paramref name="length" /> is zero.</para>
        </returns>
        <remarks>
          <para>
            <block subset="none" type="behaviors"> Only a single
      instance of any given <see cref="T:System.String" /> is stored in the table. Calling this method with the
      same subset (containing the same characters) of any <see cref="T:System.Char" qualify="true" /> array, returns
      the same instance of the <see cref="T:System.String" qualify="true" />
      equivalent.</block>
          </para>
          <para>
            <block subset="none" type="overrides"> This method must be overridden in order to
      provide the functionality described above, as there is no default implementation.
   </block>
          </para>
        </remarks>
        <exception cref="T:System.IndexOutOfRangeException">
          <para>
            <paramref name="offset" /> &lt; 0.</para>
          <para>- or -</para>
          <para>
            <paramref name="offset" /> &gt;= <paramref name="array" />.Length.</para>
          <para>- or -</para>
          <para>
            <paramref name="length" /> &gt; <paramref name="array" />.Length - <paramref name="offset" />.</para>
          <para>The above conditions do not cause an exception to be thrown if <paramref name="length" /> = 0.</para>
        </exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="length" /> &lt; 0.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Get">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract string Get(string array)" />
      <MemberSignature Language="C#" Value="public abstract string Get (string name);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="name" Type="System.String" />
      </Parameters>
      <Docs>
        <param name="name">The <see cref="T:System.String" qualify="true" /> to look up.</param>
        <summary>
          <para>Looks up the value of the specified <see cref="T:System.String" qualify="true" /> in the table.</para>
        </summary>
        <returns>
          <para>The <see cref="T:System.String" />
instance previously stored in the table with a value equal to <paramref name="array" />, or <see langword="null" /> if it does not exist.</para>
        </returns>
        <remarks>
          <para>
            <block subset="none" type="behaviors"> Only a single
      instance of any given <see cref="T:System.String" /> is stored in the table. If the value
      of <paramref name="array" /> is already stored in the table, the <see cref="T:System.String" /> instance with that value is returned. </block>
          </para>
          <para>
            <block subset="none" type="overrides"> This method must be overridden in order to
      provide the functionality described above, as there is no default implementation.
   </block>
          </para>
        </remarks>
        <exception cref="T:System.ArgumentNullException">
          <paramref name="array" /> is <see langword="null" />.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Get">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract string Get(class System.Char[] array, int32 offset, int32 length)" />
      <MemberSignature Language="C#" Value="public abstract string Get (char[] buffer, int offset, int length);" />
      <MemberType>Method</MemberType>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="buffer" Type="System.Char[]" />
        <Parameter Name="offset" Type="System.Int32" />
        <Parameter Name="length" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="buffer">To be added.</param>
        <param name="offset">A <see cref="T:System.Int32" qualify="true" /> specifying the zero-based index into the array of the first character of the string.</param>
        <param name="length">A <see cref="T:System.Int32" qualify="true" /> containing the number of characters in the string.</param>
        <param name="array">A <see cref="T:System.Char" qualify="true" /> array containing the string to look up.</param>
        <summary>
          <para>Looks up the <see cref="T:System.String" qualify="true" /> equivalent of a specified subset of a <see cref="T:System.Char" qualify="true" /> array in the
   table.</para>
        </summary>
        <returns>
          <para>The <see cref="T:System.String" qualify="true" />
equivalent of the specified subset of the <see cref="T:System.Char" qualify="true" /> array that is stored in the table, or
<see langword="null" /> if the equivalent <see cref="T:System.String" /> is not in the table.</para>
        </returns>
        <remarks>
          <para>
            <block subset="none" type="behaviors"> Only a single
      instance of any given <see cref="T:System.String" /> is stored in the table. Calling this method with the
      same subset (containing the same characters) of any <see cref="T:System.Char" qualify="true" /> array, returns
      the same instance of the <see cref="T:System.String" qualify="true" /> equivalent, if it exists. </block>
          </para>
          <para>
            <block subset="none" type="overrides"> This method must be overridden in order to
      provide the functionality described above, as there is no default implementation.
   </block>
          </para>
        </remarks>
        <exception cref="T:System.IndexOutOfRangeException">
          <paramref name="offset" /> &lt; 0. <para>- or -</para><para><paramref name="offset" /> &gt;= <paramref name="array" />.Length.</para><para>- or -</para><para><paramref name="length" /> &gt; <paramref name="array" />.Length - <paramref name="offset" />.</para><para>The above conditions do not cause an exception to be thrown if <paramref name="length" /> = 0.</para></exception>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="length" /> &lt; 0.</exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
  </Members>
  <TypeExcluded>0</TypeExcluded>
</Type>
