<?xml version="1.0" encoding="utf-8"?>
<Type Name="SocketAddress" FullName="System.Net.SocketAddress" FullNameSP="System_Net_SocketAddress" Maintainer="ecma">
  <TypeSignature Language="ILASM" Value=".class public SocketAddress extends System.Object" />
  <TypeSignature Language="C#" Value="public class SocketAddress" />
  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit SocketAddress extends System.Object" />
  <MemberOfLibrary>Networking</MemberOfLibrary>
  <AssemblyInfo>
    <AssemblyName>System</AssemblyName>
    <AssemblyPublicKey>[00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ]</AssemblyPublicKey>
    <AssemblyVersion>1.0.x.x</AssemblyVersion>
    <AssemblyVersion>1.0.5000.0</AssemblyVersion>
    <AssemblyVersion>2.0.0.0</AssemblyVersion>
    <AssemblyVersion>4.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>
    <remarks>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>The first 2 bytes of the underlying buffer are reserved for the <see cref="T:System.Net.Sockets.AddressFamily" /> enumerated value. When the <see cref="T:System.Net.SocketAddress" /> is used to store a serialized <see cref="T:System.Net.IPEndPoint" />, the third and fourth bytes are used to store port number information. The next bytes are used to store the IP address. You can access any information within this underlying byte buffer by referring to its index position; the byte buffer uses zero-based indexing. You can also use the <see cref="P:System.Net.SocketAddress.Family" /> and <see cref="P:System.Net.SocketAddress.Size" /> properties to get the <see cref="T:System.Net.Sockets.AddressFamily" /> value and the buffer size, respectively. To view any of this information as a string, use the <see cref="M:System.Net.SocketAddress.ToString" /> method.</para>
    </remarks>
    <summary>
      <attribution license="cc4" from="Microsoft" modified="false" />
      <para>Stores serialized information from <see cref="T:System.Net.EndPoint" /> derived classes.</para>
    </summary>
  </Docs>
  <Members>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Net.Sockets.AddressFamily family)" />
      <MemberSignature Language="C#" Value="public SocketAddress (System.Net.Sockets.AddressFamily family);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Net.Sockets.AddressFamily family) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters>
        <Parameter Name="family" Type="System.Net.Sockets.AddressFamily" />
      </Parameters>
      <Docs>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This overload sets the underlying buffer size to 32 bytes.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a new instance of the <see cref="T:System.Net.SocketAddress" /> class for the given address family.</para>
        </summary>
        <param name="family">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Net.Sockets.AddressFamily" /> enumerated value. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName=".ctor">
      <MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Net.Sockets.AddressFamily family, int32 size)" />
      <MemberSignature Language="C#" Value="public SocketAddress (System.Net.Sockets.AddressFamily family, int size);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(valuetype System.Net.Sockets.AddressFamily family, int32 size) cil managed" />
      <MemberType>Constructor</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue />
      <Parameters>
        <Parameter Name="family" Type="System.Net.Sockets.AddressFamily" />
        <Parameter Name="size" Type="System.Int32" />
      </Parameters>
      <Docs>
        <exception cref="T:System.ArgumentOutOfRangeException">
          <paramref name="size" /> is less than 2.</exception>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Use this overload to create a new instance of the <see cref="T:System.Net.SocketAddress" /> class with a particular underlying buffer size.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Creates a new instance of the <see cref="T:System.Net.SocketAddress" /> class using the specified address family and buffer size.</para>
        </summary>
        <param name="family">
          <attribution license="cc4" from="Microsoft" modified="false" />An <see cref="T:System.Net.Sockets.AddressFamily" /> enumerated value. </param>
        <param name="size">
          <attribution license="cc4" from="Microsoft" modified="false" />The number of bytes to allocate for the underlying buffer. </param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Equals">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object comparand)" />
      <MemberSignature Language="C#" Value="public override bool Equals (object comparand);" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance bool Equals(object comparand) cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Boolean</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="comparand" Type="System.Object" />
      </Parameters>
      <Docs>
        <returns>
          <para>A <see cref="T:System.Boolean" qualify="true" /> where <see langword="true" />
indicates <paramref name="comparand" /> is an
instance of the <see cref="T:System.Net.SocketAddress" /> class and contains the same data as the current
instance; otherwise <see langword="false" />.</para>
        </returns>
        <remarks>
          <block subset="none" type="note">
            <para>This method overrides <see cref="M:System.Object.Equals(System.Object)" qualify="true" />.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Determines whether the specified <see cref="T:System.Object" /> is equal to the current <see cref="T:System.Net.SocketAddress" /> instance.</para>
        </summary>
        <param name="comparand">
          <attribution license="cc4" from="Microsoft" modified="false" />The specified <see cref="T:System.Object" /> to compare with the current <see cref="T:System.Net.SocketAddress" /> instance.</param>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Family">
      <MemberSignature Language="ILASM" Value=".property valuetype System.Net.Sockets.AddressFamily Family { public hidebysig specialname instance valuetype System.Net.Sockets.AddressFamily get_Family() }" />
      <MemberSignature Language="C#" Value="public System.Net.Sockets.AddressFamily Family { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance valuetype System.Net.Sockets.AddressFamily Family" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>One of the values defined in the <see cref="T:System.Net.Sockets.AddressFamily" qualify="true" /> enumeration.</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This method gets the <see cref="T:System.Net.Sockets.AddressFamily" /> enumerated value that represents the addressing scheme of the current <see cref="T:System.Net.SocketAddress" />. If you want to view the corresponding string representation of <see cref="T:System.Net.Sockets.AddressFamily" />, use the <see cref="M:System.Net.SocketAddress.ToString" /> method.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the <see cref="T:System.Net.Sockets.AddressFamily" /> enumerated value of the current <see cref="T:System.Net.SocketAddress" />.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="GetHashCode">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetHashCode()" />
      <MemberSignature Language="C#" Value="public override int GetHashCode ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance int32 GetHashCode() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <returns>
          <para>A <see cref="T:System.Int32" qualify="true" /> containing the hash code for the current instance.</para>
        </returns>
        <remarks>
          <para>The algorithm used to generate the hash code is
         unspecified.</para>
          <block subset="none" type="note">
            <para>This method overrides <see cref="M:System.Object.GetHashCode" qualify="true" />.</para>
          </block>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Serves as a hash function for a particular type, suitable for use in hashing algorithms and data structures like a hash table.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Item">
      <MemberSignature Language="ILASM" Value=".property unsigned int8 Item[int32 offset] { public hidebysig specialname instance unsigned int8 get_Item(int32 offset) public hidebysig specialname instance void set_Item(int32 offset, unsigned int8 value) }" />
      <MemberSignature Language="C#" Value="public byte this[int offset] { get; set; }" />
      <MemberSignature Language="ILAsm" Value=".property instance unsigned int8 Item(int32)" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Byte</ReturnType>
      </ReturnValue>
      <Parameters>
        <Parameter Name="offset" Type="System.Int32" />
      </Parameters>
      <Docs>
        <param name="offset">A <see cref="T:System.Int32" qualify="true" /> containing the zero-based index of the element to get or set.</param>
        <summary>
          <para>Gets or sets the element at the specified index of
      the <see cref="T:System.Byte" qualify="true" /> array storing the socket address.</para>
        </summary>
        <value>
          <para>A <see cref="T:System.Byte" qualify="true" /> containing the element at the specified index.</para>
        </value>
        <remarks>To be added.</remarks>
        <exception cref="T:System.IndexOutOfRangeException">
          <para>
            <paramref name="offset" /> is &lt; 0.</para>
          <para>-or-</para>
          <para>
            <paramref name="offset" /> &gt;= <see cref="P:System.Net.SocketAddress.Size" />.</para>
        </exception>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="Size">
      <MemberSignature Language="ILASM" Value=".property int32 Size { public hidebysig specialname instance int32 get_Size() }" />
      <MemberSignature Language="C#" Value="public int Size { get; }" />
      <MemberSignature Language="ILAsm" Value=".property instance int32 Size" />
      <MemberType>Property</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.Int32</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <value>
          <para>A <see cref="T:System.Int32" qualify="true" /> containing the length of the
<see cref="T:System.Byte" qualify="true" /> array storing the socket 
   address.</para>
        </value>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>This property gets the underlying buffer size of the <see cref="T:System.Net.SocketAddress" /> in bytes.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Gets the underlying buffer size of the <see cref="T:System.Net.SocketAddress" />.</para>
        </summary>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
    <Member MemberName="ToString">
      <MemberSignature Language="ILASM" Value=".method public hidebysig virtual string ToString()" />
      <MemberSignature Language="C#" Value="public override string ToString ();" />
      <MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ToString() cil managed" />
      <MemberType>Method</MemberType>
      <AssemblyInfo>
        <AssemblyVersion>1.0.5000.0</AssemblyVersion>
        <AssemblyVersion>2.0.0.0</AssemblyVersion>
        <AssemblyVersion>4.0.0.0</AssemblyVersion>
      </AssemblyInfo>
      <ReturnValue>
        <ReturnType>System.String</ReturnType>
      </ReturnValue>
      <Parameters />
      <Docs>
        <example>
          <para>The following example writes a socket address to the
      console.</para>
          <code lang="C#">using System;
using System.Net;
using System.Net.Sockets;

public class SocketAddressToString{
  public static void Main() {
    Console.WriteLine("This is a minimal SocketAddress.");
    SocketAddress socketAddress = new 
           SocketAddress(AddressFamily.InterNetwork);
    Console.WriteLine("{0}", socketAddress.ToString());
  }
}
   </code>
          <para>The output is</para>
          <c>
            <para>This is a minimal SocketAddress.</para>
            <para>InterNetwork:32:{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}</para>
          </c>
        </example>
        <remarks>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>The <see cref="M:System.Net.SocketAddress.ToString" /> method returns a string that contains the <see cref="T:System.Net.Sockets.AddressFamily" /> enumerated value, the size of the underlying buffer of the <see cref="T:System.Net.SocketAddress" /> structure, and the remaining contents of the buffer.</para>
        </remarks>
        <summary>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>Returns information about the socket address.</para>
        </summary>
        <returns>
          <attribution license="cc4" from="Microsoft" modified="false" />
          <para>A string that contains information about the <see cref="T:System.Net.SocketAddress" />.</para>
        </returns>
      </Docs>
      <Excluded>0</Excluded>
    </Member>
  </Members>
  <TypeExcluded>0</TypeExcluded>
</Type>