<!-- ====================================================================== -->
<!-- This XML is a description of the Common Language Infrastructure (CLI) library. -->
<!-- This file is a normative part of the following standards: ISO/IEC 23271 and ECMA 335 -->
<!-- ====================================================================== -->
<!DOCTYPE Libraries SYSTEM "E:\Std\Ecma\TC39\TG3-CLI\JTC 1 Fast Track\Final Text\All.dtd">
<Libraries>
	<Types Library="BCL">
		<Type Name="ApplicationException" FullName="System.ApplicationException" FullNameSP="System_ApplicationException">
			<TypeSignature Language="ILASM" Value=".class public serializable ApplicationException extends System.Exception"/>
			<TypeSignature Language="C#" Value="public class ApplicationException : Exception"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>
						<see cref="T:System.ApplicationException"/> is the base class for all
 exceptions defined by applications.</para>
				</summary>
				<remarks>
					<para>This class represents application-defined errors detected 
 during the execution of an application. It is provided as means to differentiate
 between exceptions defined by applications versus exceptions defined by the
 system. <block subset="none" type="note"> For more information on exceptions
 defined by the system, see <see cref="T:System.SystemException"/>
 .</block>
					</para>
					<para>
						<block subset="none" type="note">
							<see cref="T:System.ApplicationException"/> 
does not provide information as to the cause of the exception. In most
scenarios, instances of this class should not be thrown. In cases where this
class is instantiated, a human-readable message describing the error should be passed to the
constructor.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Exception</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public ApplicationException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ApplicationException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ApplicationException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "An application error has occurred."
   This message takes into account the current system culture.</para>
							<para>The <see cref="!:System.ApplicationException.InnerException"/> property is initialized to <see langword="null"/> 
.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public ApplicationException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ApplicationException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ApplicationException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.ApplicationException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments. The <see cref="!:System.ApplicationException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public ApplicationException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ApplicationException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current Exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ApplicationException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="!:System.ApplicationException.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.ApplicationException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no
   arguments. </para>
							<para>
								<block subset="none" type="note"> For information on inner exceptions,
   see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ArgumentException" FullName="System.ArgumentException" FullNameSP="System_ArgumentException">
			<TypeSignature Language="ILASM" Value=".class public serializable ArgumentException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class ArgumentException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that
      occurs when an argument passed to a method is invalid.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.ArgumentException"/> is thrown when a method is invoked and at
   least one of the passed arguments does not meet the method's parameter specification.</para>
					<block subset="none" type="note">
						<para>The Base Class Library includes three derived types: </para>
						<list type="bullet">
							<item>
								<term>
									<see cref="T:System.ArgumentNullException"/>
								</term>
							</item>
							<item>
								<term>
									<para>
										<see cref="T:System.ArgumentOutOfRangeException"/>
									</para>
								</term>
							</item>
							<item>
								<term>
									<para>
										<see cref="T:System.DuplicateWaitObjectException"/>
									</para>
								</term>
							</item>
						</list>
						<para>When appropriate, use these types instead of <see cref="T:System.ArgumentException"/>.</para>
					</block>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes
      a <see cref="T:System.ArgumentException"/> exception to be thrown by the system.</para>
					<code lang="C#">using System;
public class MyClass {}
public class ArgExceptionExample {
  public static void Main() {
    MyClass my = new MyClass();
    string s = "sometext";
    try {
       int i = s.CompareTo(my);
    }
    catch (ArgumentException e) {
       Console.WriteLine("Error: {0}",e);
    }
  }
}
   </code>
					<para>The output is</para>
					<c>
						<para>Error: System.ArgumentException: Object must be of type String.</para>
						<para>at System.String.CompareTo(Object value)</para>
						<para>at ArgExceptionExample.Main()</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public ArgumentException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArgumentException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.ArgumentException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "An invalid argument was specified."
   This message takes into account the current system culture.</para>
							<para>The <see cref="!:System.ArgumentException.InnerException"/> property is initialized to 
<see langword="null"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public ArgumentException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArgumentException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.ArgumentException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="P:System.ArgumentException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments. The <see cref="!:System.ArgumentException.InnerException"/> and
<see cref="P:System.ArgumentException.ParamName"/> properties are
   initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public ArgumentException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArgumentException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current Exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.ArgumentException.Message"/> property of the new instance using <paramref name="message"/>, and the <see cref="!:System.ArgumentException.InnerException"/>
property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="P:System.ArgumentException.Message"/> property is initialized to the 
system-supplied message provided by the constructor that takes no arguments. The
<see cref="P:System.ArgumentException.ParamName"/> property is initialized to 
<see langword="null"/> 
. </para>
							<para>
								<block subset="none" type="note">For information on inner exceptions, see
<see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, string paramName, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public ArgumentException(string message, string paramName, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="paramName" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArgumentException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="paramName">A <see cref="T:System.String"/> that contains the name of the parameter that caused the current exception.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current Exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/>.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.ArgumentException.Message"/> property of the new instance using <paramref name="message"/>,
   the <see cref="P:System.ArgumentException.ParamName"/> property using <paramref name="paramName"/>, and the <see cref="!:System.ArgumentException.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="P:System.ArgumentException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments. </para>
							<para>
								<block subset="none" type="note"> For information on inner exceptions, see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, string paramName)"/>
					<MemberSignature Language="C#" Value="public ArgumentException(string message, string paramName);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="paramName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArgumentException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="paramName">A <see cref="T:System.String"/> that contains the name of the parameter that caused the exception.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.ArgumentException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="P:System.ArgumentException.ParamName"/> property using <paramref name="paramName"/>. If <paramref name="message"/> is <see langword="null"/>,
   the <see cref="P:System.ArgumentException.Message"/> property is initialized to the system-supplied message
   provided by the constructor that takes no arguments. The <see cref="!:System.ArgumentException.InnerException"/> property is
   initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ParamName">
					<MemberSignature Language="ILASM" Value=".property string ParamName { public hidebysig virtual specialname string get_ParamName() }"/>
					<MemberSignature Language="C#" Value="public virtual string ParamName { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the name of the parameter that caused the
      current Exception.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> that contains the 
   name of the parameter that caused the current Exception, or
<see langword="null"/> if no value was specified to the constructor
   for
   the current instance.</para>
						</value>
						<remarks>
							<para> This property is read-only.</para>
							<para>
								<block subset="none" type="behaviors">The <see cref="P:System.ArgumentException.ParamName"/> property
   returns the same value as was passed into the constructor.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override
   the <see cref="P:System.ArgumentException.ParamName"/> property
   to customize the content or format of the parameter name. </block>
							</para>
							<para>
								<block subset="none" type="usage">
   Use this property to retrieve the name of the invalid parameter.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ArgumentNullException" FullName="System.ArgumentNullException" FullNameSP="System_ArgumentNullException">
			<TypeSignature Language="ILASM" Value=".class public serializable ArgumentNullException extends System.ArgumentException"/>
			<TypeSignature Language="C#" Value="public class ArgumentNullException : ArgumentException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents the error that occurs when an argument passed 
      to a method is invalid because it is <see langword="null"/>
      .</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>
							<see cref="T:System.ArgumentNullException"/> is thrown when a method is 
      invoked and at least one of the passed arguments is <see langword="null"/> and
      should never be <see langword="null"/>
      .</para>
						<para>
							<see cref="T:System.ArgumentNullException"/> behaves identically to <see cref="T:System.ArgumentException"/>. It is provided so that 
   application code can differentiate between exceptions caused by
<see langword="null"/> 
arguments and exceptions caused by non-null arguments. For errors caused by
non-null arguments, see <see cref="T:System.ArgumentOutOfRangeException"/>
.</para>
					</block>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes
      the <see cref="T:System.String"/>
      class to throw a <see cref="T:System.ArgumentNullException"/> exception.</para>
					<code lang="C#">using System;
class ArgumentNullTest {
 public static void Main() {
 String[] s = null;
 String sep = " ";
 try {
 String j = String.Join(sep,s);
 }
 catch (ArgumentNullException e) {
 Console.WriteLine("Error: {0}",e);
 }
 }
}
   </code>
					<para>The output is</para>
					<c>
						<para>Error: System.ArgumentNullException: Value cannot be null.</para>
						<para>Parameter name: value</para>
						<para>at System.String.Join(String separator, String[] value)</para>
						<para>at ArgumentNullTest.Main()</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.ArgumentException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public ArgumentNullException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArgumentNullException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ArgumentNullException.Message"/> property of the new instance to a 
   system-supplied message that describes the error, such as "Argument cannot be
   null." This message takes into account the current system culture. The <see cref="!:System.ArgumentNullException.ParamName"/> property is initialized to <see langword="null"/>
   . </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string paramName)"/>
					<MemberSignature Language="C#" Value="public ArgumentNullException(string paramName);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="paramName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArgumentNullException"/> class.</para>
						</summary>
						<param name="paramName">A <see cref="T:System.String"/> that contains the name of the parameter that caused the exception. The content of <paramref name="paramName"/> is intended to be understood by humans.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ArgumentNullException.ParamName"/> property of the new instance using
<paramref name="paramName"/> . The <see cref="!:System.ArgumentNullException.Message"/> 
property is initialized to the system-supplied message provided by the
constructor that takes no arguments.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string paramName, string message)"/>
					<MemberSignature Language="C#" Value="public ArgumentNullException(string paramName, string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="paramName" Type="System.String"/>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArgumentNullException"/>
class.</para>
						</summary>
						<param name="paramName">A <see cref="T:System.String"/> that contains the name of the parameter that caused the exception. The content of <paramref name="paramName"/> is intended to be understood by humans.</param>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ArgumentNullException.ParamName"/> property of the new instance using <paramref name="paramName"/>,
   and the <see cref="!:System.ArgumentNullException.Message"/> property using <paramref name="message"/>. If <paramref name="message"/> is <see langword="null"/>,
   the <see cref="!:System.ArgumentNullException.Message"/> property is initialized to the system-supplied message
   provided by the constructor that takes no arguments.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ArgumentOutOfRangeException" FullName="System.ArgumentOutOfRangeException" FullNameSP="System_ArgumentOutOfRangeException">
			<TypeSignature Language="ILASM" Value=".class public serializable ArgumentOutOfRangeException extends System.ArgumentException"/>
			<TypeSignature Language="C#" Value="public class ArgumentOutOfRangeException : ArgumentException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents the error that occurs when an
      argument passed to a method is invalid because it is
      outside the allowable range of values as specified by the method.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>
							<see cref="T:System.ArgumentOutOfRangeException"/> is thrown when a method is 
      invoked and at least one of the arguments passed to the method is not
   <see langword="null"/> 
   and does not contain a valid value. </para>
						<para>
							<see cref="T:System.ArgumentOutOfRangeException"/> behaves identically to <see cref="T:System.ArgumentException"/>. It is provided so that 
application code can differentiate between exceptions caused by invalid
arguments that are not <see langword="null"/>, and exceptions caused by
<see langword="null"/> arguments. For errors caused by <see langword="null"/> 
arguments, see <see cref="T:System.ArgumentNullException"/>. </para>
					</block>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes 
      the <see cref="T:System.Array"/>
      class to throw a <see cref="T:System.ArgumentOutOfRangeException"/> exception.</para>
					<code lang="C#">using System;
class ArgOutOfRangeExample {
 public static void Main() {
 int[] array1 = {0,0};
 int[] array2 = {0,0};
 try {
 Array.Copy(array1,array2,-1);
 }
 catch (ArgumentOutOfRangeException e) {
 Console.WriteLine("Error: {0}",e);
 }
 }
}
   </code>
					<para>The output is</para>
					<c>
						<para>Error: System.ArgumentOutOfRangeException: Non-negative number required.</para>
						<para>Parameter name: length</para>
						<para>at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array
         destinationArray, Int32 destinationIndex, Int32 length)</para>
						<para>at ArgOutOfRangeExample.Main()</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.ArgumentException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public ArgumentOutOfRangeException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArgumentOutOfRangeException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.ArgumentOutOfRangeException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "Non-negative number required." This
   message takes into account the current system culture.</para>
							<para>The <see cref="!:System.ArgumentOutOfRangeException.ParamName"/> and <see cref="P:System.ArgumentOutOfRangeException.ActualValue"/> properties are initialized 
to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string paramName)"/>
					<MemberSignature Language="C#" Value="public ArgumentOutOfRangeException(string paramName);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="paramName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArgumentOutOfRangeException"/>
class.</para>
						</summary>
						<param name="paramName">A <see cref="T:System.String"/> that contains the name of the parameter that caused the current exception. The content of <paramref name="paramName"/> is intended to be understood by humans.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ArgumentOutOfRangeException.ParamName"/> property of the new instance
   using <paramref name="paramName"/> . The <see cref="P:System.ArgumentOutOfRangeException.Message"/> property is
   initialized to the system-supplied message provided by the
   constructor that takes no arguments.</para>
							<para>The <see cref="P:System.ArgumentOutOfRangeException.ActualValue"/> property is initialized to 
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string paramName, string message)"/>
					<MemberSignature Language="C#" Value="public ArgumentOutOfRangeException(string paramName, string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="paramName" Type="System.String"/>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArgumentOutOfRangeException"/>
class.</para>
						</summary>
						<param name="paramName">A <see cref="T:System.String"/> that contains the name of the parameter that caused the current exception. The content of <paramref name="paramName"/> is intended to be understood by humans.</param>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ArgumentOutOfRangeException.ParamName"/> property of the new instance using <paramref name="paramName"/>,
   and the <see cref="P:System.ArgumentOutOfRangeException.Message"/> property using <paramref name="message"/>. If <paramref name="message"/> is <see langword="null"/>,
   the <see cref="P:System.ArgumentOutOfRangeException.Message"/> property is initialized to the system-supplied message
   provided by the constructor that takes no arguments.</para>
							<para>The <see cref="P:System.ArgumentOutOfRangeException.ActualValue"/> property is initialized to 
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string paramName, object actualValue, string message)"/>
					<MemberSignature Language="C#" Value="public ArgumentOutOfRangeException(string paramName, object actualValue, string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="paramName" Type="System.String"/>
						<Parameter Name="actualValue" Type="System.Object"/>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArgumentOutOfRangeException"/>
class.</para>
						</summary>
						<param name="paramName">A <see cref="T:System.String"/> that contains the name of the parameter that caused the current exception. The content of <paramref name="paramName"/> is intended to be understood by humans.</param>
						<param name="actualValue">The value of the argument that caused the current exception.</param>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ArgumentOutOfRangeException.ParamName"/> property of the new instance using <paramref name="paramName"/>,
   the <see cref="P:System.ArgumentOutOfRangeException.ActualValue"/> property using <paramref name="actualValue"/>, and the <see cref="P:System.ArgumentOutOfRangeException.Message"/> property using <paramref name="message"/> . If <paramref name="message"/> is <see langword="null"/>,
   the <see cref="P:System.ArgumentOutOfRangeException.Message"/> property is initialized to the system-supplied message
   provided by the constructor that takes no arguments. </para>
							<para>
								<block subset="none" type="note"> The <paramref name="actualValue"/> parameter
contains the invalid argument that was passed to the method. Use
the <see cref="!:System.ArgumentOutOfRangeException.ParamName"/> property to retrieve the name of the
parameter used to pass <paramref name="actualValue"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ActualValue">
					<MemberSignature Language="ILASM" Value=".property object ActualValue { public hidebysig virtual specialname object get_ActualValue() }"/>
					<MemberSignature Language="C#" Value="public virtual object ActualValue { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the value of the parameter that caused the current exception.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Object"/> that contains the 
   value of the parameter that caused the current exception, or
<see langword="null"/> if no value was specified to the constructor for the current instance.</para>
						</value>
						<remarks>
							<para>This property is
      read-only.</para>
							<para>
								<block subset="none" type="behaviors">
      
      The <see cref="P:System.ArgumentOutOfRangeException.ActualValue"/> property returns the same
      value as
      was passed into the
      constructor.</block>
							</para>
							<para>
								<block subset="none" type="overrides">
      
      Override
      the <see cref="P:System.ArgumentOutOfRangeException.ActualValue"/> property to customize the content or
      format of the value.</block>
							</para>
							<para>
								<block subset="none" type="usage">
      
      Use this property to retrieve the invalid argument.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ArithmeticException" FullName="System.ArithmeticException" FullNameSP="System_ArithmeticException">
			<TypeSignature Language="ILASM" Value=".class public serializable ArithmeticException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class ArithmeticException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents an error caused by an arithmetic operation.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>The Base Class Library includes two types derived from <see cref="T:System.ArithmeticException"/>: </para>
						<list type="bullet">
							<item>
								<term>
									<see cref="T:System.DivideByZeroException"/>
								</term>
							</item>
							<item>
								<term>
									<see cref="T:System.OverflowException"/>
								</term>
							</item>
						</list>
						<para>When appropriate, use these types instead of <see cref="T:System.ArithmeticException"/>. </para>
					</block>
					<block subset="none" type="note">
						<para>The following IL instructions throw <see cref="T:System.ArithmeticException"/>:</para>
						<list type="bullet">
							<item>
								<term>
      ckfinite</term>
							</item>
							<item>
								<term>
      div</term>
							</item>
						</list>
					</block>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes the system to throw
      a <see cref="T:System.ArithmeticException"/> error.</para>
					<code lang="C#">using System;
class testNan {
 public static void Main() {
   double myNan = Double.NaN;
   try {
     Math.Sign(myNan);
   }
   catch (ArithmeticException e) {
     Console.WriteLine("Error: {0}",e);
   }
 }
}
   </code>
					<para>The output is</para>
					<c>
						<para>Error: System.ArithmeticException: Function does not accept floating point
         Not-a-Number values.</para>
						<para>at System.Math.Sign(Double value)</para>
						<para>at testNan.Main()</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public ArithmeticException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArithmeticException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ArithmeticException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "The arithmetic operation is not
   allowed." This message takes into account the current system culture.</para>
							<para>The <see cref="!:System.ArithmeticException.InnerException"/> property is initialized to 
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public ArithmeticException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArithmeticException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ArithmeticException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.ArithmeticException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments. The <see cref="!:System.ArithmeticException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public ArithmeticException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArithmeticException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ArithmeticException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="P:System.Exception.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.ArithmeticException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments. </para>
							<para>
								<block subset="none" type="note"> For information on inner exceptions, see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Array" FullName="System.Array" FullNameSP="System_Array">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable Array extends System.Object implements System.ICloneable, System.Collections.ICollection, System.Collections.IEnumerable, System.Collections.IList"/>
			<TypeSignature Language="C#" Value="public abstract class Array : ICloneable, ICollection, IEnumerable, IList"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Serves as the base class for arrays. Provides methods for creating,
      copying, manipulating, searching, and sorting arrays.</para>
				</summary>
				<remarks>
					<para>This class is intended to be used as a base class by
      language implementations that support arrays. Only the system can derive from
      this type: derived classes of <see cref="T:System.Array"/> are not to be created by the developer.</para>
					<block subset="none" type="note">
						<para>An array is a collection of
         identically typed data <paramref name="elements"/> that are accessed and referenced by
         sets of integral <paramref name="indices"/>. </para>
						<para>The <paramref name="rank"/> of an array is the number
      of dimensions in the array. Each dimension has its own set of indices. An array
      with a rank greater than one can have a different lower
      bound and a different number of elements for each dimension. Multidimensional
      arrays (i.e. arrays with a rank greater than one) are processed in row-major
      order. </para>
						<para>The <paramref name="lower bound"/> of a dimension
   is the starting index of that dimension. </para>
						<para>The <paramref name="length"/> of an array is the total number of elements contained in all of its
dimensions. </para>
						<para>A <paramref name="vector"/> is a
one-dimensional array with a <paramref name="lower bound"/> of '0'. </para>
						<para>If the implementer creates a derived class of <see cref="T:System.Array"/>, expected <see cref="T:System.Array"/> behavior
cannot be guaranteed. For information on array-like objects with increased
functionality, see the <see cref="T:System.Collections.IList"/> interface. For more information regarding the use of arrays versus the use
of collections, see Partition V of the CLI Specification. </para>
					</block>
					<para>Every specific <see cref="T:System.Array"/> type has three instance methods defined on it.
   While some programming languages allow direct access to these methods, they are
   primarily intended to be called by the output of compilers based on language
   syntax that deals with arrays. </para>
					<list type="bullet">
						<item>
							<term>
								<para>
									<c>Get</c>: Takes as many <see cref="T:System.Int32"/> arguments as the array
   has dimensions and returns the value stored at the given index. It throws a
<see cref="T:System.IndexOutOfRangeException"/> 
exception for invalid indices. </para>
							</term>
						</item>
						<item>
							<term>
								<para>
									<c>Set</c>: Takes as many <see cref="T:System.Int32"/> arguments as the array
   has dimensions, plus one additional argument (the last argument) which has the
   same type as an array element. It stores the final value in the specified
   index of the array. It throws a <see cref="T:System.IndexOutOfRangeException"/>
   exception for invalid indices. </para>
							</term>
						</item>
						<item>
							<term>
								<para>
									<c>Address</c>: Takes as many <see cref="T:System.Int32"/> arguments as the
   array has dimensions and returns the address of the element at the given index.
   It throws a <see cref="T:System.IndexOutOfRangeException"/>
   exception for invalid indices. </para>
							</term>
						</item>
					</list>
					<para>In addition, every specific <see cref="T:System.Array"/> type has a constructor on it that takes as many positive
<see cref="T:System.Int32"/> 
arguments as the array has dimensions. The arguments specify the
number of elements in each dimension, and a lower bound of 0. Thus, a
two-dimensional array of <see cref="T:System.Int32"/> objects would have a constructor that could be called with
<c>(2, 4)</c> as its arguments to create an array of eight zeros with the first dimension indexed
with 0 and 1 and the second dimension indexed with 0, 1, 2, and 3. </para>
					<para>For all specific array types except vectors (i.e. those
   permitted to have non-zero lower bounds and those with more than one dimension)
   there is an additional constructor. It takes twice as many arguments as the
   array has dimensions. The arguments are considered in pairs, with the first of
   the pair specifying the lower bound for that dimension and the second specifying
   the total number of elements in that dimension. Thus, a two-dimensional array
   of <see cref="T:System.Int32"/>
   
   objects would also have a constructor that could be called with <c>(-1, 2, 1, 3)</c> as its arguments,
specifying an array of 6 zeros, with the first dimension indexed by -1 and 0,
and the second dimension indexed by 1, 2, and 3. </para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.ICloneable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.Collections.IList</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.Collections.ICollection</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.Collections.IEnumerable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="private rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="private Array();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>Constructs a new instance of the <see cref="T:System.Array"/> class.</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BinarySearch">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 BinarySearch(class System.Array array, int32 index, int32 length, object value, class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public static int BinarySearch(Array array, int index, int length, object value, IComparer comparer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the specified section of the specified
      one-dimensional <see cref="T:System.Array"/> for the specified value, using the
      specified <see cref="T:System.Collections.IComparer"/>
      implementation.</para>
						</summary>
						<param name="array">A <see cref="T:System.Array"/> to search.</param>
						<param name="index">A <see cref="T:System.Int32"/> that contains the index at which searching starts. </param>
						<param name="length">A <see cref="T:System.Int32"/> that contains the number of elements to search, beginning with <paramref name="index"/> . </param>
						<param name="value">A <see cref="T:System.Object"/> for which to search, or a null reference. <block subset="none" type="note"> A null reference will be considered to compare less than any non-null object, or equal to another null reference.</block>
						</param>
						<param name="comparer">
							<para>The <see cref="T:System.Collections.IComparer"/> implementation to use when comparing elements. Specify a null reference to use the <see cref="T:System.IComparable"/> implementation of each element.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> with one of the following values based on the result of the search
   operation.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> The index of <paramref name="value"/> in the
      array.</term>
									<description>
										<paramref name="value"/> was found.</description>
								</item>
								<item>
									<term> The bitwise complement of the index of the first element that is larger than
   <paramref name="value"/>.</term>
									<description>
										<paramref name="value"/> was not found, and at least one array element in the
   range of <paramref name="index"/> to <paramref name="index"/> + <paramref name="length"/> - 1 was greater
   than <paramref name="value"/>.</description>
								</item>
								<item>
									<term> The bitwise complement of (<paramref name="index"/> + <paramref name="length"/>).</term>
									<description>
										<paramref name="value"/> was not found, and <paramref name="value"/> was greater than all
array elements in the range of <paramref name="index"/> to <paramref name="index"/> +
<paramref name="length"/>- 1.</description>
								</item>
							</list>
							<para>
								<block subset="none" type="note"> If <paramref name="value"/> is
not found, the caller can take the bitwise complement of the return value to
determine the index of <paramref name="array"/> where <paramref name="value"/> would be found in the
range of <paramref name="index"/> to <paramref name="index"/> + <paramref name="length"/> - 1 if <paramref name="array"/> is
already sorted.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> has more than one dimension.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; <paramref name="array"/>.GetLowerBound(0).</para>
							<para>-or-</para>
							<para>
								<paramref name="length"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="index"/> and <paramref name="length"/> do not specify a valid range in <paramref name="array"/> (i.e. <paramref name="index"/> + <paramref name="length"/> &gt; <paramref name="array"/>.GetLowerBound(0) + <paramref name="array"/>.Length). </para>
							<para>-or- </para>
							<para>
								<paramref name="comparer"/> is <see langword="null"/>, and both <paramref name="value"/> and at least one element of <paramref name="array"/> do not implement the <see cref="T:System.IComparable"/> interface. </para>
							<para> -or- </para>
							<para>
								<paramref name="comparer"/> is <see langword="null"/>, and <paramref name="value"/> is not of the same type as the elements of <paramref name="array"/>. </para>
							<para>-or-</para>
							<para>
								<paramref name="array"/>.UpperBound == <see cref="F:System.Int32.MaxValue"/>.</para>
						</exception>
						<remarks>
							<para>
								<paramref name="value"/> is compared to each element of
<paramref name="array"/> using <paramref name="comparer"/> until an element with a value greater 
   than or equal to <paramref name="value"/> is found. If <paramref name="comparer"/> is <see langword="null"/>,
   the <see cref="T:System.IComparable"/> interface of the element being compared - or of
<paramref name="value"/> if the element being compared does not implement the interface 
   -- is used. If <paramref name="value"/> does not implement the <see cref="T:System.IComparable"/> interface and is compared to an element
   that does not implement the <see cref="T:System.IComparable"/> interface, a <see cref="T:System.ArgumentException"/>
   exception is thrown. If <paramref name="array"/> is not already
   sorted, correct results are not guaranteed.</para>
							<para>
								<block subset="none" type="note"> A null reference can
   be compared with any type; therefore, comparisons with a
   null reference do not generate exceptions.</block>
							</para>
						</remarks>
						<example>
							<para>This example demonstrates the <see cref="M:System.Array.BinarySearch(System.Array,System.Object)"/> method.</para>
							<code lang="C#">using System;
class BinarySearchExample {
  public static void Main() {    
    int[] intAry = { 0, 2, 4, 6, 8 };
    Console.WriteLine( "The indices and elements of the array are: ");
    for ( int i = 0; i &lt; intAry.Length; i++ )
      Console.Write("[{0}]: {1, -5}", i, intAry[i]);
    Console.WriteLine();
    SearchFor( intAry, 3 );
    SearchFor( intAry, 6 );
    SearchFor( intAry, 9 );
  }
  public static void SearchFor( Array ar, Object value ) {
    int i = Array.BinarySearch( ar, 0, ar.Length, value, null );
    Console.WriteLine();
    if ( i &gt; 0 ) {
      Console.Write( "The object searched for, {0}, was found ", value );
      Console.WriteLine( "at index {1}.", value, i );
    }
    else if ( ~i == ar.Length ) {
      Console.Write( "The object searched for, {0}, was ", value );
      Console.Write( "not found,\nand no object in the array had " );
      Console.WriteLine( "greater value. " );
    }
    else {
      Console.Write( "The object searched for, {0}, was ", value );
      Console.Write( "not found.\nThe next larger object is at " );
      Console.WriteLine( "index {0}.", ~i );
    }
  }
}
   </code>
							<para>The output is</para>
							<c>
								<para>The indices and elements of the array are:</para>
								<para> [0]:0 [1]:2 [2]:4 [3]:6 [4]:8</para>
								<para>The object searched for, 3, was not found.</para>
								<para>The next larger object is at index 2.</para>
								<para>The object searched for, 6, was found at index 3.</para>
								<para>The object searched for, 9, was not found,</para>
								<para>and no object in the array had greater value.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BinarySearch">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 BinarySearch(class System.Array array, object value, class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public static int BinarySearch(Array array, object value, IComparer comparer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the specified one-dimensional <see cref="T:System.Array"/> for the specified
   value, using the specified <see cref="T:System.Collections.IComparer"/>
   implementation.</para>
						</summary>
						<param name="array">A <see cref="T:System.Array"/> to search.</param>
						<param name="value">A <see cref="T:System.Object"/> for which to search, or a null reference. <block subset="none" type="note"> A null reference will be considered to compare less than any non-null object, or equal to another null reference.</block>
						</param>
						<param name="comparer">
							<para>The <see cref="T:System.Collections.IComparer"/> implementation to use when comparing elements. Specify a null reference to use the <see cref="T:System.IComparable"/> implementation of each element.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> with one of the following values based on the result of the search
   operation.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> The index of <paramref name="value"/> in the
      array.</term>
									<description>
										<paramref name="value"/> was found.</description>
								</item>
								<item>
									<term> The bitwise complement of the index of the first element that is larger than
   <paramref name="value"/>.</term>
									<description>
										<paramref name="value"/> was not found, and at least one array element was
   greater than <paramref name="value"/>.</description>
								</item>
								<item>
									<term> The bitwise complement of (<paramref name="array"/>.GetLowerBound(0) +
<paramref name="array"/>.Length).</term>
									<description>
										<paramref name="value"/> was not found, and <paramref name="value"/> was greater than all
array elements.</description>
								</item>
							</list>
							<para>
								<block subset="none" type="note"> If <paramref name="value"/>
is not found, the caller can take the bitwise complement of the return value to
determine the index where value would be found in <paramref name="array"/> if it is
already sorted.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="comparer"/> is <see langword="null"/>, and both <paramref name="value"/> and at least one element of <paramref name="array"/> do not implement the <see cref="T:System.IComparable"/> interface.</para>
							<para>-or-</para>
							<para>
								<paramref name="comparer"/> is <see langword="null"/>, and <paramref name="value"/> is not assignment-compatible with at least one element of <paramref name="array"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="array"/>.UpperBound == <see cref="F:System.Int32.MaxValue"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> has more than one dimension.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.BinarySearch(System.Array,System.Object)"/> is equivalent to <see cref="M:System.Array.BinarySearch(System.Array,System.Object)"/>(<paramref name="array"/>, <paramref name="array"/>.GetLowerBound(0),
<paramref name="array"/>.Length, <paramref name="value"/>, <paramref name="comparer"/>).</para>
							<para>
								<paramref name="value"/> is compared to each element of
<paramref name="array"/> using <paramref name="comparer"/> until an element with a value greater 
than or equal to <paramref name="value"/> is found. If <paramref name="comparer"/> is <see langword="null"/>,
the <see cref="T:System.IComparable"/> interface of the element being compared - or of
<paramref name="value"/> if the element being compared does not implement the interface 
- is used. If <paramref name="value"/> does not implement
the <see cref="T:System.IComparable"/>
interface and is compared to an element that does not implement
the <see cref="T:System.IComparable"/>
interface, a <see cref="T:System.ArgumentException"/> exception is thrown. If <paramref name="array"/> is
not already sorted, correct results are not guaranteed.</para>
							<para>
								<block subset="none" type="note"> A null reference
   can be compared with any type; therefore, comparisons
   with a null reference do not generate exceptions.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BinarySearch">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 BinarySearch(class System.Array array, int32 index, int32 length, object value)"/>
					<MemberSignature Language="C#" Value="public static int BinarySearch(Array array, int index, int length, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the specified section of the specified
      one-dimensional <see cref="T:System.Array"/> for the specified value.</para>
						</summary>
						<param name="array">A <see cref="T:System.Array"/> to search.</param>
						<param name="index">A <see cref="T:System.Int32"/> that contains the index at which searching starts.</param>
						<param name="length">A <see cref="T:System.Int32"/> that contains the number of elements to search, beginning with <paramref name="index"/> .</param>
						<param name="value">A <see cref="T:System.Object"/> for which to search, or a null reference. <block subset="none" type="note"> A null reference will be considered to compare less than any non-null object, or equal to another null reference.</block>
						</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> with one of the following values based on the result of the search
   operation.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> The index of <paramref name="value"/> in the
      array.</term>
									<description>
										<paramref name="value"/> was found.</description>
								</item>
								<item>
									<term> The bitwise complement of the index of the first element that is larger than
   <paramref name="value"/>.</term>
									<description>
										<paramref name="value"/> was not found, and at least one array element in the
   range of <paramref name="index"/> to <paramref name="index"/> + <paramref name="length"/> - 1 was greater
   than <paramref name="value"/>.</description>
								</item>
								<item>
									<term> The bitwise complement of (<paramref name="index"/> + <paramref name="length"/>).</term>
									<description>
										<paramref name="value"/> was not found, and <paramref name="value"/> was greater than all
array elements in the range of <paramref name="index"/> to <paramref name="index"/> +
<paramref name="length"/>- 1.</description>
								</item>
							</list>
							<para>
								<block subset="none" type="note"> If <paramref name="value"/>
is not found, the caller can take the bitwise complement of the return value to
determine the index of the array where <paramref name="value"/> would be found in the
range of <paramref name="index"/> to <paramref name="index"/> + <paramref name=" length"/> - 1 if <paramref name="array"/>
is already sorted.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/> .</exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> has more than one dimension.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; <paramref name="array"/>.GetLowerBound(0).</para>
							<para>-or-</para>
							<para>
								<paramref name="length"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="index"/> and <paramref name="length"/> do not specify a valid range in <paramref name="array"/> (i.e. <paramref name="index"/> + <paramref name="length"/> &gt; <paramref name="array"/>.GetLowerBound(0) + <paramref name="array"/>.Length).</para>
							<para>-or-</para>
							<para>Either <paramref name="value"/> or at least one element of <paramref name="array"/> does not implement the <see cref="T:System.IComparable"/> interface.</para>
							<para> -or-</para>
							<para>
								<paramref name="value"/> is not assignment-compatible with at least one element of <paramref name="array"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="array"/>.UpperBound == <see cref="F:System.Int32.MaxValue"/>.</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.BinarySearch(System.Array,System.Object)"/> is equivalent to <see cref="M:System.Array.BinarySearch(System.Array,System.Object)"/>(<paramref name="array"/>, <paramref name="array"/>.GetLowerBound(0),
<paramref name="array"/>.Length, <paramref name="value"/>, 
<see langword="null"/>). </para>
							<para>
								<paramref name="value"/> is compared to each element of <paramref name="array"/> using
the <see cref="T:System.IComparable"/> interface of the element being compared - or of
<paramref name="value"/> if the element being compared does not implement the interface - 
until an element with a value greater than or equal to <paramref name="value"/> is found.
If <paramref name="value"/> does not implement the <see cref="T:System.IComparable"/> interface and is compared to an element
that does not implement the <see cref="T:System.IComparable"/> interface, a <see cref="T:System.ArgumentException"/>
exception is thrown. If <paramref name="array"/> is not already sorted, correct results
are not guaranteed. </para>
							<para>
								<block subset="none" type="note"> A null reference can be compared with
   any type; therefore, comparisons with a null reference do not generate
   exceptions.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BinarySearch">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 BinarySearch(class System.Array array, object value)"/>
					<MemberSignature Language="C#" Value="public static int BinarySearch(Array array, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the specified one-dimensional <see cref="T:System.Array"/> for the specified object.</para>
						</summary>
						<param name="array">A <see cref="T:System.Array"/> to search for an object.</param>
						<param name="value">A <see cref="T:System.Object"/> for which to search, or a null reference. <block subset="none" type="note">A null reference will be considered to compare less than any non-null object, or equal to another null reference.</block>
						</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> with one of the following values based on the result of the search
   operation.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description> Description</description>
								</listheader>
								<item>
									<term> The index of <paramref name="value"/> in the
      array.</term>
									<description>
										<paramref name="value"/> was found.</description>
								</item>
								<item>
									<term> The bitwise complement of the index of the first element that is larger than
   <paramref name="value"/>.</term>
									<description>
										<paramref name="value"/> was not found and the value of at least one element of
<paramref name="array"/> was greater than <paramref name="value"/>.</description>
								</item>
								<item>
									<term> The bitwise complement of (<paramref name="array"/>.GetLowerBound(0) +
<paramref name="array"/>.Length).</term>
									<description>
										<paramref name="value"/> was not found, and <paramref name="value"/> was greater than the
value of all array elements.</description>
								</item>
							</list>
							<para>
								<block subset="none" type="note"> If <paramref name="value"/>
is not found, the caller can take the bitwise complement of the return value to
determine the index where value would be found in <paramref name="array"/> if it is sorted
already.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>Both <paramref name="value"/> and at least one element of <paramref name="array"/> do not implement the <see cref="T:System.IComparable"/> interface. </para>
							<para>-or-</para>
							<para>
								<paramref name="value"/> is not assignment-compatible with at least one element of <paramref name="array"/>. </para>
							<para>-or-</para>
							<para>
								<paramref name="array"/>.UpperBound == <see cref="F:System.Int32.MaxValue"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.RankException">
							<para>
								<paramref name="array"/> has more than one dimension.</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.BinarySearch(System.Array,System.Object)"/> is equivalent to <see cref="M:System.Array.BinarySearch(System.Array,System.Object)"/>(<paramref name="array"/>, <paramref name="array"/>.GetLowerBound(0),
<paramref name="array"/>.Length, <paramref name="value"/>, 
<see langword="null"/>).</para>
							<para>
								<paramref name="value"/> is compared to each element of
<paramref name="array"/> using the <see cref="T:System.IComparable"/> interface of the element being 
compared - or of <paramref name="value"/> if the element being compared does not implement the
interface - until an element with a value greater than or equal to
<paramref name="value"/> is found. If <paramref name="value"/> does not implement the <see cref="T:System.IComparable"/> interface 
and is compared to an element that does not implement the <see cref="T:System.IComparable"/> interface,
a <see cref="T:System.ArgumentException"/> exception is thrown. If <paramref name="array"/>
is not already sorted, correct results are not guaranteed.</para>
							<para>
								<block subset="none" type="note"> A null reference
   can be compared with any type; therefore,
   comparisons with a null reference do not generate exceptions.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Clear">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Clear(class System.Array array, int32 index, int32 length)"/>
					<MemberSignature Language="C#" Value="public static void Clear(Array array, int index, int length);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the specified range of elements in the
      specified <see cref="T:System.Array"/> to zero, false, or to a null reference, depending on the
      element type.</para>
						</summary>
						<param name="array">The <see cref="T:System.Array"/> to clear.</param>
						<param name="index">A <see cref="T:System.Int32"/> that contains the index at which clearing starts.</param>
						<param name="length">A <see cref="T:System.Int32"/> that contains the number of elements to clear, beginning with <paramref name="index"/>.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; <paramref name="array"/>.GetLowerBound(0).</para>
							<para>
								<paramref name="length"/> &lt; 0.</para>
							<para>
								<paramref name="index"/> and <paramref name="length"/> do not specify a valid range in <paramref name="array"/> (i.e. <paramref name="index"/> + <paramref name="length"/> &gt; <paramref name="array"/>.GetLowerBound(0) + <paramref name="array"/>.Length ).</para>
						</exception>
						<remarks>
							<para>Reference-type elements will be set to
   <see langword="null"/>. Value-type elements will be set to zero, 
      except for <see cref="T:System.Boolean"/>
      elements, which will be set to
   <see langword="false"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Clone">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual object Clone()"/>
					<MemberSignature Language="C#" Value="public virtual object Clone();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Object"/> that is a copy of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Object"/> that is a copy of
   the current instance.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is implemented to support
      the <see cref="T:System.ICloneable"/>
      interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">Each of the
      elements of the current instance is copied to the clone. If the elements are
      reference types, the references are copied. If the elements are value-types, the
      values are copied. The clone is of the same type as the current
      instance.</block>
							</para>
							<para>
								<block subset="none" type="default">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this method to return a
      clone of an array.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to obtain the clone of
      an array.</block>
							</para>
						</remarks>
						<example>
							<para>This example demonstrates the <see cref="M:System.Array.Clone"/> method.</para>
							<code lang="C#">using System;
public class ArrayCloneExample {
  public static void Main() {
    int[] intAryOrig = { 3, 4, 5 };
    //must explicitly convert clones object into an array
    int[] intAryClone = (int[]) intAryOrig.Clone();
    Console.Write( "The elements of the first  array are: " );
    foreach( int i in intAryOrig )
      Console.Write( "{0,3}", i );
    Console.WriteLine();
    Console.Write( "The elements of the cloned array are: " );
    foreach( int i in intAryClone )
      Console.Write( "{0,3}", i );
    Console.WriteLine();
    //Clear the values of the original array.
    Array.Clear( intAryOrig, 0, 3 );
    Console.WriteLine( "After clearing the first array," );
    Console.Write( "The elements of the first  array are: " );
    foreach( int i in intAryOrig )
      Console.Write( "{0,3}", i );
    Console.WriteLine();
    Console.Write( "The elements of the cloned array are: " );
    foreach( int i in intAryClone )
      Console.Write( "{0,3}", i );
  }
}
   </code>
							<para>The output is</para>
							<c>
								<para>The elements of the first array are: 3 4 5</para>
								<para>The elements of the cloned array are: 3 4 5</para>
								<para>After clearing the first array,</para>
								<para>The elements of the first array are: 0 0 0</para>
								<para>The elements of the cloned array are: 3 4 5</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Copy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Copy(class System.Array sourceArray, class System.Array destinationArray, int32 length)"/>
					<MemberSignature Language="C#" Value="public static void Copy(Array sourceArray, Array destinationArray, int length);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="sourceArray" Type="System.Array"/>
						<Parameter Name="destinationArray" Type="System.Array"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Copies the specified number of elements from the 
      specified source array to the specified destination array.</para>
						</summary>
						<param name="sourceArray">A <see cref="T:System.Array"/> that contains the data to copy.</param>
						<param name="destinationArray">A <see cref="T:System.Array"/> that receives the data.</param>
						<param name="length">A <see cref="T:System.Int32"/> designating the number of elements to copy, starting with the first element and proceeding in order.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="sourceArray"/> or <paramref name="destinationArray"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.RankException">
							<para>
								<paramref name="sourceArray"/> and <paramref name="destinationArray"/> have different ranks.</para>
						</exception>
						<exception cref="T:System.ArrayTypeMismatchException">
							<para>The elements in both arrays are built-in types, and converting from the type of the elements of <paramref name="sourceArray"/> into the type of the elements in <paramref name="destinationArray"/> requires a narrowing conversion.</para>
							<para> -or-</para>
							<para>Both arrays are built-in types, and one array is a value-type array and the other an array of interface type not implemented by that value-type.</para>
							<para> -or-</para>
							<para>Both arrays are user-defined value types and are not of the same type.</para>
						</exception>
						<exception cref="T:System.InvalidCastException">
							<para> At least one of the elements in <paramref name="sourceArray"/> is not assignment-compatible with the type of <paramref name="destinationArray"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="length"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="length"/> &gt; <paramref name="sourceArray"/>.Length.</para>
							<para>-or-</para>
							<para>
								<paramref name="length "/> &gt; <paramref name="destinationArray"/>.Length.</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)"/> is equivalent to <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)"/> (<paramref name="sourceArray"/>, <paramref name="sourceArray"/>.GetLowerBound(0), <paramref name="destinationArray"/>,
<paramref name="destinationArray"/>.GetLowerBound(0), <paramref name="length"/>). </para>
							<para>If <paramref name="sourceArray"/> and <paramref name="destinationArray"/> are of different
types, <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)"/> performs widening conversions on the elements of
<paramref name="sourceArray"/> as necessary before storing the information in 
<paramref name="destinationArray"/>. Value types will be boxed when being converted to a 
<see cref="T:System.Object"/>. If the necessary 
conversion is a narrowing conversion, a <see cref="T:System.ArrayTypeMismatchException"/> exception is thrown. <block subset="none" type="note">
For information regarding valid conversions performed by this method, see
<see cref="T:System.Convert"/>.</block>
							</para>
							<para>If an exception is thrown while copying, the state of
<paramref name="destinationArray"/> is undefined. </para>
							<para>If <paramref name="sourceArray"/> and <paramref name="destinationArray"/> are the same
array, <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)"/> copies the source elements safely to their
destination, as if the copy were done through an intermediate array. </para>
						</remarks>
						<example>
							<para>This example demonstrates the <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)"/> method.</para>
							<code lang="C#">using System;
public class ArrayCopyExample {
   public static void Main() {
      int[] intAryOrig = new int[3];
      double[] dAryCopy = new double[3];
      for ( int i = 0; i &lt; intAryOrig.Length; i++ )
         intAryOrig[i] = i+3;
      //copy the first 2 elements of the source into the destination
      Array.Copy( intAryOrig, dAryCopy, 2);
      Console.Write( "The elements of the first array are: " );
      for ( int i = 0; i &lt; intAryOrig.Length; i++ ) 
         Console.Write( "{0,3}", intAryOrig[i] );
      Console.WriteLine();
      Console.Write( "The elements of the copied array are: " );
      for ( int i = 0; i &lt; dAryCopy.Length; i++ ) 
         Console.Write( "{0,3}", dAryCopy[i] );
   }
}
   </code>
							<para>The output is</para>
							<c>
								<para>The elements of the first array are: 3 4 5</para>
								<para>The elements of the copied array are: 3 4 0</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Copy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Copy(class System.Array sourceArray, int32 sourceIndex, class System.Array destinationArray, int32 destinationIndex, int32 length)"/>
					<MemberSignature Language="C#" Value="public static void Copy(Array sourceArray, int sourceIndex, Array destinationArray, int destinationIndex, int length);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="sourceArray" Type="System.Array"/>
						<Parameter Name="sourceIndex" Type="System.Int32"/>
						<Parameter Name="destinationArray" Type="System.Array"/>
						<Parameter Name="destinationIndex" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Copies the specified number of elements from a source 
      array starting at the specified source index to a destination array
      starting at the specified destination index.</para>
						</summary>
						<param name="sourceArray">The <see cref="T:System.Array"/> that contains the data to copy.</param>
						<param name="sourceIndex">A <see cref="T:System.Int32"/> that contains the index in <paramref name="sourceArray"/> from which copying begins.</param>
						<param name="destinationArray">The <see cref="T:System.Array"/> that receives the data.</param>
						<param name="destinationIndex">A <see cref="T:System.Int32"/> that contains the index in <paramref name="destinationArray"/> at which storing begins.</param>
						<param name="length">A <see cref="T:System.Int32"/> that contains the number of elements to copy.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="sourceArray"/> or <paramref name="destinationArray"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.RankException">
							<para>
								<paramref name="sourceArray"/> and <paramref name="destinationArray"/> have different ranks.</para>
						</exception>
						<exception cref="T:System.ArrayTypeMismatchException">
							<para>The elements in both arrays are built-in types, and converting from the type of the elements of <paramref name="sourceArray"/> into the type of the elements in <paramref name="destinationArray"/> requires a narrowing conversion.</para>
							<para>-or-</para>
							<para>Both arrays are built-in types, and one array is a value-type array and the other an array of interface type not implemented by that value-type.</para>
							<para>-or-</para>
							<para>Both arrays are user-defined value types and are not of the same type.</para>
						</exception>
						<exception cref="T:System.InvalidCastException">
							<para>At least one element in <paramref name="sourceArray"/> is assignment-incompatible with the type of <paramref name="destinationArray"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="sourceIndex"/> &lt; <paramref name="sourceArray"/>.GetLowerBound(0).</para>
							<para>-or-</para>
							<para>
								<paramref name="destinationIndex"/> &lt; <paramref name="destinationArray"/>.GetLowerBound(0).</para>
							<para>-or-</para>
							<para>
								<paramref name="length"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>(<paramref name="sourceIndex"/> + <paramref name="length"/> ) &gt; (<paramref name="sourceArray"/>.GetLowerBound(0) + <paramref name="sourceArray"/>.Length).</para>
							<para>(<paramref name="destinationIndex"/> + <paramref name="length"/> ) &gt; ( <paramref name="destinationArray"/>.GetLowerBound(0) + <paramref name="destinationArray"/>.Length).</para>
						</exception>
						<remarks>
							<para>If <paramref name="sourceArray"/> and <paramref name="destinationArray"/>
are of different types, <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)"/> performs widening conversions on the elements of
<paramref name="sourceArray"/> as necessary before storing the information in 
<paramref name="destinationArray"/>. Value types will be boxed when being converted to a 
<see cref="T:System.Object"/>. If the necessary 
conversion is a narrowing conversion, a <see cref="T:System.ArrayTypeMismatchException"/> exception is thrown. <block subset="none" type="note">
For information regarding valid conversions performed by this method, see
<see cref="T:System.Convert"/> .</block>
							</para>
							<para>If an exception is thrown while copying, the state of
<paramref name="destinationArray"/> is undefined. </para>
							<para>If <paramref name="sourceArray"/> and <paramref name="destinationArray"/>
are the same array, <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)"/> copies the source elements safely to their
destination as if the copy were done through an intermediate array. </para>
						</remarks>
						<example>
							<para>This example demonstrates the <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)"/> method.</para>
							<code lang="C#">using System;
class ArrayCopyExample {
   public static void Main() {
      int[] intAry = { 0, 10, 20, 30, 40, 50 };
      Console.Write( "The elements of the array are: " );
      foreach ( int i in intAry )
         Console.Write( "{0,3}", i );
      Console.WriteLine();
      Array.Copy( intAry, 2, intAry, 0, 4 );
      Console.WriteLine( "After copying elements 2 through 5 into elements 0 through 4" );
      Console.Write( "The elements of the array are: " );
      foreach ( int i in intAry )
         Console.Write( "{0,3}", i );
      Console.WriteLine();     
   }
}
   </code>
							<para>The output is</para>
							<c>
								<para>The elements of the array are: 0 10 20 30 40 50</para>
								<para>After copying elements 2 through 5 into elements 0 through 4</para>
								<para>The elements of the array are: 20 30 40 50 40 50</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CopyTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void CopyTo(class System.Array array, int32 index)"/>
					<MemberSignature Language="C#" Value="public virtual void CopyTo(Array array, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Copies all the elements of the current instance to the
      specified one-dimensional array starting at the specified
      subscript in the destination array.</para>
						</summary>
						<param name="array">A one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from the current instance.</param>
						<param name="index">A <see cref="T:System.Int32"/> that contains the relative zero-based index in <paramref name="array"/> at which copying begins.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.RankException">
							<para>The current instance has more than one dimension.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> &lt; 0.</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="array"/> has more than one dimension.</para>
							<para> -or-</para>
							<para>
								<paramref name="index"/> is greater than or equal to <paramref name="array"/>.Length.</para>
							<para> -or-</para>
							<para>The number of elements in the current instance is greater than the available space from <paramref name="index"/> to the end of <paramref name="array"/>.</para>
						</exception>
						<exception cref="T:System.ArrayTypeMismatchException">The type of the current instance cannot be cast automatically to the type of <paramref name="array"/>.</exception>
						<remarks>
							<para>
								<paramref name="index"/> is an array index at which copying begins.</para>
							<block subset="none" type="note">
								<para>This method is implemented to support the <see cref="T:System.Collections.ICollection"/> interface. If implementing <see cref="T:System.Collections.ICollection"/> is not explicitly required, use <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)"/>
   to avoid an extra indirection.</para>
								<para>If the index of <paramref name="array"/> is
zero-based, this value is the same as the actual index at which copying begins. If
the lower bound of <paramref name="array"/> is not zero, the value of <paramref name="index"/> is added to
the lower bound of <paramref name="array"/> to get the actual index at which copying begins. For example,
if the lower bound of <paramref name="array"/> is 2 and the value
of <paramref name="index"/> is 1, the copying actually starts
at index 3.</para>
								<para>If this method throws an exception while copying, the state of <paramref name="array"/>
is undefined.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
							<para>
								<block subset="none" type="default">As described
   above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this
   method to copy elements of the current instance to a specified
   array.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to
   copy elements of the current instance to a specified array.</block>
							</para>
						</remarks>
						<example>
							<para> The following example shows how to copy the elements of one <see cref="T:System.Array"/> into another.</para>
							<code lang="C#">using System;

public class ArrayCopyToExample
{
   public static void Main()
   {
      Array aryOne = Array.CreateInstance(typeof(Object), 3);
      aryOne.SetValue("one", 0);
      aryOne.SetValue("two", 1);
      aryOne.SetValue("three", 2);

      Array aryTwo = Array.CreateInstance(typeof(Object), 5);
      for (int i=0; i &lt; aryTwo.Length; i++)
         aryTwo.SetValue(i, i);

      Console.WriteLine("The contents of the first array are:");
      foreach (object o in aryOne)
         Console.Write("{0} ", o);
      Console.WriteLine();
      Console.WriteLine("The original contents of the second array are:");
      foreach (object o in aryTwo)
         Console.Write("{0} ", o);
      Console.WriteLine();
      
      aryOne.CopyTo(aryTwo, 1);

      Console.WriteLine("The new contents of the second array are:");
      foreach( object o in aryTwo)
         Console.Write("{0} ", o);
   }
}
</code>
							<para>The output is</para>
							<para>
								<c>The contents of the first array are:</c>
							</para>
							<para>
								<c> one two three</c>
							</para>
							<para>
								<c>The original contents of the second array are:</c>
							</para>
							<para>
								<c>0 1 2 3 4</c>
							</para>
							<para>
								<c> The new contents of the second array are:</c>
							</para>
							<para>
								<c>0 one two three 4</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CreateInstance">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Array CreateInstance(class System.Type elementType, class System.Int32[] lengths)"/>
					<MemberSignature Language="C#" Value="public static Array CreateInstance(Type elementType, int[] lengths);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Array</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="elementType" Type="System.Type"/>
						<Parameter Name="lengths" Type="System.Int32[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Creates a zero-based, multidimensional array of the
      specified <see cref="T:System.Type"/> and dimension lengths.</para>
						</summary>
						<param name="elementType">The <see cref="T:System.Type"/> of the elements contained in the new <see cref="T:System.Array"/> instance. </param>
						<param name="lengths">A one-dimensional array of <see cref="T:System.Int32"/> objects that contains the size of each dimension of the new <see cref="T:System.Array"/> instance.</param>
						<returns>
							<para>A new zero-based, multidimensional <see cref="T:System.Array"/> instance of the
   specified <see cref="T:System.Type"/> with the specified length for
   each dimension. The <see cref="P:System.Array.Rank"/> of the new instance is equal to
<paramref name="lengths"/>.Length.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="elementType"/> or<paramref name="lengths"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="elementType"/> is not a valid <see cref="T:System.Type"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="lengths"/>.Length = 0.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">A value in <paramref name="lengths"/> is less than zero.</exception>
						<remarks>
							<para>The number of elements in <paramref name="lengths"/> is required to equal the number of
   dimensions in the new <see cref="T:System.Array"/> instance. Each element of <paramref name="lengths"/> specifies
   the length of the corresponding dimension in the new instance.</para>
							<para>Reference-type elements will be set to <see langword="null"/>. Value-type elements will be set to zero, 
except for <see cref="T:System.Boolean"/>
elements, which will be set to
<see langword="false"/>.</para>
							<para>
								<block subset="none" type="note">Unlike most classes, <see cref="T:System.Array"/> provides the
<see cref="M:System.Array.CreateInstance(System.Type,System.Int32)"/> method, instead of public constructors, to allow
for late bound access.</block>
							</para>
						</remarks>
						<example>
							<para> The following example shows how to create and initialize a
      multidimensional <see cref="T:System.Array"/>.</para>
							<code lang="C#">
using System;

public class CreateMultiDimArrayExample
{
   public static void Main()
   {
      int i, j, k;
      int[] indexAry = {2, 4, 5};
      Array ary = Array.CreateInstance( typeof(int), indexAry );
      for( i = ary.GetLowerBound(0); i &lt;= ary.GetUpperBound(0); i++ )
      {
         for( j = ary.GetLowerBound(1); j &lt;= ary.GetUpperBound(1); j++ )
         {
            for( k = ary.GetLowerBound(2); k &lt;= ary.GetUpperBound(2); k++ )
            {
               ary.SetValue( (100*i + 10*j + k), i, j, k );
            }
         }
      }
      Console.WriteLine("The elements of the array are:");
      for( i = ary.GetLowerBound(0); i &lt;= ary.GetUpperBound(0); i++)
      {
         for( j = ary.GetLowerBound(1); j &lt;= ary.GetUpperBound(1); j++)
         {
             for( k = ary.GetLowerBound(2); k &lt;= ary.GetUpperBound(2); k++ )
            {
               Console.Write("{0, 3} ", ary.GetValue(i, j, k));
            }
            Console.WriteLine();
         }
         Console.WriteLine();
      }
   }
}
   </code>
							<para>The output is</para>
							<code>The elements of the array are:
  0   1   2   3   4
 10  11  12  13  14
 20  21  22  23  24
 30  31  32  33  34

100 101 102 103 104
110 111 112 113 114
120 121 122 123 124
130 131 132 133 134 
</code>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedArray</ExcludedLibrary>
				</Member>
				<Member MemberName="CreateInstance">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Array CreateInstance(class System.Type elementType, int32 length1, int32 length2, int32 length3)"/>
					<MemberSignature Language="C#" Value="public static Array CreateInstance(Type elementType, int length1, int length2, int length3);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Array</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="elementType" Type="System.Type"/>
						<Parameter Name="length1" Type="System.Int32"/>
						<Parameter Name="length2" Type="System.Int32"/>
						<Parameter Name="length3" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Creates a zero-based, three-dimensional array of the
      specified <see cref="T:System.Type"/> and dimension lengths.</para>
						</summary>
						<param name="elementType">The <see cref="T:System.Type"/> of the elements contained in the new <see cref="T:System.Array"/> instance. </param>
						<param name="length1">A <see cref="T:System.Int32"/> that contains the number of elements contained in the first dimension of the new <see cref="T:System.Array"/> instance. </param>
						<param name="length2">A <see cref="T:System.Int32"/> that contains the number of elements contained in the second dimension of the new <see cref="T:System.Array"/> instance. </param>
						<param name="length3">A <see cref="T:System.Int32"/> that contains the number of elements contained in the third dimension of the new <see cref="T:System.Array"/> instance. </param>
						<returns>
							<para>A new zero-based, three-dimensional <see cref="T:System.Array"/> instance of <paramref name="elementType"/> objects with the size
<paramref name="length1"/> for the first dimension, <paramref name="length2"/> for the second, and 
<paramref name="length3"/> for the third.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="elementType"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="elementType"/> is not a valid <see cref="T:System.Type"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="length1"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="length2"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="length3"/> &lt; 0.</para>
						</exception>
						<remarks>
							<para>Reference-type elements will be set to <see langword="null"/>. Value-type elements will be set to zero, 
   except for <see cref="T:System.Boolean"/>
   elements, which will be set to
<see langword="false"/>.</para>
							<para>
								<block subset="none" type="note">Unlike most classes, <see cref="T:System.Array"/> provides the
<see cref="M:System.Array.CreateInstance(System.Type,System.Int32)"/> method, instead of public constructors, to allow 
for late bound access.</block>
							</para>
						</remarks>
						<example>
							<para> The following example shows how to create and
      initialize a three-dimensional <see cref="T:System.Array"/>.</para>
							<code lang="C#">
using System;

public class Create3DArrayExample
{
   public static void Main()
   {
      int i, j, k;
      Array ary = Array.CreateInstance( typeof(int), 2, 4, 3 );
      for( i = ary.GetLowerBound(0); i &lt;= ary.GetUpperBound(0); i++ )
      {
         for( j = ary.GetLowerBound(1); j &lt;= ary.GetUpperBound(1); j++ )
         {
            for( k = ary.GetLowerBound(2); k &lt;= ary.GetUpperBound(2); k++ )
            {
               ary.SetValue( (100*i + 10*j + k), i, j, k );
            }
         }
      }
      Console.WriteLine("The elements of the array are:");
      for( i = ary.GetLowerBound(0); i &lt;= ary.GetUpperBound(0); i++)
      {
         for( j = ary.GetLowerBound(1); j &lt;= ary.GetUpperBound(1); j++)
         {
             for( k = ary.GetLowerBound(2); k &lt;= ary.GetUpperBound(2); k++ )
            {
               Console.Write("{0, 3} ", ary.GetValue(i, j, k));
            }
            Console.WriteLine();
         }
         Console.WriteLine();
      }
   }
}
   </code>
							<para>The output is</para>
							<code>The elements of the array are:
  0   1   2
 10  11  12
 20  21  22
 30  31  32

100 101 102
110 111 112
120 121 122
130 131 132
 </code>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedArray</ExcludedLibrary>
				</Member>
				<Member MemberName="CreateInstance">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Array CreateInstance(class System.Type elementType, int32 length1, int32 length2)"/>
					<MemberSignature Language="C#" Value="public static Array CreateInstance(Type elementType, int length1, int length2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Array</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="elementType" Type="System.Type"/>
						<Parameter Name="length1" Type="System.Int32"/>
						<Parameter Name="length2" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Creates a zero-based, two-dimensional array of the specified <see cref="T:System.Type"/>
and dimension lengths.</para>
						</summary>
						<param name="elementType">The <see cref="T:System.Type"/> of the elements contained in the new <see cref="T:System.Array"/> instance. </param>
						<param name="length1">A <see cref="T:System.Int32"/> that contains the number of elements contained in the first dimension of the new <see cref="T:System.Array"/> instance. </param>
						<param name="length2">A <see cref="T:System.Int32"/> that contains the number of elements contained in the second dimension of the new <see cref="T:System.Array"/> instance. </param>
						<returns>
							<para>A new zero-indexed, two-dimensional <see cref="T:System.Array"/> instance of <paramref name="elementType"/> objects with the size
<paramref name="length1"/> for the first dimension and <paramref name="length2"/> 
for the second.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="elementType"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="elementType"/> is not a valid <see cref="T:System.Type"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="length1"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="length2"/> &lt; 0.</para>
						</exception>
						<remarks>
							<para>Reference-type elements will be set to <see langword="null"/>. Value-type elements will be set to zero, 
   except for <see cref="T:System.Boolean"/>
   elements, which will be set to
<see langword="false"/>.</para>
							<para>
								<block subset="none" type="note">Unlike most classes, <see cref="T:System.Array"/> provides the
<see cref="M:System.Array.CreateInstance(System.Type,System.Int32)"/> method, instead of public constructors, to allow 
for late bound access.</block>
							</para>
						</remarks>
						<example>
							<para> The following example shows how to create and
      initialize a two-dimensional <see cref="T:System.Array"/>.</para>
							<code lang="C#">
using System;

public class Create2DArrayExample
{
   public static void Main()
   {
      int i, j;
      Array ary = Array.CreateInstance( typeof(int), 5, 3 );
      for( i = ary.GetLowerBound(0); i &lt;= ary.GetUpperBound(0); i++ )
      {
         for( j = ary.GetLowerBound(1); j &lt;= ary.GetUpperBound(1); j++ )
         {
            ary.SetValue( (10*i + j), i, j );
         }
      }
      Console.WriteLine("The elements of the array are:");
      for( i = ary.GetLowerBound(0); i &lt;= ary.GetUpperBound(0); i++)
      {
         for( j = ary.GetLowerBound(1); j &lt;= ary.GetUpperBound(1); j++)
         {
            Console.Write("{0, 2} ", ary.GetValue(i, j));
         }
         Console.WriteLine();
      }
   }
} 
  </code>
							<para>The output is</para>
							<code>The elements of the array are:
 0  1  2
10 11 12
20 21 22
30 31 32
40 41 42
 </code>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedArray</ExcludedLibrary>
				</Member>
				<Member MemberName="CreateInstance">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Array CreateInstance(class System.Type elementType, int32 length)"/>
					<MemberSignature Language="C#" Value="public static Array CreateInstance(Type elementType, int length);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Array</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="elementType" Type="System.Type"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs a zero-based, one-dimensional array with the specified number of elements of the specified type.</para>
						</summary>
						<param name="elementType">The <see cref="T:System.Type"/> of the elements contained in the new <see cref="T:System.Array"/> instance.</param>
						<param name="length">A <see cref="T:System.Int32"/> that contains the number of elements contained in the new <see cref="T:System.Array"/> instance.</param>
						<returns>
							<para>A zero-based, one-dimensional <see cref="T:System.Array"/> object containing <paramref name="length"/> elements of type
<paramref name="elementType"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="elementType"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="elementType"/> is not a valid <see cref="T:System.Type"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="length"/> &lt; 0.</exception>
						<remarks>
							<para>Reference-type elements will be set to <see langword="null"/>. Value-type elements will be set to zero, 
   except for <see cref="T:System.Boolean"/>
   elements, which will be set to
<see langword="false"/>.</para>
							<para>
								<block subset="none" type="note">Unlike most classes, <see cref="T:System.Array"/> provides the <see cref="M:System.Array.CreateInstance(System.Type,System.Int32)"/> method, instead of public constructors, to allow
for late bound access.</block>
							</para>
						</remarks>
						<example>
							<para> The following example shows how to create and
      initialize a one-dimensional <see cref="T:System.Array"/>.</para>
							<code lang="C#">using System;

public class ArrayCreateInstanceExample
{

   public static void Main()
   {

      Array intAry = Array.CreateInstance(typeof(int),5);
      for (int i=intAry.GetLowerBound(0);i&lt;=intAry.GetUpperBound(0);i++)
         intAry.SetValue(i*3,i);
      Console.Write("The values of the array are:");
      foreach (int i in intAry)
         Console.Write("{0} ",i);
   
   }

}
   </code>
							<para>The output is</para>
							<para>
								<c>The values of the array are: 0 3 6 9 12</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CreateInstance">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Array CreateInstance(class System.Type elementType, class System.Int32[] lengths, class System.Int32[] lowerBounds)"/>
					<MemberSignature Language="C#" Value="public static Array CreateInstance(Type elementType, int[] lengths, int[] lowerBounds);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Array</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="elementType" Type="System.Type"/>
						<Parameter Name="lengths" Type="System.Int32[]"/>
						<Parameter Name="lowerBounds" Type="System.Int32[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Creates a multidimensional array of the
      specified <see cref="T:System.Type"/> and dimension lengths, with the specified lower bounds.</para>
						</summary>
						<param name="elementType">The <see cref="T:System.Type"/> of the elements contained in the new <see cref="T:System.Array"/> instance. </param>
						<param name="lengths">A one-dimensional array of <see cref="T:System.Int32"/> objects that contains the size of each dimension of the new <see cref="T:System.Array"/> instance.</param>
						<param name="lowerBounds">A one-dimensional array of <see cref="T:System.Int32"/> objects that contains the lower bound of each dimension of the new <see cref="T:System.Array"/> instance.</param>
						<returns>
							<para>A new multidimensional <see cref="T:System.Array"/> of the specified <see cref="T:System.Type"/> with
   the specified length and lower bound for each dimension.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="elementType"/>, <paramref name="lengths"/>, or <paramref name="lowerBounds"/> is <see langword="null"/>. </para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="elementType"/> is not a valid <see cref="T:System.Type"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="lengths"/>.Length = 0.</para>
							<para> -or-</para>
							<para>
								<paramref name="lengths"/> and <paramref name="lowerBounds"/> do not contain the same number of elements.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">A value in <paramref name="lengths"/> is less than zero.</exception>
						<remarks>
							<para>The <paramref name="lengths"/> and <paramref name="lowerBounds"/>
are required to have the same number of elements. The number of elements in
<paramref name="lengths"/>
equals the number of dimensions in the new <see cref="T:System.Array"/> instance</para>
							<para> Each element of <paramref name="lengths"/>
specifies the length of the corresponding dimension in the new <see cref="T:System.Array"/> instance.</para>
							<para> Each element of <paramref name="lowerBounds"/> specifies the lower bound of the
corresponding dimension in the new <see cref="T:System.Array"/> instance.</para>
							<para> Reference-type elements will be set to <see langword="null"/>. Value-type elements will be set to zero,
except for <see cref="T:System.Boolean"/>
elements, which will be set to
<see langword="false"/>.</para>
							<para>
								<block subset="none" type="note">Unlike most classes, <see cref="T:System.Array"/> provides the
<see cref="M:System.Array.CreateInstance(System.Type,System.Int32)"/> method, instead of public constructors, to allow
for late bound access.</block>
							</para>
						</remarks>
						<example>
							<para> The following example shows how to create and
      initialize a multidimensional <see cref="T:System.Array"/>
      with specified low bounds.</para>
							<code lang="C#">
using System;

public class MultiDimNonZeroBoundExample
{
   public static void Main()
   {
      int i, j, k;
      int[] indexAry = {4, 2, 3};
      int[] lowboundAry = {3, 2, 1};
      Array ary = Array.CreateInstance( typeof(int), indexAry, lowboundAry );
      for( i = ary.GetLowerBound(0); i &lt;= ary.GetUpperBound(0); i++ )
      {
         for( j = ary.GetLowerBound(1); j &lt;= ary.GetUpperBound(1); j++ )
         {
            for( k = ary.GetLowerBound(2); k &lt;= ary.GetUpperBound(2); k++ )
            {
               ary.SetValue( (100*i + 10*j + k), i, j, k );
            }
         }
      }
      Console.WriteLine("The elements of the array are:");
      for( i = ary.GetLowerBound(0); i &lt;= ary.GetUpperBound(0); i++)
      {
         for( j = ary.GetLowerBound(1); j &lt;= ary.GetUpperBound(1); j++)
         {
             for( k = ary.GetLowerBound(2); k &lt;= ary.GetUpperBound(2); k++ )
            {
               Console.Write("{0, 3} ", ary.GetValue(i, j, k));
            }
            Console.WriteLine();
         }
         Console.WriteLine();
      }
   }
}
   </code>
							<para>The output is</para>
							<code>The elements of the array are:
321 322 323
331 332 333

421 422 423
431 432 433

521 522 523
531 532 533

621 622 623
631 632 633
</code>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedArray</ExcludedLibrary>
				</Member>
				<Member MemberName="GetEnumerator">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Collections.IEnumerator GetEnumerator()"/>
					<MemberSignature Language="C#" Value="public virtual IEnumerator GetEnumerator();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.IEnumerator</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Collections.IEnumerator"/> for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Collections.IEnumerator"/> for the current instance.</para>
						</returns>
						<remarks>
							<para>A <see cref="T:System.Collections.IEnumerator"/> grants read-access to the elements of a
<see cref="T:System.Array"/>.</para>
							<para>
								<block subset="none" type="note"> This method is
   implemented to support the <see cref="T:System.Collections.IEnumerator"/> interface. For more information regarding the use of an
   enumerator, see <see cref="T:System.Collections.IEnumerator"/>.</block>
							</para>
							<block subset="none" type="behaviors">
								<para> Initially, the enumerator is positioned before the
      first element of the current instance. <see cref="M:System.Collections.IEnumerator.Reset"/> returns the enumerator to this
      position. Therefore, after an enumerator is created or after a
   <see cref="M:System.Collections.IEnumerator.Reset"/>, <see cref="M:System.Collections.IEnumerator.MoveNext"/> is required to be
      called to advance the enumerator to the first element of the collection before
      reading the value of <see cref="P:System.Collections.IEnumerator.Current"/>.</para>
								<para> The enumerator is in an invalid state if it
      is positioned before the first element or after the last element of the
      current instance. Whenever the enumerator is in an invalid state, a call to
   <see cref="P:System.Collections.IEnumerator.Current"/> is required to throw a <see cref="T:System.InvalidOperationException"/>.</para>
								<para>
									<see cref="P:System.Collections.IEnumerator.Current"/> returns the same object until either
<see cref="M:System.Collections.IEnumerator.MoveNext"/> or
<see cref="M:System.Collections.IEnumerator.Reset"/> is called.</para>
								<para>Once the enumerator of the current instance is moved
   immediately past the last element of the current instance, subsequent calls to
<see cref="M:System.Collections.IEnumerator.MoveNext"/> 
return <see langword="false"/>
and the enumerator remains positioned immediately past the last element.</para>
							</block>
							<block subset="none" type="default">
								<para>Multidimensional arrays will be processed in Row-major form. </para>
								<para>
									<block subset="none" type="note"> For some
      multidimensional <see cref="T:System.Array"/>
      objects, it may be desirable for an enumerator to process them in Column-major form.</block>
								</para>
							</block>
							<para>
								<block subset="none" type="overrides">Override this
   method to provide read-access to the current instance.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method
   to iterate over the elements of the current instance.</block>
							</para>
						</remarks>
						<example>
							<para>This example demonstrates the <see cref="M:System.Array.GetEnumerator"/> method.</para>
							<code lang="C#">using System;
using System.Collections;
public class ArrayGetEnumerator {
   public static void Main() {
      string[,] strAry = {{"1","one"}, {"2", "two"}, {"3", "three"}};
      Console.Write( "The elements of the array are: " );
      IEnumerator sEnum = strAry.GetEnumerator();
      while ( sEnum.MoveNext() )
         Console.Write( " {0}", sEnum.Current );
   }
}
   </code>
							<para>The output is</para>
							<c>
								<para>The elements of the array are: 1 one 2 two 3 three</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetLowerBound">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 GetLowerBound(int32 dimension)"/>
					<MemberSignature Language="C#" Value="public int GetLowerBound(int dimension);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="dimension" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the lower bound of the specified dimension in
      the current instance.</para>
						</summary>
						<param name="dimension">A <see cref="T:System.Int32"/> that contains the zero-based dimension of the current instance whose lower bound is to be determined.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that contains the lower bound of the specified dimension in the
   current instance.</para>
						</returns>
						<exception cref="T:System.IndexOutOfRangeException">
							<para>
								<paramref name="dimension"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="dimension"/> is equal to or greater than the <see cref="P:System.Array.Rank"/> property of the current instance.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">For example,
   <see cref="M:System.Array.GetLowerBound(System.Int32)"/> (0) returns the lower bound of the first
      dimension of the current instance, and <see cref="M:System.Array.GetLowerBound(System.Int32)"/>(<see cref="P:System.Array.Rank"/> - 1) returns the lower bound of the last dimension of
      the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName="GetUpperBound">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 GetUpperBound(int32 dimension)"/>
					<MemberSignature Language="C#" Value="public int GetUpperBound(int dimension);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="dimension" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the upper bound of the specified dimension in
      the current instance.</para>
						</summary>
						<param name="dimension">A <see cref="T:System.Int32"/> that contains the zero-based dimension of the current instance whose upper bound is to be determined.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that contains the upper bound of the specified dimension in the
   current instance.</para>
						</returns>
						<exception cref="T:System.IndexOutOfRangeException">
							<para>
								<paramref name="dimension"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="dimension"/> is equal to or greater than the <see cref="P:System.Array.Rank"/> property of the current instance.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">For example, <see cref="M:System.Array.GetUpperBound(System.Int32)"/>
(0) returns the upper bound of the first dimension of the current
instance, and <see cref="M:System.Array.GetUpperBound(System.Int32)"/>(<see cref="P:System.Array.Rank"/> - 1) returns the upper bound of the last dimension
of the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName="GetValue">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance object GetValue(class System.Int32[] indices)"/>
					<MemberSignature Language="C#" Value="public object GetValue(int[] indices);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="indices" Type="System.Int32[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Gets the value at the specified position in the
      current multidimensional instance.</para>
						</summary>
						<param name="indices">A one-dimensional array of <see cref="T:System.Int32"/> objects that contains the indices that specify the position of the element in the current instance whose value to get.</param>
						<returns>
							<para>A <see cref="T:System.Object"/> that contains the value at the specified position in the
   current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="indices"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">The number of dimensions in the current instance is not equal to the number of elements in <paramref name="indices"/>.</exception>
						<exception cref="T:System.IndexOutOfRangeException">
							<para>At least one element in <paramref name="indices"/> is outside the range of valid indices for the corresponding dimension of the current instance.</para>
						</exception>
						<remarks>
							<para>The number of elements in <paramref name="indices"/> is required to be equal to the number of
   dimensions in the current instance. All elements in <paramref name="indices"/> collectively specify the position of the
   desired element in the current instance.</para>
							<para>
								<block subset="none" type="note">Use the <see cref="M:System.Array.GetLowerBound(System.Int32)"/> and
<see cref="M:System.Array.GetUpperBound(System.Int32)"/> methods to determine whether any of the values in 
<paramref name="indices"/> are out of
bounds.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedArray</ExcludedLibrary>
				</Member>
				<Member MemberName="GetValue">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance object GetValue(int32 index)"/>
					<MemberSignature Language="C#" Value="public object GetValue(int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Gets the value at the specified position in the current one-dimensional
      instance.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that contains the position of the value to get from the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Object"/> that contains the value at the specified position in the current
   instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">The current instance has more than one dimension.</exception>
						<exception cref="T:System.IndexOutOfRangeException">
							<para>
								<paramref name="index"/> is outside the range of valid indices for the current instance.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">Use the <see cref="M:System.Array.GetLowerBound(System.Int32)"/> and
<see cref="M:System.Array.GetUpperBound(System.Int32)"/> methods to determine 
   whether <paramref name="index"/> is out of bounds.</block>
							</para>
						</remarks>
						<example>
							<para>This example demonstrates the <see cref="M:System.Array.GetValue(System.Int32[])"/> method.</para>
							<code lang="C#">using System;
public class ArrayGetValueExample {
   public static void Main() {
      String[] strAry = { "one", "two", "three", "four", "five" };
      Console.Write( "The elements of the array are: " );
      for( int i = 0; i &lt; strAry.Length; i++ )
         Console.Write( " '{0}' ", strAry.GetValue( i ) );
   }
}
   </code>
							<para>The output is</para>
							<para>
								<c>The elements
      of the array are: 'one' 'two' 'three' 'four' 'five'</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetValue">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance object GetValue(int32 index1, int32 index2)"/>
					<MemberSignature Language="C#" Value="public object GetValue(int index1, int index2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index1" Type="System.Int32"/>
						<Parameter Name="index2" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Gets the value at the specified position in the current 
      two-dimensional instance.</para>
						</summary>
						<param name="index1">A <see cref="T:System.Int32"/> that contains the first-dimension index of the element in the current instance to get.</param>
						<param name="index2">A <see cref="T:System.Int32"/> that contains the second-dimension index of the element in the current instance to get.</param>
						<returns>
							<para>A <see cref="T:System.Object"/> that contains the value at the specified position in the current 
   instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">The current instance does not have exactly two dimensions.</exception>
						<exception cref="T:System.IndexOutOfRangeException">At least one of <paramref name="index1"/> or <paramref name="index2"/> is outside the range of valid indexes for the corresponding dimension of the current instance.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">Use the <see cref="M:System.Array.GetLowerBound(System.Int32)"/> and 
<see cref="M:System.Array.GetUpperBound(System.Int32)"/> methods to determine
   whether any of the indices are out of bounds.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedArray</ExcludedLibrary>
				</Member>
				<Member MemberName="GetValue">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance object GetValue(int32 index1, int32 index2, int32 index3)"/>
					<MemberSignature Language="C#" Value="public object GetValue(int index1, int index2, int index3);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index1" Type="System.Int32"/>
						<Parameter Name="index2" Type="System.Int32"/>
						<Parameter Name="index3" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Gets the value at the specified position in the 
      current three-dimensional instance.</para>
						</summary>
						<param name="index1">A <see cref="T:System.Int32"/> that contains the first-dimension index of the element in the current instance to get. </param>
						<param name="index2">A <see cref="T:System.Int32"/> that contains the second-dimension index of the element in the current instance to get. </param>
						<param name="index3">A <see cref="T:System.Int32"/> that contains the third-dimension index of the element in the current instance to get. </param>
						<returns>
							<para>A <see cref="T:System.Object"/> that contains the value at the specified position in the 
   current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">The current instance does not have exactly three dimensions.</exception>
						<exception cref="T:System.IndexOutOfRangeException">
							<para>At least one of<paramref name="index1"/> or <paramref name="index2"/> or <paramref name="index3"/> is outside the range of valid indexes for the corresponding dimension of the current instance.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">Use the <see cref="M:System.Array.GetLowerBound(System.Int32)"/> and 
<see cref="M:System.Array.GetUpperBound(System.Int32)"/> methods to determine
   whether any of the indices are out of bounds.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedArray</ExcludedLibrary>
				</Member>
				<Member MemberName="IndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 IndexOf(class System.Array array, object value, int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public static int IndexOf(Array array, object value, int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the specified one-dimensional <see cref="T:System.Array"/>, returning the index of the first
   occurrence of the specified <see cref="T:System.Object"/> in the specified range.</para>
						</summary>
						<param name="array">A one-dimensional <see cref="T:System.Array"/> to search.</param>
						<param name="value">A <see cref="T:System.Object"/> to locate in <paramref name="array"/>.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> that contains the index at which searching starts. </param>
						<param name="count">A <see cref="T:System.Int32"/> that contains the number of elements to search, beginning with <paramref name="startIndex"/>.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the index of the first occurrence of <paramref name="value"/> in
<paramref name="array"/>, within the range <paramref name="startIndex"/> through <paramref name="startIndex"/> 
+ <paramref name="count"/>- 1, if found; otherwise,
<paramref name="array"/>.GetLowerBound(0) - 1.
<block subset="none" type="note"> For a vector, if <paramref name="value"/> is not 
found, the return value will be -1. This provides the caller with a standard code for the failed search.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="array"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> is outside the range of valid indices for <paramref name="array"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> &lt; 0.</para>
							<para>-or-</para>
							<para>The sum of <paramref name="count"/> and <paramref name="startIndex"/> does not specify a valid range in <paramref name="array"/> (i.e. <paramref name="count"/> + <paramref name="startIndex"/> &gt; <paramref name="array"/>.GetLowerBound(0) + <paramref name="array"/>.Length).</para>
						</exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> has more than one dimension.</exception>
						<remarks>
							<para>The elements will be compared using the semantics of
      the <see cref="M:System.Object.Equals(System.Object)"/> method. For user-defined
      types, <see cref="M:System.Object.Equals(System.Object)"/>
      is actually called.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 IndexOf(class System.Array array, object value, int32 startIndex)"/>
					<MemberSignature Language="C#" Value="public static int IndexOf(Array array, object value, int startIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the specified one-dimensional <see cref="T:System.Array"/>, returning the index of the first
   occurrence of the specified <see cref="T:System.Object"/> between the specified index and the last element.</para>
						</summary>
						<param name="array">A one-dimensional <see cref="T:System.Array"/> to search.</param>
						<param name="value">A <see cref="T:System.Object"/> to locate in <paramref name="array"/>.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> that contains the index at which searching starts.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the index of the first occurrence of <paramref name="value"/> in
<paramref name="array"/>, within the range <paramref name="startIndex"/> through the last element of 
<paramref name="array"/>, if found; otherwise, 
<paramref name="array"/>.GetLowerBound(0) - 1. 
<block subset="none" type="note"> For a vector, if <paramref name="value"/> is not 
   found, the return value will be -1. This provides the caller with a standard code for the failed search.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="array"/> is <see langword="null"/>. </para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> is outside the range of valid indexes for <paramref name="array"/>.</para>
						</exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> has more than one dimension.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.IndexOf(System.Array,System.Object)"/> is equivalent to <see cref="M:System.Array.IndexOf(System.Array,System.Object)"/> (<paramref name="array"/>, <paramref name="value"/> ,
<paramref name="startIndex"/>, (<paramref name="array"/>.Length - <paramref name="startIndex"/>+<paramref name="array"/>.GetLowerBound(0))).</para>
							<para>The elements will be compared using the semantics of
   the <see cref="M:System.Object.Equals(System.Object)"/> method. For user-defined
   types, <see cref="M:System.Object.Equals(System.Object)"/>
   is actually called.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 IndexOf(class System.Array array, object value)"/>
					<MemberSignature Language="C#" Value="public static int IndexOf(Array array, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the specified one-dimensional <see cref="T:System.Array"/>, returning the
   index of the first occurrence of the specified <see cref="T:System.Object"/>.</para>
						</summary>
						<param name="array">A one-dimensional <see cref="T:System.Array"/> to search.</param>
						<param name="value">A <see cref="T:System.Object"/> to locate in <paramref name="array"/>.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the index of the first occurrence of <paramref name="value"/> in
<paramref name="array"/>, if found; otherwise, <paramref name="array"/>.GetLowerBound(0) - 1. <block subset="none" type="note"> For a vector, if <paramref name="value"/> is not 
   found, the return value will be -1. This provides the caller with a standard code for a failed search.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> has more than one dimension.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.IndexOf(System.Array,System.Object)"/> is equivalent to <see cref="M:System.Array.IndexOf(System.Array,System.Object)"/>(<paramref name="array"/>, <paramref name="value"/>, <paramref name="array"/>.GetLowerBound(0),<paramref name="array"/>.Length).</para>
							<para>The elements will be compared using the semantics of
   the <see cref="M:System.Object.Equals(System.Object)"/> method. For user-defined types, <see cref="M:System.Object.Equals(System.Object)"/> is
   actually called.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Array.IndexOf(System.Array,System.Object)"/> 
method.</para>
							<code lang="C#">using System;
public class ArrayIndexOfExample {
   public static void Main() {
      int[] intAry = { 0, 1, 2, 0, 1 };
      Console.Write( "The values of the array are: " );
      foreach( int i in intAry )
         Console.Write( "{0,5}", i );
      Console.WriteLine();
      int j = Array.IndexOf( intAry, 1 );
      Console.WriteLine( "The first occurrence of 1 is at index {0}", j );
   }
}
</code>
							<para> The output is</para>
							<c>
								<para>The values of the array are: 0 1 2 0 1</para>
								<para>The first occurrence of 1 is at index 1</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Initialize">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void Initialize()"/>
					<MemberSignature Language="C#" Value="public void Initialize();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Initializes every element of the current instance of
      value-type objects by calling the
      default constructor of that value type.</para>
						</summary>
						<remarks>
							<para> This method cannot be used on reference-type arrays.</para>
							<para>If the current instance is not a value-type <see cref="T:System.Array"/> or if the value type does not have a default
   constructor, the current instance is not modified.</para>
							<para>The current instance can have any lower bound and any number of dimensions.</para>
							<para>
								<block subset="none" type="note">This method can be used only
   on value types that have constructors. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName="IsFixedSize">
					<MemberSignature Language="ILASM" Value=".property bool IList.IsFixedSize { public hidebysig virtual abstract specialname bool get_IList.IsFixedSize() }"/>
					<MemberSignature Language="C#" Value="bool IList.IsFixedSize { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IList"/> interface. [Note: For more information, see <see cref="M:System.Collections.IList.IsFixedSize"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsReadOnly">
					<MemberSignature Language="ILASM" Value=".property bool IList.IsReadOnly { public hidebysig virtual abstract specialname bool get_IList.IsReadOnly() }"/>
					<MemberSignature Language="C#" Value="bool IList.IsReadOnly { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IList"/> interface. [Note: For more information, see <see cref="M:System.Collections.IList.IsReadOnly"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSynchronized">
					<MemberSignature Language="ILASM" Value=".property bool ICollection.IsSynchronized { public hidebysig virtual abstract specialname bool get_ICollection.IsSynchronized() }"/>
					<MemberSignature Language="C#" Value="bool ICollection.IsSynchronized { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.ICollection"/> interface. [Note: For more information, see <see cref="M:System.Collections.ICollection.IsSynchronized"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 LastIndexOf(class System.Array array, object value, int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public static int LastIndexOf(Array array, object value, int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Searches the specified one-dimensional <see cref="T:System.Array"/>, returning the index of the last
   occurrence of the specified <see cref="T:System.Object"/> in the specified range.</para>
						</summary>
						<param name="array">A one-dimensional <see cref="T:System.Array"/> to search.</param>
						<param name="value">A <see cref="T:System.Object"/> to locate in <paramref name="array"/>.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> that contains the index at which searching starts. </param>
						<param name="count">A <see cref="T:System.Int32"/> that contains the number of elements to search, beginning with <paramref name="startIndex"/> . </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the index of the last occurrence of <paramref name="value"/> in
<paramref name="array"/>, within the range <paramref name="startIndex"/> through 
<paramref name="startIndex"/>-<paramref name="count"/>+ 1, if found; otherwise, 
<paramref name="array"/>.GetLowerBound(0) - 1. 
<block subset="none" type="note"> For a vector, if <paramref name="value"/> is not 
   found, the return value will be -1. This provides the caller with a standard code for the failed search.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="array"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> is outside the range of valid indices for <paramref name="array"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> and <paramref name="startIndex"/> do not specify a valid range in <paramref name="array"/>.</para>
						</exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> has more than one dimension.</exception>
						<remarks>
							<para>The elements will be compared using the semantics of
      the <see cref="M:System.Object.Equals(System.Object)"/> method. For user-defined
      types, <see cref="M:System.Object.Equals(System.Object)"/>
      is actually called.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 LastIndexOf(class System.Array array, object value, int32 startIndex)"/>
					<MemberSignature Language="C#" Value="public static int LastIndexOf(Array array, object value, int startIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Searches the specified one-dimensional <see cref="T:System.Array"/>, returning the index of the last
   occurrence of the specified <see cref="T:System.Object"/> between the specified index and the first element.</para>
						</summary>
						<param name="array">A one-dimensional <see cref="T:System.Array"/> to search.</param>
						<param name="value">A <see cref="T:System.Object"/> to locate in <paramref name="array"/>.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> that contains the index at which searching starts.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the index of the last occurrence of <paramref name="value"/> in the range
<paramref name="startIndex"/> through the lower bound of <paramref name="array"/>, if found; otherwise, 
<paramref name="array"/>.GetLowerBound(0) - 1. <block subset="none" type="note"> For a vector, if <paramref name="value"/> is not found, the return value will
   be -1. This provides the caller with a standard code for the failed
   search.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="array"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> is outside the range of valid indices for <paramref name="array"/>.</para>
						</exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> has more than one dimension.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.LastIndexOf(System.Array,System.Object)"/> is equivalent to <see cref="M:System.Array.LastIndexOf(System.Array,System.Object)"/>( <paramref name="array"/>, <paramref name="value"/>, <paramref name="startIndex"/>,<paramref name="startIndex"/>+ 1 -<paramref name="array"/>.GetLowerBound(0)).</para>
							<para>The elements will be compared using the semantics of
   the <see cref="M:System.Object.Equals(System.Object)"/> method. For user-defined types,
<see cref="M:System.Object.Equals(System.Object)"/> is actually 
   called.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 LastIndexOf(class System.Array array, object value)"/>
					<MemberSignature Language="C#" Value="public static int LastIndexOf(Array array, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Searches the specified one-dimensional <see cref="T:System.Array"/>, returning the index of the last
   occurrence of the specified <see cref="T:System.Object"/>.</para>
						</summary>
						<param name="array">A one-dimensional <see cref="T:System.Array"/> to search.</param>
						<param name="value">A <see cref="T:System.Object"/> to locate in <paramref name="array"/>.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the index of the last occurrence in <paramref name="array"/> of
<paramref name="value"/>, if found; otherwise, 
<paramref name="array"/>.GetLowerBound(0) - 1. 
<block subset="none" type="note"> For a vector, if <paramref name="value"/> is not 
   found, the return value will be -1. This provides the caller with a standard code for the failed search.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/> . </exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> has more than one dimension.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.LastIndexOf(System.Array,System.Object)"/> is equivalent to <see cref="M:System.Array.LastIndexOf(System.Array,System.Object)"/>(<paramref name="array"/>, <paramref name="value"/>, (<paramref name="array"/>.GetLowerBound(0) + <paramref name="array"/>.Length - 1), <paramref name="array"/>.Length).</para>
							<para>The elements will be compared using the semantics of
   the <see cref="M:System.Object.Equals(System.Object)"/> method. For user-defined
   types, <see cref="M:System.Object.Equals(System.Object)"/>
   is actually called.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Array.LastIndexOf(System.Array,System.Object)"/> method.</para>
							<code lang="C#">using System;

public class ArrayLastIndexOfExample {

   public static void Main() {
      int[] intAry = { 0, 1, 2, 0, 1 };
      Console.Write( "The values of the array are: ");
      foreach( int i in intAry )
         Console.Write( "{0,5}", i );
      Console.WriteLine();
      int j = Array.LastIndexOf( intAry, 1 );
      Console.WriteLine( "The last occurrence of 1 is at index {0}", j );
   }
}
</code>
							<para> The output is</para>
							<c>
								<para>The values of the array are: 0 1 2 0 1</para>
								<para>The last occurrence of 1 is at index 4</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Length">
					<MemberSignature Language="ILASM" Value=".property int32 Length { public hidebysig specialname instance int32 get_Length() }"/>
					<MemberSignature Language="C#" Value="public int Length { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the total number of elements in all the dimensions
      of the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> that contains the total number of elements in all the dimensions of
   the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LongLength">
					<MemberSignature Language="ILASM" Value=".property int32 Length { public hidebysig specialname instance int32 get_LongLength() }"/>
					<MemberSignature Language="C#" Value="public long LongLength {get;}"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the total number of elements in all the dimensions of the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int64"/> value containing the length of the array.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">For additional 
      information, see <see cref="P:System.Array.Length"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Rank">
					<MemberSignature Language="ILASM" Value=".property int32 Rank { public hidebysig specialname instance int32 get_Rank() }"/>
					<MemberSignature Language="C#" Value="public int Rank { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the rank (number of dimensions) of the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> that contains the rank (number of dimensions) of the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Reverse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Reverse(class System.Array array, int32 index, int32 length)"/>
					<MemberSignature Language="C#" Value="public static void Reverse(Array array, int index, int length);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Reverses the sequence of the elements in the specified 
      range of the specified one-dimensional <see cref="T:System.Array"/>.</para>
						</summary>
						<param name="array">The one-dimensional <see cref="T:System.Array"/> to reverse.</param>
						<param name="index">A <see cref="T:System.Int32"/> that contains the index at which reversing starts.</param>
						<param name="length">A <see cref="T:System.Int32"/> that contains the number of elements to reverse.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> is multidimensional.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; <paramref name="array"/>.GetLowerBound(0).</para>
							<para>
								<paramref name="length"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="index"/> and <paramref name="length"/> do not specify a valid range in <paramref name="array"/> (i.e. <paramref name="index"/> + <paramref name="length"/> &gt; <paramref name="array"/>.GetLowerBound(0) + <paramref name="array"/>.Length).</exception>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Array.Reverse(System.Array)"/> method.</para>
							<code lang="C#">using System;
public class ArrayReverseExample {
   public static void Main() {
      string[] strAry = { "one", "two", "three" };
      Console.Write( "The elements of the array are:");
      foreach( string str in strAry )
         Console.Write( " {0}", str );
      Array.Reverse( strAry );
      Console.WriteLine();
      Console.WriteLine( "After reversing the array," );
      Console.Write( "the elements of the array are:");
      foreach( string str in strAry )
         Console.Write( " {0}", str );
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>The elements of the array are: one two three</para>
								<para>After reversing the array,</para>
								<para>the elements of the array are: three two one</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Reverse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Reverse(class System.Array array)"/>
					<MemberSignature Language="C#" Value="public static void Reverse(Array array);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Reverses the sequence of the elements in the specified one-dimensional
   <see cref="T:System.Array"/>.</para>
						</summary>
						<param name="array">The one-dimensional <see cref="T:System.Array"/> to reverse.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> has more than one dimension.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.Reverse(System.Array)"/> is equivalent to <see cref="M:System.Array.Reverse(System.Array)"/>(<paramref name="array"/>, <paramref name="array"/>.GetLowerBound(0),
<paramref name="array"/>.Length).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetValue">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void SetValue(object value, int32 index)"/>
					<MemberSignature Language="C#" Value="public void SetValue(object value, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sets the value of the element at the specified position
      in the current one-dimensional instance.</para>
						</summary>
						<param name="value">A <see cref="T:System.Object"/> that contains the new value for the specified element.</param>
						<param name="index">A <see cref="T:System.Int32"/> that contains the index of the element whose value is to be set.</param>
						<exception cref="T:System.ArgumentException">
							<para>The current instance has more than one dimension.</para>
							<para>-or-</para>
							<para>
								<paramref name="value"/> is not assignment-compatible with the element type of the current instance.</para>
						</exception>
						<exception cref="T:System.IndexOutOfRangeException">
							<para>
								<paramref name="index"/> is outside the range of valid indices for the current instance.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para>Use the <see cref="M:System.Array.GetLowerBound(System.Int32)"/> and <see cref="M:System.Array.GetUpperBound(System.Int32)"/> methods to determine whether
   <paramref name="index"/> is out of bounds.</para>
								<para> For more
      information regarding valid conversions that will be performed by this method,
      see <see cref="T:System.Convert"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetValue">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void SetValue(object value, int32 index1, int32 index2)"/>
					<MemberSignature Language="C#" Value="public void SetValue(object value, int index1, int index2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="index1" Type="System.Int32"/>
						<Parameter Name="index2" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sets the value of the element at the specified position
      in the current two-dimensional instance.</para>
						</summary>
						<param name="value">A <see cref="T:System.Object"/> that contains the new value for the specified element.</param>
						<param name="index1">A <see cref="T:System.Int32"/> that contains the first-dimension index of the element in the current instance to set. </param>
						<param name="index2">A <see cref="T:System.Int32"/> that contains the second-dimension index of the element in the current instance to set. </param>
						<exception cref="T:System.ArgumentException">
							<para>The current instance does not have exactly two dimensions.</para>
							<para>-or-</para>
							<para>
								<paramref name="value"/> is not assignment-compatible with the element type of the current instance.</para>
						</exception>
						<exception cref="T:System.IndexOutOfRangeException">At least one of <paramref name="index1"/> or <paramref name="index2"/> is outside the range of valid indices for the corresponding dimension of the current instance.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>For more information regarding valid conversions that will be performed by
         this method, see <see cref="T:System.Convert"/>.</para>
								<para>Use the <see cref="M:System.Array.GetLowerBound(System.Int32)"/> and <see cref="M:System.Array.GetUpperBound(System.Int32)"/> methods to determine whether any of the indices
      are out of bounds.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedArray</ExcludedLibrary>
				</Member>
				<Member MemberName="SetValue">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void SetValue(object value, int32 index1, int32 index2, int32 index3)"/>
					<MemberSignature Language="C#" Value="public void SetValue(object value, int index1, int index2, int index3);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="index1" Type="System.Int32"/>
						<Parameter Name="index2" Type="System.Int32"/>
						<Parameter Name="index3" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sets the value of the element at the
      specified position in the current three-dimensional instance.</para>
						</summary>
						<param name="value">A <see cref="T:System.Object"/> that contains the new value for the specified element. </param>
						<param name="index1">A <see cref="T:System.Int32"/> that contains the first-dimension index of the element in the current instance to set. </param>
						<param name="index2">A <see cref="T:System.Int32"/> that contains the second-dimension index of the element in the current instance to set. </param>
						<param name="index3">A <see cref="T:System.Int32"/> that contains the third-dimension index of the element in the current instance to set. </param>
						<exception cref="T:System.ArgumentException">
							<para>The current instance does not have exactly three dimensions.</para>
							<para>-or-</para>
							<para>
								<paramref name="value"/> is not assignment-compatible with the element type of the current instance.</para>
						</exception>
						<exception cref="T:System.IndexOutOfRangeException">At least one of <paramref name="index1"/>, <paramref name="index2"/>, or <paramref name="index3"/> is outside the range of valid indices for the corresponding dimension of the current instance.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>For more information regarding valid conversions that will be performed by
         this method, see <see cref="T:System.Convert"/>.</para>
								<para>Use the <see cref="M:System.Array.GetLowerBound(System.Int32)"/> and
   <see cref="M:System.Array.GetUpperBound(System.Int32)"/> methods to determine whether any of the indices
      are out of bounds.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedArray</ExcludedLibrary>
				</Member>
				<Member MemberName="SetValue">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void SetValue(object value, class System.Int32[] indices)"/>
					<MemberSignature Language="C#" Value="public void SetValue(object value, int[] indices);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="indices" Type="System.Int32[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the value of the element at the specified position in
      the current multidimensional instance.</para>
						</summary>
						<param name="value">A <see cref="T:System.Object"/> that contains the new value for the specified element. </param>
						<param name="indices">A one-dimensional array of <see cref="T:System.Int32"/> objects that contains the indices that specify the position of the element in the current instance to set. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="indices"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<para>The number of dimensions in the current instance is not equal to the number of elements in <paramref name="indices"/>. </para>
							<para>-or- </para>
							<para>
								<paramref name="value"/> is not assignment-compatible with the element type of the current instance.</para>
						</exception>
						<exception cref="T:System.IndexOutOfRangeException">
							<para>At least one element in <paramref name="indices"/> is outside the range of valid indices for the corresponding dimension of the current instance.</para>
						</exception>
						<remarks>
							<para>The number of elements in <paramref name="indices"/> is required to be equal to the number of
   dimensions in the current instance. All elements in <paramref name="indices"/> collectively specify the position of the
   desired element in the current instance.</para>
							<block subset="none" type="note">
								<para>For more information regarding valid conversions that will be performed by
      this method, see <see cref="T:System.Convert"/>.</para>
								<para>Use the <see cref="M:System.Array.GetLowerBound(System.Int32)"/> and <see cref="M:System.Array.GetUpperBound(System.Int32)"/> methods to determine whether any
   of the values in <paramref name="indices"/> is out of bounds.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedArray</ExcludedLibrary>
				</Member>
				<Member MemberName="Sort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Sort(class System.Array keys, class System.Array items, int32 index, int32 length, class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public static void Sort(Array keys, Array items, int index, int length, IComparer comparer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="keys" Type="System.Array"/>
						<Parameter Name="items" Type="System.Array"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sorts the specified range of the specified pair of one-dimensional <see cref="T:System.Array"/> objects (one
   containing a set of keys and the other containing corresponding items) based on
   the keys in the first specified <see cref="T:System.Array"/> using the specified <see cref="T:System.Collections.IComparer"/>
   implementation.</para>
						</summary>
						<param name="keys">A one-dimensional <see cref="T:System.Array"/> that contains the keys to sort.</param>
						<param name="items">
							<para>A one-dimensional <see cref="T:System.Array"/> that contains the items that correspond to each element of <paramref name="keys"/>. Specify a null reference to sort only <paramref name="keys"/>.</para>
						</param>
						<param name="index">A <see cref="T:System.Int32"/> that contains the index at which sorting starts.</param>
						<param name="length">A <see cref="T:System.Int32"/> that contains the number of elements to sort.</param>
						<param name="comparer">
							<para>The <see cref="T:System.Collections.IComparer"/> implementation to use when comparing elements. Specify a null reference to use the <see cref="T:System.IComparable"/> implementation of each element.</para>
						</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="keys"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.RankException">
							<para>
								<paramref name="keys"/> has more than one dimension.</para>
							<para>-or-</para>
							<para>
								<paramref name="items"/> is not a null reference and has more than one dimension.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; <paramref name="keys"/>.GetLowerBound(0).</para>
							<para>-or-</para>
							<para>
								<paramref name="length"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="items"/> is not a null reference, and <paramref name="keys"/>.GetLowerBound(0) does not equal <paramref name="items"/>.GetLowerBound(0). </para>
							<para>-or- </para>
							<para>
								<paramref name="index"/> and <paramref name="length"/> do not specify a valid range in <paramref name="key"/>. </para>
							<para>-or- </para>
							<para>
								<paramref name="items"/> is not a null reference, and <paramref name="index"/> and <paramref name="length"/> do not specify a valid range in <paramref name="items"/>. </para>
							<para>-or-</para>
							<para>
								<paramref name="comparer"/> is a null reference, and one or more elements in <paramref name="keys"/> do not implement the <see cref="T:System.IComparable"/> interface. </para>
						</exception>
						<remarks>
							<para> Each key in <paramref name="keys"/> is required to have
   a corresponding item in <paramref name="items"/>. The sort is performed according to the
   order of <paramref name="keys"/>. After a key is repositioned during the sort,
   the corresponding item in <paramref name="items"/> is similarly repositioned. Only
<paramref name="keys"/>.Length elements of <paramref name="items"/> will be sorted. Therefore, 
<paramref name="items"/> is sorted according to the arrangement of
   the corresponding keys in <paramref name="keys"/>. If the sort is not successfully
   completed, the results are undefined.</para>
							<para>If <paramref name="comparer"/> is a null reference, each element
of <paramref name="keys"/> is required to implement the <see cref="T:System.IComparable"/> interface to be capable of comparisons
with every other element in <paramref name="keys"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Sort(class System.Array array, int32 index, int32 length, class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public static void Sort(Array array, int index, int length, IComparer comparer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sorts the elements in the specified section of the
      specified one-dimensional <see cref="T:System.Array"/>
      using the specified <see cref="T:System.Collections.IComparer"/>
      implementation.</para>
						</summary>
						<param name="array">A one-dimensional <see cref="T:System.Array"/> to sort.</param>
						<param name="index">A <see cref="T:System.Int32"/> that contains the index at which sorting starts.</param>
						<param name="length">A <see cref="T:System.Int32"/> that contains the number of elements to sort.</param>
						<param name="comparer">
							<para>The <see cref="T:System.Collections.IComparer"/> implementation to use when comparing elements. Specify a null reference to use the <see cref="T:System.IComparable"/> implementation of each element.</para>
						</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>. </exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> has more than one dimension. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; <paramref name="array"/>.GetLowerBound(0).</para>
							<para>-or-</para>
							<para>
								<paramref name="length"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="index"/> and <paramref name="length"/> do not specify a valid range in <paramref name="array"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="comparer"/> is a null reference, and one or more elements in <paramref name="array"/> do not implement the <see cref="T:System.IComparable"/> interface.</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.Sort(System.Array)"/> is equivalent to <see cref="M:System.Array.Sort(System.Array)"/>(<paramref name="array"/>, <see langword="null"/>, <paramref name="index"/>, <paramref name="length"/>, <paramref name="comparer"/>).</para>
							<para>If <paramref name="comparer"/> is a null reference, each element
of <paramref name="array"/> is required to implement the <see cref="T:System.IComparable"/> interface to be capable of comparisons
with every other element in <paramref name="array"/>. If the sort is not successfully
completed, the results are unspecified.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Sort(class System.Array keys, class System.Array items, class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public static void Sort(Array keys, Array items, IComparer comparer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="keys" Type="System.Array"/>
						<Parameter Name="items" Type="System.Array"/>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sorts the specified pair of one-dimensional
   <see cref="T:System.Array"/> objects (one
      containing a set of keys and the other containing corresponding items) based on
      the keys in the first specified <see cref="T:System.Array"/> using the specified <see cref="T:System.Collections.IComparer"/> implementation.</para>
						</summary>
						<param name="keys">A one-dimensional <see cref="T:System.Array"/> that contains the keys to sort.</param>
						<param name="items">
							<para>A one-dimensional <see cref="T:System.Array"/> that contains the items that correspond to each element in <paramref name="keys"/>. Specify a null reference to sort only <paramref name="keys"/>.</para>
						</param>
						<param name="comparer">
							<para>The <see cref="T:System.Collections.IComparer"/> implementation to use when comparing elements. Specify a null reference to use the <see cref="T:System.IComparable"/> implementation of each element.</para>
						</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="keys"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.RankException">
							<para>
								<paramref name="keys"/> has more than one dimension.</para>
							<para>-or-</para>
							<para>
								<paramref name="items"/> is not a null reference and has more than one dimension.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="items"/> is not a null reference, and <paramref name="keys"/>.GetLowerBound(0) does not equal <paramref name="items"/>.GetLowerBound(0). </para>
							<para>-or-</para>
							<para>
								<paramref name="items"/> is not a null reference, and <paramref name="keys"/>.Length &gt; <paramref name="items"/>.Length.</para>
							<para>-or-</para>
							<para>
								<paramref name="comparer"/> is a null reference, and one or more elements in the <paramref name="keys"/> do not implement the <see cref="T:System.IComparable"/> interface. </para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.Sort(System.Array)"/> is equivalent to <see cref="M:System.Array.Sort(System.Array)"/>(<paramref name="keys"/>, <paramref name="items"/>, <paramref name="keys"/>.GetLowerBound(0), <paramref name="keys"/>.Length, <paramref name="comparer"/>).</para>
							<para> Each key in <paramref name="keys"/> is required to have
a corresponding item in <paramref name="items"/>. The sort is performed according to the order of
<paramref name="keys"/> . After a key is repositioned during the sort, the 
corresponding item in <paramref name="items"/> is similarly repositioned. Only
<paramref name="keys"/>.Length elements of <paramref name="items"/> are sorted. Therefore, 
<paramref name="items"/>
is sorted according to the arrangement of the corresponding keys in
<paramref name="keys"/>. If
the sort is not successfully completed, the results are unspecified.</para>
							<para>If <paramref name="comparer"/> is a null reference, each element
of <paramref name="keys"/> is required to implement the <see cref="T:System.IComparable"/> interface to be capable of comparisons
with every other element in <paramref name="keys"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Sort(class System.Array array, class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public static void Sort(Array array, IComparer comparer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sorts the elements in the specified one-dimensional <see cref="T:System.Array"/> using the
   specified <see cref="T:System.Collections.IComparer"/> implementation.</para>
						</summary>
						<param name="array">The one-dimensional <see cref="T:System.Array"/> to sort.</param>
						<param name="comparer">
							<para>The <see cref="T:System.Collections.IComparer"/> implementation to use when comparing elements. Specify a null reference to use the <see cref="T:System.IComparable"/> implementation of each element.</para>
						</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>. </exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> has more than one dimension. </exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="comparer"/> is a null reference, and one or more elements in <paramref name="array"/> do not implement the <see cref="T:System.IComparable"/> interface.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.Sort(System.Array)"/> is equivalent to <see cref="M:System.Array.Sort(System.Array)"/>(<paramref name="array"/>, <see langword="null"/>, <paramref name="array"/>.GetLowerBound(0), <paramref name="array"/>.Length,
<paramref name="comparer"/>).</para>
							<para>If <paramref name="comparer"/> is a null reference, each element
of <paramref name="array"/> is required to implement the <see cref="T:System.IComparable"/> interface to be capable of comparisons
with every other element in <paramref name="array"/>. If the sort is not successfully
completed, the results are unspecified.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Sort(class System.Array keys, class System.Array items, int32 index, int32 length)"/>
					<MemberSignature Language="C#" Value="public static void Sort(Array keys, Array items, int index, int length);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="keys" Type="System.Array"/>
						<Parameter Name="items" Type="System.Array"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sorts the specified ranges of the specified pair of
      one-dimensional <see cref="T:System.Array"/>
      objects (one containing a set of keys and the other containing corresponding
      items) based on the keys in the first specified <see cref="T:System.Array"/>.</para>
						</summary>
						<param name="keys">A one-dimensional <see cref="T:System.Array"/> that contains the keys to sort.</param>
						<param name="items">A one-dimensional <see cref="T:System.Array"/> that contains the items that correspond to each element in <paramref name="keys"/>. Specify a null reference to sort only <paramref name="keys"/>.</param>
						<param name="index">A <see cref="T:System.Int32"/> that contains the index at which sort begins.</param>
						<param name="length">A <see cref="T:System.Int32"/> that contains the number of elements to sort.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="keys"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.RankException">
							<para>
								<paramref name="keys"/> has more than one dimension.</para>
							<para> -or-</para>
							<para>
								<paramref name="items"/> is not a null reference and has more than one dimension.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; <paramref name="keys"/>.GetLowerBound(0).</para>
							<para>-or-</para>
							<para>
								<paramref name="length"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="items"/> is not a null reference, and <paramref name="keys"/>.GetLowerBound(0) does not equal <paramref name="items"/>.GetLowerBound(0). </para>
							<para>-or- </para>
							<para>
								<paramref name="index"/> and <paramref name="length"/> do not specify a valid range in <paramref name="key"/>. </para>
							<para>-or- </para>
							<para>
								<paramref name="items"/> is not a null reference, and <paramref name="index"/> and <paramref name="length"/> do not specify a valid range in <paramref name="items"/>. </para>
							<para>-or-</para>
							<para>One or more elements in <paramref name="keys"/> do not implement the <see cref="T:System.IComparable"/> interface.</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.Sort(System.Array)"/> is equivalent to <see cref="M:System.Array.Sort(System.Array)"/>(<paramref name="keys"/>, <paramref name="items"/>, <paramref name="index"/>, <paramref name="length"/>, <see langword="null"/>).</para>
							<para> Each key in <paramref name="keys"/> is
required to have
a corresponding item in <paramref name="items"/>. The sort is performed according to the
order of <paramref name="keys"/> . After a key is repositioned during the sort,
the corresponding item in <paramref name="items"/> is similarly
repositioned. Therefore, <paramref name="items"/> is sorted according to the arrangement of
the corresponding keys in <paramref name="keys"/>. If the sort is not successfully
completed, the results are undefined.</para>
							<para>Each element of <paramref name="keys"/> is
required to implement the <see cref="T:System.IComparable"/> interface to
be capable of comparisons with every other element in <paramref name="keys"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Sort(class System.Array array)"/>
					<MemberSignature Language="C#" Value="public static void Sort(Array array);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sorts the elements of the specified one-dimensional <see cref="T:System.Array"/>.</para>
						</summary>
						<param name="array">A one-dimensional <see cref="T:System.Array"/> to sort.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> has more than one dimension.</exception>
						<exception cref="T:System.ArgumentException">One or more elements in <paramref name="array"/> do not implement the <see cref="T:System.IComparable"/> interface.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.Sort(System.Array)"/> is equivalent to <see cref="M:System.Array.Sort(System.Array)"/>(<paramref name="array"/>, <see langword="null"/>, <paramref name="array"/>.GetLowerBound(0),
<paramref name="array"/>.Length, <see langword="null"/>).</para>
							<para>Each element of <paramref name="array"/> is
required to implement
the <see cref="T:System.IComparable"/> interface to be capable of comparisons with every other
element in array.</para>
						</remarks>
						<example>
							<para>This example demonstrates the <see cref="M:System.Array.Sort(System.Array)"/> method.</para>
							<code lang="C#">using System;
public class ArraySortExample {
   public static void Main() {
      string[] strAry = { "All's", "well", "that", "ends", "well" };
      Console.Write( "The original string array is: " );
      foreach ( String str in strAry )
         Console.Write( str + " " );
      Console.WriteLine();
      Array.Sort( strAry );
      Console.Write( "The sorted string array is: " );
      foreach ( string str in strAry )
         Console.Write( str + " " );
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>The original string array is: All's well that ends well</para>
								<para>The sorted string array is: All's ends that well well</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Sort(class System.Array keys, class System.Array items)"/>
					<MemberSignature Language="C#" Value="public static void Sort(Array keys, Array items);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="keys" Type="System.Array"/>
						<Parameter Name="items" Type="System.Array"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sorts the specified pair of one-dimensional <see cref="T:System.Array"/> objects (one
   containing a set of keys and the other containing corresponding items) based on
   the keys in the first specified <see cref="T:System.Array"/>.</para>
						</summary>
						<param name="keys">A one-dimensional <see cref="T:System.Array"/> that contains the keys to sort.</param>
						<param name="items">
							<para>A one-dimensional <see cref="T:System.Array"/> that contains the items that correspond to each of element of <paramref name="keys"/>. Specify a null reference to sort only <paramref name="keys"/>.</para>
						</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="keys"/> is <see langword="null"/>. </para>
						</exception>
						<exception cref="T:System.RankException">
							<para>
								<paramref name="keys"/> has more than one dimension.</para>
							<para>-or-</para>
							<para>
								<paramref name="items"/> is not a null reference and has more than one dimension.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="items"/> is not a null reference, and <paramref name="keys"/>.GetLowerBound(0) does not equal <paramref name="items"/>.GetLowerBound(0).</para>
							<para>-or-</para>
							<para>
								<paramref name="items"/> is not a null reference, and <paramref name="keys"/>.Length &gt; <paramref name="items"/>.Length.</para>
							<para>-or-</para>
							<para>One or more elements in <paramref name="keys"/> do not implement the <see cref="T:System.IComparable"/> interface.</para>
						</exception>
						<remarks>
							<para> This version of <see cref="M:System.Array.Sort(System.Array)"/> is equivalent to <see cref="M:System.Array.Sort(System.Array)"/>(<paramref name="keys"/>, <paramref name="items"/>, <paramref name="keys"/>.GetLowerBound(0), <paramref name="keys"/>.Length, <see langword="null"/>).</para>
							<para> Each key in <paramref name="keys"/> is required to have
a corresponding item in <paramref name="items"/>. The sort is performed according to the
order of <paramref name="keys"/> . After a key is repositioned during the sort,
the corresponding item in <paramref name="items"/> is similarly repositioned. Only
<paramref name="keys"/>.Length elements of 
<paramref name="items"/> are sorted. Therefore, 
<paramref name="items"/>
is sorted according to the arrangement of the corresponding keys in
<paramref name="keys"/>. If
the sort is not successfully completed, the results are unspecified.</para>
							<para>Each element of <paramref name="keys"/> is
required to implement
the <see cref="T:System.IComparable"/> interface to be capable of comparisons with every other
element in <paramref name="keys"/>.</para>
						</remarks>
						<example>
							<para>This example demonstrates the <see cref="M:System.Array.Sort(System.Array)"/> method.</para>
							<code lang="C#">using System;
public class ArraySortExample {
   public static void Main() {
      string[] strAry = { "All's", "well", "that", "ends", "well" };
      int[] intAry = { 3, 4, 0, 1, 2 };
      Console.Write( "The original string array is: " );
      foreach ( string str in strAry )
         Console.Write( str + " " );
      Console.WriteLine();
      Console.Write( "The key array is: " );
      foreach ( int i in intAry )
         Console.Write( i + " " );
      Console.WriteLine();
      Array.Sort( intAry, strAry );
      Console.Write( "The sorted string array is: " );
      foreach ( string str in strAry )
         Console.Write( str + " " );
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>The original string array is: All's well that ends well</para>
								<para>The key array is: 3 4 0 1 2</para>
								<para>The sorted string array is: that ends well All's well</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Sort(class System.Array array, int32 index, int32 length)"/>
					<MemberSignature Language="C#" Value="public static void Sort(Array array, int index, int length);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sorts the elements in the specified range of the
      specified one-dimensional <see cref="T:System.Array"/>.</para>
						</summary>
						<param name="array">A one-dimensional <see cref="T:System.Array"/> to sort.</param>
						<param name="index">A <see cref="T:System.Int32"/> that contains the index at which sorting starts.</param>
						<param name="length">A <see cref="T:System.Int32"/> that contains the number of elements to sort.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>. </exception>
						<exception cref="T:System.RankException">
							<paramref name="array"/> has more than one dimension. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; <paramref name="array"/>.GetLowerBound(0).</para>
							<para>-or-</para>
							<para>
								<paramref name="length"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="index"/> and <paramref name="length"/> do not specify a valid range in <paramref name="array"/>.</para>
							<para>-or-</para>
							<para>One or more elements in <paramref name="array"/> do not implement the <see cref="T:System.IComparable"/> interface.</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.Array.Sort(System.Array)"/> is equivalent to <see cref="M:System.Array.Sort(System.Array)"/>(<paramref name="array"/>,
<see langword="null"/> , <paramref name="index"/>, <paramref name="length"/>, 
<see langword="null"/>).</para>
							<para>Each element of <paramref name="array"/> is
required to implement
the <see cref="T:System.IComparable"/> interface to be capable of comparisons with every other
element in <paramref name="array"/>. If the sort is not successfully completed, the
results are unspecified.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SyncRoot">
					<MemberSignature Language="ILASM" Value=".property object ICollection.SyncRoot { public hidebysig virtual abstract specialname object get_ICollection.SyncRoot() }"/>
					<MemberSignature Language="C#" Value="object ICollection.SyncRoot { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.ICollection"/> interface. [Note: For more information, see <see cref="M:System.Collections.ICollection.SyncRoot"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.Collections.ICollection.Count">
					<MemberSignature Language="ILASM" Value=".property int32 ICollection.Count { public hidebysig virtual abstract specialname int32 get_ICollection.Count() }"/>
					<MemberSignature Language="C#" Value="int ICollection.Count { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.ICollection"/> interface. [Note: For more information, see <see cref="M:System.Collections.ICollection.Count"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.Collections.IList.Add">
					<MemberSignature Language="ILASM" Value=".method private final hidebysig virtual int32 System.Collections.IList.Add(object value)"/>
					<MemberSignature Language="C#" Value="int IList.Add(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IList"/> interface. [Note: For more information, see <see cref="M:System.Collections.IList.Add"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.Collections.IList.Clear">
					<MemberSignature Language="ILASM" Value=".method private final hidebysig virtual void System.Collections.IList.Clear()"/>
					<MemberSignature Language="C#" Value="void IList.Clear();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IList"/> interface. [Note: For more information, see <see cref="M:System.Collections.IList.Clear"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.Collections.IList.Contains">
					<MemberSignature Language="ILASM" Value=".method private final hidebysig virtual bool System.Collections.IList.Contains(object value)"/>
					<MemberSignature Language="C#" Value="bool IList.Contains(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IList"/> interface. [Note: For more information, see <see cref="M:System.Collections.IList.Contains"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.Collections.IList.IndexOf">
					<MemberSignature Language="ILASM" Value=".method private final hidebysig virtual int32 System.Collections.IList.IndexOf(object value)"/>
					<MemberSignature Language="C#" Value="int IList.IndexOf(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IList"/> interface. [Note: For more information, see <see cref="M:System.Collections.IList.IndexOf"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.Collections.IList.Insert">
					<MemberSignature Language="ILASM" Value=".method private final hidebysig virtual void System.Collections.IList.Insert(int32 index, object value)"/>
					<MemberSignature Language="C#" Value="void IList.Insert(int index, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IList"/> interface. [Note: For more information, see <see cref="M:System.Collections.IList.Insert"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.Collections.IList.Item">
					<MemberSignature Language="ILASM" Value=".property object IList.Item[int32 index] { public hidebysig virtual abstract specialname object get_IList.Item(int32 index) public hidebysig virtual abstract specialname void set_IList.Item(int32 index, object value) }"/>
					<MemberSignature Language="C#" Value="public virtual object this[int index] { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IList"/> interface. [Note: For more information, see <see cref="M:System.Collections.IList.Item"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.Collections.IList.Remove">
					<MemberSignature Language="ILASM" Value=".method private final hidebysig virtual void System.Collections.IList.Remove(object value)"/>
					<MemberSignature Language="C#" Value="void IList.Remove(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IList"/> interface. [Note: For more information, see <see cref="M:System.Collections.IList.Remove"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.Collections.IList.RemoveAt">
					<MemberSignature Language="ILASM" Value=".method private final hidebysig virtual void System.Collections.IList.RemoveAt(int32 index)"/>
					<MemberSignature Language="C#" Value="void IList.RemoveAt(int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IList"/> interface. [Note: For more information, see <see cref="M:System.Collections.IList.RemoveAt"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ArrayList" FullName="System.Collections.ArrayList" FullNameSP="System_Collections_ArrayList">
			<TypeSignature Language="ILASM" Value=".class public serializable ArrayList extends System.Object implements System.ICloneable, System.Collections.ICollection, System.Collections.IEnumerable, System.Collections.IList"/>
			<TypeSignature Language="C#" Value="public class ArrayList : ICloneable, ICollection, IEnumerable, IList"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This class is safe for multiple readers and no concurrent writers.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Implements a variable-size <see cref="T:System.Collections.IList"/> that uses an array of objects to store its elements.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Collections.ArrayList"/> implements a variable-size <see cref="T:System.Collections.IList"/> that uses an array of
   objects to store the elements. A <see cref="T:System.Collections.ArrayList"/> has a <see cref="P:System.Collections.ArrayList.Capacity"/>,
   which is the allocated length of the internal array. The total number of
   elements contained by a list is its <see cref="P:System.Collections.ArrayList.Count"/>. As elements are added to a list, its capacity
   
   is automatically increased as required
   by reallocating the internal array.</para>
				</remarks>
				<example>
					<para> The following example shows how to create, initialize, and display the values of a <see cref="T:System.Collections.ArrayList"/>.</para>
					<code lang="C#">using System; 
using System.Collections; 

public class SamplesArrayList { 

  public static void Main() { 

  // Create and initialize a new ArrayList. 
  ArrayList myAL = new ArrayList(); 
  myAL.Add("Hello"); 
  myAL.Add("World"); 
  myAL.Add("!"); 

  // Display the properties and values of the ArrayList. 
  Console.WriteLine( "myAL" ); 
  Console.WriteLine( "Count: {0}", myAL.Count ); 
  Console.WriteLine( "Capacity: {0}", myAL.Capacity ); 
  Console.Write( "Values:" ); 
  PrintValues( myAL ); 
  } 

public static void PrintValues( IEnumerable myList ) { 

  IEnumerator myEnumerator = myList.GetEnumerator(); 
  while ( myEnumerator.MoveNext() ) 
    Console.Write( " {0}", myEnumerator.Current ); 
    Console.WriteLine(); 
  } 
}
</code>
					<para>The output is </para>
					<para>
						<c>
   myAL</c>
					</para>
					<para>
						<c>Count: 3 </c>
					</para>
					<para>
						<c>Capacity: 16 </c>
					</para>
					<para>
						<c>Values: Hello World !</c>
					</para>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Collections.IList</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.Collections.ICollection</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.Collections.IEnumerable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.ICloneable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Attributes>
				<Attribute>
					<AttributeName>DefaultMemberAttribute("Item")</AttributeName>
					<Excluded>1</Excluded>
					<ExcludedTypeName>System.Reflection.DefaultMemberAttribute</ExcludedTypeName>
					<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public ArrayList();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Collections.ArrayList"/> class that is
   empty and has the default initial <see cref="P:System.Collections.ArrayList.Capacity"/>
   .</para>
						</summary>
						<remarks>
							<para> The default initial <see cref="P:System.Collections.ArrayList.Capacity"/> of a <see cref="T:System.Collections.ArrayList"/>
is 16.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 capacity)"/>
					<MemberSignature Language="C#" Value="public ArrayList(int capacity);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="capacity" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Collections.ArrayList"/> class that is
   empty and has the specified initial <see cref="P:System.Collections.ArrayList.Capacity"/>
   .</para>
						</summary>
						<param name="capacity">A <see cref="T:System.Int32"/> that specifies the number of elements that the new instance is initially capable of storing.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="capacity"/> &lt; 0.</exception>
						<remarks>
							<para> If
   <paramref name="capacity"/> is zero,
      the <see cref="P:System.Collections.ArrayList.Capacity"/>
      of the current
      instance is set to 16 when the first
      element is added.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Collections.ICollection c)"/>
					<MemberSignature Language="C#" Value="public ArrayList(ICollection c);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="c" Type="System.Collections.ICollection"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Collections.ArrayList"/> class with the
   elements from the specified <see cref="T:System.Collections.ICollection"/>. The initial <see cref="P:System.Collections.ArrayList.Count"/> and <see cref="P:System.Collections.ArrayList.Capacity"/> of the new
   list are
   both equal to the number of elements in the specified collection.</para>
						</summary>
						<param name="c">The <see cref="T:System.Collections.ICollection"/> whose elements are copied to the new list.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="c"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>The elements in the new <see cref="T:System.Collections.ArrayList"/> instance are in the same order as
   contained in
<paramref name="c"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Adapter">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Collections.ArrayList Adapter(class System.Collections.IList list)"/>
					<MemberSignature Language="C#" Value="public static ArrayList Adapter(IList list);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.ArrayList</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="list" Type="System.Collections.IList"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Creates a <see cref="T:System.Collections.ArrayList"/> that is a wrapper for the specified <see cref="T:System.Collections.IList"/>.</para>
						</summary>
						<param name="list">The <see cref="T:System.Collections.IList"/> to wrap. </param>
						<returns>
							<para>The <see cref="T:System.Collections.ArrayList"/> wrapper for <paramref name="list"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="list"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>This method returns a <see cref="T:System.Collections.ArrayList"/> that contains a reference to
   the <see cref="T:System.Collections.IList"/>
								<paramref name="list"/> . Any modifications to the elements in either
   the returned list or <paramref name="list"/> are reflected in the other.</para>
							<para>
								<block subset="none" type="note">The <see cref="T:System.Collections.ArrayList"/> class provides generic
<see cref="M:System.Collections.ArrayList.Reverse"/>, <see cref="M:System.Collections.ArrayList.BinarySearch(System.Int32,System.Int32,System.Object,System.Collections.IComparer)"/> and <see cref="M:System.Collections.ArrayList.Sort"/> 
methods. This wrapper provides a means
to use those methods on <see cref="T:System.Collections.IList"/>
									<paramref name="list"/> without implementing the methods for
the list. Performing these operations through the wrapper may be less
efficient than operations applied directly to the list.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Add">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Add(object value)"/>
					<MemberSignature Language="C#" Value="public virtual int Add(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds the specified <see cref="T:System.Object"/> to the end of the current instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to be added to the end of the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that specifies the index of the current instance at which <paramref name="value"/> has
   been added.</para>
						</returns>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddRange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void AddRange(class System.Collections.ICollection c)"/>
					<MemberSignature Language="C#" Value="public virtual void AddRange(ICollection c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Collections.ICollection"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds the elements of the specified <see cref="T:System.Collections.ICollection"/> to the end of the current instance.</para>
						</summary>
						<param name="c">The <see cref="T:System.Collections.ICollection"/> whose elements are added to the end of the current instance.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="c"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default"> If the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance plus the size of the collection being added is greater
   than the <see cref="P:System.Collections.ArrayList.Capacity"/> of the current instance, the
   capacity of the current instance is either doubled or increased
   to the new <see cref="P:System.Collections.ArrayList.Count"/>,
   whichever is greater. The internal array is reallocated to accommodate the new
   elements and the existing elements are copied to the new array before the new
   elements are added.</block>
							</para>
							<para>
								<block subset="none" type="note">For the default implementation, if the current
   instance can accommodate the new elements
   without increasing the <see cref="P:System.Collections.ArrayList.Capacity"/>, this method is an
   O(<paramref name="n"/>) operation, where <paramref name="n"/> is the number of elements to be added.
   If the capacity needs to be increased to accommodate the new elements, this
   method becomes an O(<paramref name="n"/>+<paramref name="m"/>) operation, where <paramref name="n"/> is the
   number of elements to be added and <paramref name="m"/> is <see cref="P:System.Collections.ArrayList.Count"/>
   .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BinarySearch">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 BinarySearch(object value, class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public virtual int BinarySearch(object value, IComparer comparer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the current instance for the specified <see cref="T:System.Object"/> using the
   specified <see cref="T:System.Collections.IComparer"/>
   implementation.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> for which to search.</param>
						<param name="comparer">
							<para>The <see cref="T:System.Collections.IComparer"/> implementation to use when comparing elements. Specify <see langword="null"/> to use the <see cref="T:System.IComparable"/> implementation of each element.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that
   specifies the results of the search as follows:</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> The index of <paramref name="value"/> in the current
      instance.</term>
									<description>
										<paramref name="value"/> was found.</description>
								</item>
								<item>
									<term> The
      bitwise
      complement of the index of the first element
      that is greater than <paramref name="value"/>.</term>
									<description>
										<paramref name="value"/> was not found, and at least one
   element in the current instance is greater than <paramref name="value"/>.</description>
								</item>
								<item>
									<term> The bitwise complement of the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</term>
									<description>
										<paramref name="value"/> was not found, and <paramref name="value"/>
is greater than all elements in the current
instance.</description>
								</item>
							</list>
							<para>
								<block subset="none" type="note">If <paramref name="value"/> is not found and the current instance is already sorted, the
bitwise complement of the return value indicates the index in the current instance
where <paramref name="value"/> would be
found.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="comparer"/> is <see langword="null"/>, and both <paramref name="value"/> and at least one element in the current instance do not implement the <see cref="T:System.IComparable"/> interface.</para>
							<para>-or-</para>
							<para>
								<paramref name="comparer"/> is <see langword="null"/>, and <paramref name="value"/> is not assignment-compatible with at least one element in the current instance.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">A null reference can be compared with
      any type; therefore, comparisons with a null reference do not generate
      exceptions. A null reference evaluates to less than any non-null object, or
      equal to another null reference, when the two are compared.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<block subset="none" type="default">
								<para>This method uses <see cref="M:System.Array.BinarySearch(System.Array,System.Object)" qualify="true"/> to
      search for <paramref name="value"/>.</para>
								<para>
									<paramref name="value"/> is compared to elements in a binary search of the current instance until an
   element with a value greater than or equal to <paramref name="value"/> is found. If
<paramref name="comparer"/> is <see langword="null"/>, the <see cref="T:System.IComparable"/> implementation of the element being compared 
   -- or of <paramref name="value"/> if the element being compared does not implement the
   interface -- is used to make the comparison. If <paramref name="value"/> does not implement
   the <see cref="T:System.IComparable"/> interface and is compared to an element
   that does not implement the interface either, <see cref="T:System.ArgumentException"/>
   is thrown. If the current instance is not already sorted, correct
   results are not guaranteed.</para>
							</block>
							<para>
								<block subset="none" type="note">For the default implementation, this method is an
   O(log<subscript term="2"/>
									<paramref name="n"/>) operation where <paramref name="n"/> is equal to the <see cref="P:System.Collections.ArrayList.Count"/> of the
   current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BinarySearch">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 BinarySearch(object value)"/>
					<MemberSignature Language="C#" Value="public virtual int BinarySearch(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the current instance for the specified <see cref="T:System.Object"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> for which to search.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that
   specifies the results of the search as follows:</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> The index of <paramref name="value"/> in the current
      instance.</term>
									<description>
										<paramref name="value"/> was found.</description>
								</item>
								<item>
									<term> The
      bitwise complement
      of the index of the first element
      that is greater than <paramref name="value"/>.</term>
									<description>
										<paramref name="value"/> was not found, and at least one
   element in the current instance is greater than
<paramref name="value"/>.</description>
								</item>
								<item>
									<term> The bitwise complement of the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</term>
									<description>
										<paramref name="value"/> was not found, and <paramref name="value"/>
is greater than all elements in the current
instance.</description>
								</item>
							</list>
							<para>
								<block subset="none" type="note">If <paramref name="value"/> is not found and the current instance is already sorted, the
bitwise complement of the return value indicates the index in the current instance
where <paramref name="value"/> would be
found.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para> Both <paramref name="value"/> and at least one element of the current instance do not implement the <see cref="T:System.IComparable"/> interface.</para>
							<para>-or-</para>
							<para>
								<paramref name="value"/> is not assignment-compatible with at least one element in the current instance.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">A null reference can be compared with
      any type; therefore, comparisons with a null reference do not generate
      exceptions. A null reference evaluates to less than any non-null object, or
      equal to another null reference, when the two are compared.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<block subset="none" type="default">
								<para>This method uses <see cref="M:System.Array.BinarySearch(System.Array,System.Object)" qualify="true"/> to
      search for <paramref name="value"/>.</para>
								<para>
									<paramref name="value"/> is compared to elements in a binary search of the current instance until an
   element with a value greater than or equal to <paramref name="value"/> is found. The
<see cref="T:System.IComparable"/> implementation of the element being compared 
   -- or of <paramref name="value"/> if the element being compared does not implement the
   interface -- is used to make the comparison. If <paramref name="value"/> does not implement
   the <see cref="T:System.IComparable"/> interface and is compared to an element
   that does not implement the interface either, <see cref="T:System.ArgumentException"/> is thrown. If the
   current instance is not already sorted, correct results are not guaranteed.</para>
							</block>
							<para>
								<block subset="none" type="note">For the default implementation, this method is an
   O(log<subscript term="2"/>
									<paramref name="n"/>) operation where <paramref name="n"/> is equal to the <see cref="P:System.Collections.ArrayList.Count"/> of the
   current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BinarySearch">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 BinarySearch(int32 index, int32 count, object value, class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public virtual int BinarySearch(int index, int count, object value, IComparer comparer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the specified range in the current instance
      for the specified <see cref="T:System.Object"/> using the specified <see cref="T:System.Collections.IComparer"/>
      implementation.</para>
						</summary>
						<param name="index">
							<para>A <see cref="T:System.Int32"/> that specifies the index at which searching starts. This value is greater than or equal to zero, and less than the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</para>
						</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of elements to search, beginning with <paramref name="index"/> . This value is greater than or equal to zero, and less than or equal to the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus <paramref name="index"/>.</param>
						<param name="value">The <see cref="T:System.Object"/> for which to search.</param>
						<param name="comparer">The <see cref="T:System.Collections.IComparer"/> implementation to use when comparing elements. Specify <see langword="null"/> to use the <see cref="T:System.IComparable"/> implementation of each element.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that
   specifies the results of the search as follows:</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> The index of <paramref name="value"/> in the current
      instance.</term>
									<description>
										<paramref name="value"/> was found.</description>
								</item>
								<item>
									<term> The
      bitwise complement
      of the index of the first element that is
      greater than <paramref name="value"/>.</term>
									<description>
										<paramref name="value"/> was not found, and at
   least one element in the range of <paramref name="index"/> to <paramref name="index"/> +
<paramref name="count"/> - 1 in the current instance is greater than
<paramref name="value"/>.</description>
								</item>
								<item>
									<term> The bitwise complement of (<paramref name="index"/> +
<paramref name="count"/>)</term>
									<description>
										<paramref name="value"/> was not found, and
<paramref name="value"/> is greater than all elements in the range of 
<paramref name="index"/> to <paramref name="index"/> + <paramref name="count"/> - 1 in the current 
instance.</description>
								</item>
							</list>
							<para>
								<block subset="none" type="note">If <paramref name="value"/> is not found and the current instance is already sorted, the
bitwise complement of the return value indicates the index in the current instance
where <paramref name="value"/> would be found in the range of <paramref name="index"/> to
<paramref name="index"/> + <paramref name="count"/> - 1.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<see cref="P:System.Collections.ArrayList.Count"/> of the current instance - <paramref name="index"/> &lt; <paramref name="count"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="comparer"/> is <see langword="null"/>, and both <paramref name="value"/> and at least one element of the current instance do not implement the <see cref="T:System.IComparable"/> interface.</para>
							<para>-or-</para>
							<para>
								<paramref name="comparer"/> is <see langword="null"/>, and <paramref name="value"/> is not assignment-compatible with at least one element in the current instance.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0.</para>
							<para>-or-</para>
							<paramref name="count"/> &lt; 0.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">A null reference can be compared with
      any type; therefore, comparisons with a null reference do not generate
      exceptions. A null reference evaluates to less than any non-null object, or
      equal to another null reference, when the two are compared.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<block subset="none" type="default">
								<para>This method uses <see cref="M:System.Array.BinarySearch(System.Array,System.Object)" qualify="true"/> to
      search for <paramref name="value"/>
      .</para>
								<para>
									<paramref name="value"/> is compared to elements in a binary search of the range of <paramref name="index"/> to
<paramref name="index"/> + <paramref name="count "/> - 1 in the current instance until an element 
   with a value greater than or equal to <paramref name="value"/> is found or the end of the
   range is reached. If <paramref name="comparer"/> is <see langword="null"/> , the <see cref="T:System.IComparable"/>
   implementation of the element being compared -- or of <paramref name="value"/> if the element being compared does
   not implement the interface -- is used to make the comparison. If
<paramref name="value"/> does not implement the <see cref="T:System.IComparable"/> interface and is compared to an element 
   that does not implement the interface either, <see cref="T:System.ArgumentException"/>
   is thrown. If the current instance is not already sorted,
   correct results are not guaranteed.</para>
							</block>
							<para>
								<block subset="none" type="note">For the default implementation, this method is an
   O(log<subscript term="2"/>
									<paramref name="count"/>) operation.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Capacity">
					<MemberSignature Language="ILASM" Value=".property int32 Capacity { public hidebysig virtual specialname int32 get_Capacity() public hidebysig virtual specialname void set_Capacity(int32 value) }"/>
					<MemberSignature Language="C#" Value="public virtual int Capacity { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the number of elements that the current instance is
      capable of storing.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Int32"/> that specifies the number of elements that the current instance
   is capable of storing.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<see cref="P:System.Collections.ArrayList.Capacity"/> is set to a value that is less than the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">The <see cref="P:System.Collections.ArrayList.Capacity"/> of a <see cref="T:System.Collections.ArrayList"/> is the size of
   the internal array used to hold the elements of that list. When it is set, the
   internal array is reallocated to the specified value.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
							<block subset="none" type="default">
								<para>If an attempt is made to set <see cref="P:System.Collections.ArrayList.Capacity"/> to a value less or equal to 0, it
   is set
   to the default capacity of 16.</para>
								<para>If the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance exceeds the <see cref="P:System.Collections.ArrayList.Capacity"/> of the current instance while
adding elements to the current instance, the capacity of the list is doubled by
automatically reallocating the internal array before copying the old elements
and adding the new elements.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Clear">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Clear()"/>
					<MemberSignature Language="C#" Value="public virtual void Clear();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Sets the elements in the current instance to zero, 
   <see langword="false"/>, or <see langword="null"/>, depending upon the element type.</para>
						</summary>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">
      This method is implemented to support the <see cref="T:System.Collections.IList"/> interface.
   </block>
							</para>
							<para>
								<block subset="none" type="behaviors">
      Reference-type elements are set to <see langword="null"/>. Value-type elements
      are set to zero, except for <see cref="T:System.Boolean"/> elements, which are set to <see langword="false"/>.
   </block>
							</para>
							<para>
								<block subset="none" type="default">
      
      This method uses <see cref="M:System.Array.Clear(System.Array,System.Int32,System.Int32)" qualify="true"/> to reset the values of the current instance. <see cref="P:System.Collections.ArrayList.Count"/> is set to zero. <see cref="P:System.Collections.ArrayList.Capacity"/>
      is not changed.
   </block>
							</para>
							<para>
								<block subset="none" type="usage">
      
      To reset the <see cref="P:System.Collections.ArrayList.Capacity"/> of the current instance, call <see cref="M:System.Collections.ArrayList.TrimToSize"/> or set the <see cref="P:System.Collections.ArrayList.Capacity"/> property directly.
   </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Clone">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual object Clone()"/>
					<MemberSignature Language="C#" Value="public virtual object Clone();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Object"/> that is a copy of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Object"/> that is a copy of the current
   instance.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support the <see cref="T:System.ICloneable"/>
interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
							<block subset="none" type="default">This method uses
<see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)" qualify="true"/> to clone the current
   instance.</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Contains">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Contains(object item)"/>
					<MemberSignature Language="C#" Value="public virtual bool Contains(object item);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="item" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the specified <see cref="T:System.Object"/> is contained in the current
   instance.</para>
						</summary>
						<param name="item">The <see cref="T:System.Object"/> to locate in the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="item"/> is contained in the current instance;
   otherwise, <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support
      the <see cref="T:System.Collections.IList"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method determines equality
      by calling the <see cref="M:System.Object.Equals(System.Object)" qualify="true"/> implementation of the
      type of <paramref name="item"/>.</block>
							</para>
							<para>
								<block subset="none" type="note">For the default implementation, this method is an O(<paramref name="n"/>)
   operation where <paramref name="n"/> is equal to the <see cref="P:System.Collections.ArrayList.Count"/> of the
   current instance. If the current instance is sorted, it is more efficient
   to call <see cref="M:System.Collections.ArrayList.BinarySearch(System.Int32,System.Int32,System.Object,System.Collections.IComparer)"/> method.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CopyTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void CopyTo(int32 index, class System.Array array, int32 arrayIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public virtual void CopyTo(int index, Array array, int arrayIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="arrayIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Copies the specified range of elements from the current instance to the specified <see cref="T:System.Array"/>, starting at the specified index of the array.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the index in the current instance at which copying begins. This value is greater than or equal to 0, and less than the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</param>
						<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from the current instance. </param>
						<param name="arrayIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="array"/> to which the elements of the current instance are copied. This value is greater than or equal to zero, and less than <paramref name="array"/>.Length minus <paramref name="count"/>. </param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of elements to copy. This value is greater than or equal to 0, and less than both the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus <paramref name="index"/> and <paramref name="array"/>.Length minus <paramref name="arrayIndex"/>.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0. </para>
							<para>-or-</para>
							<para>
								<paramref name="arrayIndex"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> &lt; 0. </para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="array"/> has more than one dimension.</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> &gt;= <see cref="P:System.Collections.ArrayList.Count"/> of the current instance .</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> &gt;= <see cref="P:System.Collections.ArrayList.Count"/> of the current instance - <paramref name="index"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> &gt;= <paramref name="array"/>.Length - <paramref name="arrayIndex"/>.</para>
						</exception>
						<exception cref="T:System.InvalidCastException">At least one element of the current instance is not assignment-compatible with the type of <paramref name="array"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method uses <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)" qualify="true"/> to copy the
   current instance to <paramref name=" array"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CopyTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void CopyTo(class System.Array array)"/>
					<MemberSignature Language="C#" Value="public virtual void CopyTo(Array array);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Copies the elements from the current instance to the specified <see cref="T:System.Array"/>.</para>
						</summary>
						<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from the current instance. The <see cref="P:System.Array.Length" qualify="true"/> of this array is greater than or equal to the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="array"/> has more than one dimension.</para>
							<para>-or-</para>
							<para>
								<see cref="P:System.Collections.ArrayList.Count"/> of the current instance &gt; <paramref name="array"/>.Length.</para>
						</exception>
						<exception cref="T:System.InvalidCastException">At least one element in the current instance is not assignment-compatible with the type of <paramref name="array"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method uses <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)" qualify="true"/> to copy the
   current instance to <paramref name="array"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CopyTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void CopyTo(class System.Array array, int32 arrayIndex)"/>
					<MemberSignature Language="C#" Value="public virtual void CopyTo(Array array, int arrayIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="arrayIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Copies the elements from the current instance to the
      specified <see cref="T:System.Array"/>
      , starting at the specified index of the array.</para>
						</summary>
						<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from the current instance. The <see cref="P:System.Array.Length" qualify="true"/> of this array is greater than or equal to the sum of <paramref name="arrayIndex"/> and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance. </param>
						<param name="arrayIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="array"/> to which the elements of the current instance are copied. This value is greater than or equal to zero, and less than <paramref name="array"/>.Length. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="arrayIndex"/> &lt; 0.</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="array"/> has more than one dimension.</para>
							<para>-or-</para>
							<para>
								<paramref name="arrayIndex"/> &gt;= <paramref name="array"/>.Length.</para>
							<para>-or-</para>
							<para>
								<paramref name="arrayIndex"/> + <see cref="P:System.Collections.ArrayList.Count"/> of the current instance &gt; <paramref name="array"/>.Length.</para>
						</exception>
						<exception cref="T:System.InvalidCastException">At least one element in the current instance is not assignment-compatible with the type of <paramref name="array"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support
      the <see cref="T:System.Collections.IList"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method uses <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)" qualify="true"/> to copy the
   current instance to <paramref name="array"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Count">
					<MemberSignature Language="ILASM" Value=".property int32 ICollection.Count { public hidebysig virtual abstract specialname int32 get_ICollection.Count() }"/>
					<MemberSignature Language="C#" Value="int ICollection.Count { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.ICollection"/> interface. [Note: For more information, see <see cref="M:System.Collections.ICollection.Count"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Count">
					<MemberSignature Language="ILASM" Value=".property int32 Count { public hidebysig virtual specialname int32 get_Count() }"/>
					<MemberSignature Language="C#" Value="public virtual int Count { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the number of elements contained in the
      current instance.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Int32"/> that specifies the number of elements contained in the current
   instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<see cref="P:System.Collections.ArrayList.Count"/> is the number of elements that are
   contained by the <see cref="T:System.Collections.ArrayList"/>. The count of a list is always less than or
   equal to <see cref="P:System.Collections.ArrayList.Capacity"/> of that list. </para>
							<para>
								<block subset="none" type="note">This property is implemented to support
   the <see cref="T:System.Collections.IList"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
							<block subset="none" type="default">If the <see cref="P:System.Collections.ArrayList.Count"/> exceeds the <see cref="P:System.Collections.ArrayList.Capacity"/> of the current instance while
adding elements to the current instance, the capacity of the list is doubled by
automatically reallocating the internal array before copying the old elements
and adding the new elements.</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FixedSize">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Collections.ArrayList FixedSize(class System.Collections.ArrayList list)"/>
					<MemberSignature Language="C#" Value="public static ArrayList FixedSize(ArrayList list);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.ArrayList</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="list" Type="System.Collections.ArrayList"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Collections.ArrayList"/>
wrapper with a fixed size.</para>
						</summary>
						<param name="list">The <see cref="T:System.Collections.ArrayList"/> to wrap.</param>
						<returns>
							<para>A <see cref="T:System.Collections.ArrayList"/>
wrapper with a fixed size.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="list"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>This method returns a fixed-size <see cref="T:System.Collections.ArrayList"/> that contains a reference to <paramref name="list"/>. Operations that attempt add to or delete from 
 this new list will throw <see cref="T:System.NotSupportedException"/>. Any modifications of
 the elements in either the returned list or <paramref name="list"/> will be reflected in
 the other. </para>
							<block subset="none" type="note">
								<para>The <see cref="P:System.Collections.ArrayList.IsFixedSize"/> property of the new list is 
<see langword="true"/>. Every other property value of the new list 
 references the same property value of <paramref name="list"/>. </para>
								<para>By performing operations on the new list, this wrapper can be used to prevent 
 additions to and deletions from the <see cref="T:System.Collections.ArrayList"/>
									<paramref name="list"/>. The elements 
 of the list can still be modified by operations
 on the returned list.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEnumerator">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Collections.IEnumerator GetEnumerator()"/>
					<MemberSignature Language="C#" Value="public virtual IEnumerator GetEnumerator();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.IEnumerator</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Collections.IEnumerator"/> for the current
   instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Collections.IEnumerator"/> for the current instance.</para>
						</returns>
						<remarks>
							<para> If the the current instance is modified while an enumeration is in progress, a call to <see cref="M:System.Collections.IEnumerator.MoveNext"/> or <see cref="P:System.Collections.IEnumerator.Reset"/> throws <see cref="T:System.InvalidOperationException"/> . </para>
							<block subset="none" type="note">
								<para> For detailed information regarding the use of an enumerator, see
      <see cref="T:System.Collections.IEnumerator"/>.</para>
								<para>This property is implemented to support the <see cref="T:System.Collections.IList"/> interface.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEnumerator">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Collections.IEnumerator GetEnumerator(int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public virtual IEnumerator GetEnumerator(int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.IEnumerator</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Collections.IEnumerator"/> for the specified section of the
   current instance.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the index of the current instance before which the enumerator is initially placed. This value is greater than or equal to 0, and less than the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of elements, beginning with <paramref name="index"/> , in the current instance over which the enumerator can iterate. This value is greater than or equal to 0, and less than or equal to the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus <paramref name="index"/> .</param>
						<returns>
							<para>A <see cref="T:System.Collections.IEnumerator"/> that can iterate over the range
   of <paramref name="index"/> to <paramref name="index"/> + <paramref name="count"/> - 1 in the current
   instance.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0.</para>
							<para> -or-</para>
							<para>
								<paramref name="count"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="index"/> + <paramref name="count"/> &gt; <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</exception>
						<remarks>
							<para> The enumerator
      only enumerates over the range of the current instance from <paramref name="index"/> to
   <paramref name="index"/> + <paramref name="count"/> - 1. If the current instance is modified while an enumeration is in progress, a call to <see cref="M:System.Collections.IEnumerator.MoveNext"/> or <see cref="P:System.Collections.IEnumerator.Reset"/> will throw <see cref="T:System.InvalidOperationException"/> . </para>
							<para>
								<block subset="none" type="note">For detailed information regarding the
      use of an enumerator, see <see cref="T:System.Collections.IEnumerator"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<block subset="none" type="default">
								<para>The enumerator is initially placed just before the
      element at position <paramref name="index"/> in the current instance. A call to
   <see cref="M:System.Collections.IEnumerator.Reset"/> returns the enumerator to this position.
      </para>
								<para>If the enumerator is positioned over an element in
      the range of <paramref name="index"/> -1 to <paramref name="index"/> + <paramref name="count"/>, and
      the elements of the current instance have not been modified while the
      enumeration was in progress, a call to <see cref="M:System.Collections.IEnumerator.MoveNext"/>
      either returns <see langword="true"/> and advances the enumerator one element in
      the current instance, or returns <see langword="false"/> and leaves the enumerator in its current position.
      </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetRange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Collections.ArrayList GetRange(int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public virtual ArrayList GetRange(int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.ArrayList</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Collections.ArrayList"/> that represents the specified range of the
   current instance.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the zero-based index in the current instance at which the range starts. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus <paramref name="count"/> , inclusive.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of elements in the range. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus <paramref name="index"/> , inclusive.</param>
						<returns>
							<para> A <see cref="T:System.Collections.ArrayList"/> that
   represents the range in the current instance from <paramref name="index"/> to
<paramref name="index"/> + <paramref name="count"/> - 1.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<see cref="P:System.Collections.ArrayList.Count"/> of the current instance - <paramref name="index"/> &lt; <paramref name="count"/>. </para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method does not create copies of the
      elements: the new <see cref="T:System.Collections.ArrayList"/> instance is a
      view window into the source list. Therefore, all subsequent changes to the
      source list must be done through this
      view window <see cref="T:System.Collections.ArrayList"/> . If changes are made directly to
      the source list, the view window list is invalidated
      and any operations on it throw <see cref="T:System.InvalidOperationException"/>
      .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 IndexOf(object value)"/>
					<MemberSignature Language="C#" Value="public virtual int IndexOf(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the current instance, returning the index of
      the first occurrence of the specified <see cref="T:System.Object"/>.
      </para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to locate in current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that specifies the index of the first occurrence of <paramref name="    value"/> in the current instance, if found;
   otherwise, -1.</para>
							<para>
								<block subset="none" type="note">This provides the caller with a standard
   code for a failed search.</block>
							</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support
      the <see cref="T:System.Collections.IList"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method uses
   <see cref="M:System.Array.IndexOf(System.Array,System.Object)" qualify="true"/>
   to search the current instance for <paramref name="value"/> .</block>
							</para>
							<para>
								<block subset="none" type="note">For the default implementation, this method performs a linear search. On average,
   this is an O(<paramref name="n"/>/2) operation, where <paramref name="n"/> is <paramref name="count"/>. The longest
   search is an O(<paramref name="n"/>) operation.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 IndexOf(object value, int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public virtual int IndexOf(object value, int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the current instance, returning the index of
      the first occurrence of the specified <see cref="T:System.Object"/>
      in the specified range.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to locate in current instance.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> that specifies the index at which to begin searching. This value is greater than or equal to zero, and less than the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of elements to search. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus <paramref name="startIndex"/> , inclusive.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that specifies the index of the first occurrence of <paramref name="value"/> in
   the current instance, within the range <paramref name="startIndex "/>to
<paramref name="startIndex"/> + <paramref name=" count"/> - 1, if found; otherwise, -1.</para>
							<para>
								<block subset="none" type="note">This provides the caller with a standard
   code for a failed search.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/>&gt;= <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> &lt; 0.</para>
							<para> -or-</para>
							<para>
								<paramref name="count"/> &gt;<see cref="P:System.Collections.ArrayList.Count"/> of the current instance - <paramref name="startIndex"/>.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method uses
   <see cref="M:System.Array.IndexOf(System.Array,System.Object)" qualify="true"/>
   to search the current instance for <paramref name="value"/>.</block>
							</para>
							<para>
								<block subset="none" type="note">For the default implementation, this method performs a linear search. On average, this is an O(<paramref name="n"/>/2) operation, where <paramref name="n"/> is <paramref name="count"/>.
The longest search is an O(<paramref name="n"/>) operation.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 IndexOf(object value, int32 startIndex)"/>
					<MemberSignature Language="C#" Value="public virtual int IndexOf(object value, int startIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the current instance, returning the index of
      the first occurrence of the specified <see cref="T:System.Object"/>
      in the specified range.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to locate in current instance.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> that specifies the index at which searching begins. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus 1, inclusive.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that specifies the index of the first occurrence of <paramref name="value"/> in the current
   instance, if found within the range <paramref name="    startIndex"/>
   to the end of the current instance; otherwise, -1.</para>
							<para>
								<block subset="none" type="note">This provides the caller with a standard
   code for a failed search.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="startIndex"/> &gt;= <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method uses
   <see cref="M:System.Array.IndexOf(System.Array,System.Object)" qualify="true"/>
   to search the current instance for <paramref name="value"/>.</block>
							</para>
							<para>
								<block subset="none" type="note"> For the default implementation, this method performs a linear search. On average,
   this is an O(<paramref name="n"/>/2) operation, where <paramref name="n"/> is <paramref name="count"/>. The longest
   search is an O(<paramref name="n"/>) operation.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Insert(int32 index, object value)"/>
					<MemberSignature Language="C#" Value="public virtual void Insert(int index, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the specified <see cref="T:System.Object"/> into the current
   instance
   at the specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the index in the current instance at which <paramref name="value"/> is inserted. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance, inclusive.</param>
						<param name="value">
							<para>The <see cref="T:System.Object"/> to insert.</para>
						</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> &gt; <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</para>
						</exception>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support
      the <see cref="T:System.Collections.IList"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">If the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance is equal to the <see cref="P:System.Collections.ArrayList.Capacity"/> of the current instance, the
   capacity of the list is doubled by automatically reallocating the internal array
   before the new element is inserted. If <paramref name="index"/>
   is equal to the <see cref="P:System.Collections.ArrayList.Count"/> of the
   current instance, <paramref name="value"/> is added to the end of the
   current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="InsertRange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void InsertRange(int32 index, class System.Collections.ICollection c)"/>
					<MemberSignature Language="C#" Value="public virtual void InsertRange(int index, ICollection c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="c" Type="System.Collections.ICollection"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the elements of the specified <see cref="T:System.Collections.ICollection"/> at the specified
   index of the current instance.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the index in the current instance at which the new elements are inserted. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance, inclusive.</param>
						<param name="c">The <see cref="T:System.Collections.ICollection"/> whose elements are inserted into the current instance.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="c"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0.</para>
							<para>
								<paramref name="index"/> &gt; <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</para>
						</exception>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<block subset="none" type="default">
								<para> If the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance plus the
      size of <see cref="T:System.Collections.ICollection"/>
									<paramref name="c "/> is greater
      than the <see cref="P:System.Collections.ArrayList.Capacity"/> of
      the current instance, the capacity of the current instance is either
      doubled or increased to the new count, whichever yields a greater capacity. The internal array
      is reallocated to accommodate the new elements. If <paramref name="index"/> is equal to the <see cref="P:System.Collections.ArrayList.Count"/> of the current
      instance, the elements of <paramref name="c"/> are added to the end of the current
      instance.</para>
								<para>The order of the elements in the <see cref="T:System.Collections.ICollection"/>
									<paramref name="c"/> is preserved in the current
instance.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsFixedSize">
					<MemberSignature Language="ILASM" Value=".property bool IsFixedSize { public hidebysig virtual specialname bool get_IsFixedSize() }"/>
					<MemberSignature Language="C#" Value="public virtual bool IsFixedSize { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> indicating whether the <see cref="P:System.Collections.ArrayList.Capacity"/> of the current instance cannot be changed.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the
<see cref="P:System.Collections.ArrayList.Capacity"/> of the current instance cannot be changed;
   otherwise, <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>Elements cannot be added or removed from a <see cref="T:System.Collections.ArrayList"/> with a fixed size, while
      existing elements can be modified.</para>
								<para>This property is implemented to support the <see cref="T:System.Collections.IList"/> interface.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default value for this
   property is <see langword="false"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsFixedSize">
					<MemberSignature Language="ILASM" Value=".property bool IList.IsFixedSize { public hidebysig virtual abstract specialname bool get_IList.IsFixedSize() }"/>
					<MemberSignature Language="C#" Value="bool IList.IsFixedSize { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IList"/> interface. [Note: For more information, see <see cref="M:System.Collections.IList.IsFixedSize"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsReadOnly">
					<MemberSignature Language="ILASM" Value=".property bool IsReadOnly { public hidebysig virtual specialname bool get_IsReadOnly() }"/>
					<MemberSignature Language="C#" Value="public virtual bool IsReadOnly { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a value indicating whether the current instance is read-only.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the
   current instance is read-only; otherwise,
<see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>The elements of a <see cref="T:System.Collections.ArrayList"/> that is read-only cannot be modified, nor
      can elements be added to or removed from that list.</para>
								<para>This property is implemented to support the <see cref="T:System.Collections.IList"/> interface.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default value of this
   property is <see langword="false"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsReadOnly">
					<MemberSignature Language="ILASM" Value=".property bool IList.IsReadOnly { public hidebysig virtual abstract specialname bool get_IList.IsReadOnly() }"/>
					<MemberSignature Language="C#" Value="bool IList.IsReadOnly { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IList"/> interface. [Note: For more information, see <see cref="M:System.Collections.IList.IsReadOnly"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSynchronized">
					<MemberSignature Language="ILASM" Value=".property bool IsSynchronized { public hidebysig virtual specialname bool get_IsSynchronized() }"/>
					<MemberSignature Language="C#" Value="public virtual bool IsSynchronized { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a value indicating whether access to the current
      instance is synchronized (thread-safe).</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if access to
   the current instance is synchronized
   (thread-safe); otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>To guarantee the thread safety of the <see cref="T:System.Collections.ArrayList"/>, all operations must be
   done through the wrapper returned by the <see cref="M:System.Collections.ArrayList.Synchronized(System.Collections.IList)"/> method.</para>
							<para>
								<block subset="none" type="note">This property is implemented to support
   the <see cref="T:System.Collections.IList"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default value of this
   property is <see langword="false"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSynchronized">
					<MemberSignature Language="ILASM" Value=".property bool ICollection.IsSynchronized { public hidebysig virtual abstract specialname bool get_ICollection.IsSynchronized() }"/>
					<MemberSignature Language="C#" Value="bool ICollection.IsSynchronized { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.ICollection"/> interface. [Note: For more information, see <see cref="M:System.Collections.ICollection.IsSynchronized"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Item">
					<MemberSignature Language="ILASM" Value=".property object Item[int32 index] { public hidebysig virtual specialname object get_Item(int32 index) public hidebysig virtual specialname void set_Item(int32 index, object value) }"/>
					<MemberSignature Language="C#" Value="public virtual object this[int index] { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Gets or sets the element at the specified index of the current instance.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the zero-based index of the element in the current instance to get or set. This value is greater than or equal to 0, and less than the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</param>
						<value>
							<para>The element at the specified index of the current instance.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> &gt;= <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This property provides the ability to access a specific element in the
         collection by using the following syntax: <c>myCollection[index]</c> .</para>
								<para>This property is implemented to support the <see cref="T:System.Collections.IList"/> interface.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 LastIndexOf(object value)"/>
					<MemberSignature Language="C#" Value="public virtual int LastIndexOf(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the current instance, returning the index of
      the last occurrence of the specified <see cref="T:System.Object"/>.
      </para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to locate in the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that specifies the index of the last occurrence of <paramref name="    value"/> in the current
   instance, if found; otherwise, -1.</para>
							<para>
								<block subset="none" type="note">This provides the caller with a standard
   code for a failed search.</block>
							</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method uses
   <see cref="M:System.Array.LastIndexOf(System.Array,System.Object)" qualify="true"/> to search the current instance for
   <paramref name="value"/>.</block>
							</para>
							<para>
								<block subset="none" type="note">For the default implementation, this method performs a linear search. On average, this is an
      O(<paramref name="n"/>/2) operation, where <paramref name="n"/> is <see cref="P:System.Collections.ArrayList.Count"/> of the current instance. The longest search is
      an O(<paramref name="n"/>)
      operation.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 LastIndexOf(object value, int32 startIndex)"/>
					<MemberSignature Language="C#" Value="public virtual int LastIndexOf(object value, int startIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Searches the current instance, returning the index of
      the last occurrence of the specified <see cref="T:System.Object"/> in
      the specified range of the current instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to locate in the current instance.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> that specifies the index at which searching starts. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus 1, inclusive.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that specifies the index of the last occurrence of <paramref name="value"/> in
   the range of <paramref name="startIndex"/>
   through the first element of the current
   instance, if found; otherwise, -1.</para>
							<para>
								<block subset="none" type="note">This provides the caller with a standard
   code for a failed search.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="startIndex"/> &gt;= <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method uses
   <see cref="M:System.Array.LastIndexOf(System.Array,System.Object)" qualify="true"/> to search the current instance for
   <paramref name="value"/>.</block>
							</para>
							<para>
								<block subset="none" type="note"> For the default implementation, this method performs a linear search. On average, this is an
      O(<paramref name="count"/>/2)
      operation. The longest search is
      an O(<paramref name="count"/>) operation.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 LastIndexOf(object value, int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public virtual int LastIndexOf(object value, int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Searches the current instance, returning the index of
      the last occurrence of the specified <see cref="T:System.Object"/> in the specified range.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to locate in the current instance.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> that specifies the index at which searching starts.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of elements to search, beginning with <paramref name="startIndex"/> .</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that specifies the index of the last occurrence of value in the current
   instance, within the range <paramref name="startIndex"/> through
<paramref name="startIndex"/> - <paramref name="count"/> + 1, if found; otherwise, -1. </para>
							<para>
								<block subset="none" type="note">This provides the caller with a standard
   code for a failed search.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="startIndex"/> &gt;= <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> &gt;= <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> &gt; <paramref name="startIndex"/> + 1.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method uses
   <see cref="M:System.Array.LastIndexOf(System.Array,System.Object)" qualify="true"/> to search the current instance for
   <paramref name="value"/>.</block>
							</para>
							<para>
								<block subset="none" type="note"> For the default implementation, this method
      performs a linear search. On average, this is an O(<paramref name="count"/>/2)
      operation. The longest search is an O(<paramref name="count"/>) operation.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadOnly">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Collections.ArrayList ReadOnly(class System.Collections.ArrayList list)"/>
					<MemberSignature Language="C#" Value="public static ArrayList ReadOnly(ArrayList list);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.ArrayList</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="list" Type="System.Collections.ArrayList"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a read-only <see cref="T:System.Collections.ArrayList"/>
wrapper.</para>
						</summary>
						<param name="list">The <see cref="T:System.Collections.ArrayList"/> to wrap.</param>
						<returns>
							<para>A read-only <see cref="T:System.Collections.ArrayList"/>
wrapper around <paramref name="list"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="list"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>This method returns a read-only <see cref="T:System.Collections.ArrayList"/> that contains a reference to <paramref name="list"/>. Operations that attempt add to, delete from, or 
 modify the elements of this new list will throw <see cref="T:System.NotSupportedException"/>. Any modifications of the
 elements <paramref name="list"/> will be reflected in the new list.</para>
							<block subset="none" type="note">
								<para>The <see cref="P:System.Collections.ArrayList.IsReadOnly"/> and <see cref="P:System.Collections.ArrayList.IsFixedSize"/> properties of the new list are <see langword="true"/>. Every other property value of the new list 
 references the same property value of <paramref name="list"/>. </para>
								<para>By performing operations on the new list, this wrapper can be used to prevent 
 additions to, deletions from, and modifications of the <see cref="T:System.Collections.ArrayList"/>
									<paramref name="list"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Remove">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Remove(object obj)"/>
					<MemberSignature Language="C#" Value="public virtual void Remove(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Removes the first occurrence of the
      specified <see cref="T:System.Object"/> from
      the current instance.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> to remove from the current instance.</param>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support
      the <see cref="T:System.Collections.IList"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<block subset="none" type="default">
								<para>This method determines equality by calling <see cref="M:System.Object.Equals(System.Object)" qualify="true"/>.</para>
								<para>If and only if <paramref name="obj"/> is found in the current
   instance, <paramref name="obj"/> is removed from the current instance, the rest of the
   elements are shifted down to fill the position vacated by <paramref name="obj"/>, the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance is
   decreased by one, and the position that was previously the last element in the
   current instance is set to <see langword="null"/>. If <paramref name="obj"/> is not found in the
   current instance, the current instance remains
   unchanged.</para>
							</block>
							<para>
								<block subset="none" type="note">For the default implementation, this method performs a linear search.
   On average, this is an O(<paramref name="n"/>/2) operation, where <paramref name="n"/> is <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.
   The longest search is an O(<paramref name="n"/>) operation.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RemoveAt">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void RemoveAt(int32 index)"/>
					<MemberSignature Language="C#" Value="public virtual void RemoveAt(int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Removes the element at the specified index from the
      current instance.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the zero-based index of the element to remove from the current instance. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance, inclusive.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> &gt;= <see cref="P:System.Collections.ArrayList.Count"/> of the current instance.</para>
						</exception>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support
      the <see cref="T:System.Collections.IList"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default"> The element at position <paramref name="index"/> is removed from
   the current instance, the rest of the elements are shifted down to fill the
   position vacated by that element, the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance is
   decreased by one, and the position that was previously the last element in the current instance is set to <see langword="null"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RemoveRange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void RemoveRange(int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public virtual void RemoveRange(int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Removes the specified range of elements from the current instance.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the zero-based index of the first element of the range of elements in the current instance to remove. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus <paramref name="count"/> , inclusive.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of elements to remove. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus <paramref name="index"/> , inclusive.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<see cref="P:System.Collections.ArrayList.Count"/> of the current instance - <paramref name="index"/> &lt; <paramref name="count"/>.</exception>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">The elements in the range of <paramref name="index"/> to <paramref name="index"/> +
<paramref name="count "/> - 1 are removed from the current instance, the rest of the
   elements are shifted down to fill the position vacated by those elements, the
<see cref="P:System.Collections.ArrayList.Count"/> of the current instance is
   decreased by <paramref name="count"/>, and the <paramref name="count"/> positions that were
   previously the last elements in the current instance are set to
<see langword="null"/>
.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Repeat">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Collections.ArrayList Repeat(object value, int32 count)"/>
					<MemberSignature Language="C#" Value="public static ArrayList Repeat(object value, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.ArrayList</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a new <see cref="T:System.Collections.ArrayList"/> whose elements are copies of the specified
<see cref="T:System.Object"/>.</para>
						</summary>
						<param name="value">
							<para>The <see cref="T:System.Object"/> used to initialize the new <see cref="T:System.Collections.ArrayList"/> instance.</para>
						</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of times <paramref name="value"/> is copied into the new <see cref="T:System.Collections.ArrayList"/> instance.</param>
						<returns>
							<para>A new <see cref="T:System.Collections.ArrayList"/>
with <paramref name="count"/> number of elements, all of which are copies of
<paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="count"/> &lt; 0.</exception>
						<remarks>
							<para>If <paramref name="count"/> is less than the default initial capacity, 16,
   the <see cref="P:System.Collections.ArrayList.Capacity"/> of the new <see cref="T:System.Collections.ArrayList"/> instance is set to the default initial
   capacity. Else, the capacity is set to <paramref name="count"/>
   . The <see cref="P:System.Collections.ArrayList.Count"/> of the new instance is set
   to <paramref name="count"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Reverse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Reverse()"/>
					<MemberSignature Language="C#" Value="public virtual void Reverse();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Reverses the sequence of the elements in the current
      instance.</para>
						</summary>
						<exception cref="T:System.NotSupportedException">The current instance is read-only.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method uses <see cref="M:System.Array.Reverse(System.Array)"/> to modify the ordering of
   the elements in the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Reverse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Reverse(int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public virtual void Reverse(int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Reverses the sequence of the elements in the specified range of the
      current instance.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the zero-based index in the current instance at which reversing starts. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus <paramref name="count"/> , inclusive.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of elements to reverse. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus <paramref name="index"/> , inclusive.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0.</para>
							<para> -or-</para>
							<para>
								<paramref name="count"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<see cref="P:System.Collections.ArrayList.Count"/> of the current instance - <paramref name="index"/> &lt; <paramref name="count"/>.</para>
						</exception>
						<exception cref="T:System.NotSupportedException">The current instance is read-only.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method uses <see cref="M:System.Array.Reverse(System.Array)" qualify="true"/> to modify
   the ordering of the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetRange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void SetRange(int32 index, class System.Collections.ICollection c)"/>
					<MemberSignature Language="C#" Value="public virtual void SetRange(int index, ICollection c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="c" Type="System.Collections.ICollection"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Copies the elements of the specified <see cref="T:System.Collections.ICollection"/> to a
   range in the current instance.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the zero-based index in the current instance at which to start copying the elements of <paramref name="c"/>. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus <paramref name="c"/>.Count, inclusive.</param>
						<param name="c">The <see cref="T:System.Collections.ICollection"/> whose elements to copy to the current instance.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0.</para>
							<para> -or-</para>
							<para>
								<see cref="P:System.Collections.ArrayList.Count"/> of the current instance - <paramref name="index"/> &lt; <paramref name="c"/>.Count.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="c"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.NotSupportedException">The current instance is read-only.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method uses
      the <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)" qualify="true"/> implementation of <see cref="T:System.Collections.ICollection"/>
									<paramref name="c"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Sort(int32 index, int32 count, class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public virtual void Sort(int index, int count, IComparer comparer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sorts the elements in the specified range of the current instance
      using the specified <see cref="T:System.Collections.IComparer"/> implementation.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the zero-based index at which sorting starts. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus <paramref name="count"/> , inclusive.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of elements to sort. This value is between 0 and the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance minus <paramref name="index"/> , inclusive.</param>
						<param name="comparer">
							<para>The <see cref="T:System.Collections.IComparer"/> implementation to use when comparing elements. Specify <see langword="null"/> to use the <see cref="T:System.IComparable"/> implementation of each element in the current instance.</para>
						</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<see cref="P:System.Collections.ArrayList.Count"/> of the current instance - <paramref name="index"/> &lt; <paramref name="count"/>.</para>
						</exception>
						<exception cref="T:System.InvalidCastException">
							<paramref name="comparer"/> is <see langword="null"/>, and one or more elements in the current instance do not implement the <see cref="T:System.IComparable"/> interface.</exception>
						<exception cref="T:System.NotSupportedException">The current instance is read-only.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">If <paramref name="comparer"/> is <see langword="null"/>, the <see cref="T:System.IComparable"/> implementation of
   each element in the current instance is used to make the sorting comparisons. If
   the sort is not successfully completed, the results are unspecified.</block>
							</para>
							<para>
								<block subset="none" type="note"> For the default implementation, this method uses <see cref="M:System.Array.Sort(System.Array)" qualify="true"/>, which
uses the Quicksort algorithm. This is an O(<paramref name="n"/> log<subscript term="2"/>
									<paramref name="n"/>)
operation, where <paramref name="n"/> is the number of elements to sort.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Sort(class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public virtual void Sort(IComparer comparer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sorts the elements of current instance using the specified <see cref="T:System.Collections.IComparer"/>.</para>
						</summary>
						<param name="comparer">
							<para>The <see cref="T:System.Collections.IComparer"/> implementation to use when comparing elements. Specify <see langword="null"/> to use the <see cref="T:System.IComparable"/> implementation of each element in the current instance.</para>
						</param>
						<exception cref="T:System.InvalidCastException">
							<paramref name="comparer"/> is <see langword="null"/>, and one or more elements in the current instance do not implement the <see cref="T:System.IComparable"/> interface.</exception>
						<exception cref="T:System.NotSupportedException">The current instance is read-only.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">If <paramref name="comparer"/> is <see langword="null"/>, the <see cref="T:System.IComparable"/> implementation of
   each element in the current instance is used to make the sorting comparisons. If
   the sort is not successfully completed, the results are unspecified.</block>
							</para>
							<para>
								<block subset="none" type="note">For the default implementation, this method uses <see cref="M:System.Array.Sort(System.Array)" qualify="true"/>, which
uses the Quicksort algorithm. This is an O(<paramref name="n"/> log<subscript term="2"/>
									<paramref name="n"/>)
operation, where <paramref name="n"/> is the number of elements to sort.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Sort()"/>
					<MemberSignature Language="C#" Value="public virtual void Sort();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Sorts the elements of the current instance.</para>
						</summary>
						<exception cref="T:System.InvalidCastException">One or more elements in the current instance do not implement the <see cref="T:System.IComparable"/> interface.</exception>
						<exception cref="T:System.NotSupportedException">The current instance read-only.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">The <see cref="T:System.IComparable"/> implementation of
   each element in the current instance is used to make the sorting comparisons. If
   the sort is not successfully completed, the results are unspecified.</block>
							</para>
							<para>
								<block subset="none" type="note">For the default implementation, this method uses <see cref="M:System.Array.Sort(System.Array)" qualify="true"/>, which uses the Quicksort algorithm. This is
an O(<paramref name="n"/> log<subscript term="2"/>
									<paramref name="n"/>) operation, where <paramref name="n"/> is the number of elements to sort.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Synchronized">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Collections.ArrayList Synchronized(class System.Collections.ArrayList list)"/>
					<MemberSignature Language="C#" Value="public static ArrayList Synchronized(ArrayList list);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.ArrayList</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="list" Type="System.Collections.ArrayList"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Collections.ArrayList"/> wrapper around the specified <see cref="T:System.Collections.ArrayList"/>
that is synchronized (thread-safe).</para>
						</summary>
						<param name="list">The <see cref="T:System.Collections.ArrayList"/> to synchronize.</param>
						<returns>
							<para>A <see cref="T:System.Collections.ArrayList"/> wrapper that is
   synchronized (thread-safe).</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="list"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>This method returns a thread-safe <see cref="T:System.Collections.ArrayList"/> that contains a reference to <paramref name="list"/>. Any modifications of the elements in either
   the returned list or <paramref name="list"/> will be reflected in the other. </para>
							<block subset="none" type="note">
								<para>The <see cref="P:System.Collections.ArrayList.IsSynchronized"/> property of the new list is
<see langword="true"/>. Every other property value of the new list 
   references the same property value of <paramref name="list"/>. </para>
								<para>By performing operations on the new list, this wrapper can be used to
   guarantee thread-safe access to the <see cref="T:System.Collections.ArrayList"/>
									<paramref name="list"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SyncRoot">
					<MemberSignature Language="ILASM" Value=".property object SyncRoot { public hidebysig virtual specialname object get_SyncRoot() }"/>
					<MemberSignature Language="C#" Value="public virtual object SyncRoot { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets an object that can be used to synchronize access to
      the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Object"/> that can be used to synchronize access to the
   current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para> Program code must perform synchronized operations
      on the <see cref="P:System.Collections.ArrayList.SyncRoot"/> of
      the current instance, not directly on the current instance. This ensures proper
      operation of collections that are derived from other objects. Specifically, it
      maintains proper synchronization with other threads that might be simultaneously
      modifying the current instance.</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method
      returns a reference to the current
      instance.</block>
							</para>
							<para>
								<block subset="none" type="note">This property is implemented to support the <see cref="T:System.Collections.IList"/>
interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SyncRoot">
					<MemberSignature Language="ILASM" Value=".property object ICollection.SyncRoot { public hidebysig virtual abstract specialname object get_ICollection.SyncRoot() }"/>
					<MemberSignature Language="C#" Value="object ICollection.SyncRoot { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.ICollection"/> interface. [Note: For more information, see <see cref="M:System.Collections.ICollection.SyncRoot"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToArray">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Object[] ToArray()"/>
					<MemberSignature Language="C#" Value="public virtual object[] ToArray();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Copies the elements of the current instance
      to a new <see cref="T:System.Object"/> array.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Object"/> array containing
   copies of the elements of the current instance.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">The elements are copied using <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)" qualify="true"/>.</block>
							</para>
							<para>
								<block subset="none" type="note">For the default implementation, this method is an O(<paramref name="n"/>) operation, where
<paramref name="n"/> is 
the <see cref="P:System.Collections.ArrayList.Count"/> of the
current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToArray">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Array ToArray(class System.Type type)"/>
					<MemberSignature Language="C#" Value="public virtual Array ToArray(Type type);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Array</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="type" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Copies the elements of the current instance to a new
      array
      of the specified <see cref="T:System.Type"/>.</para>
						</summary>
						<param name="type">The <see cref="T:System.Type"/> of the <see cref="T:System.Array"/> to create and copy the elements of the current instance.</param>
						<returns>
							<para>An array of <see cref="T:System.Type"/>
								<paramref name="type"/> containing copies of the elements of the current
instance.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="type"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.InvalidCastException">At least one element of the current instance cannot be cast to the <see cref="T:System.Type"/>
							<paramref name="type"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">The elements are copied using <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)" qualify="true"/>.</block>
							</para>
							<para>
								<block subset="none" type="note">For the default implementation, this method is
   an O(<paramref name="n"/>) operation, where <paramref name="n"/> is
   the <see cref="P:System.Collections.ArrayList.Count"/> of the
   current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TrimToSize">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void TrimToSize()"/>
					<MemberSignature Language="C#" Value="public virtual void TrimToSize();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Sets the <see cref="P:System.Collections.ArrayList.Capacity"/> of the current instance to
   the <see cref="P:System.Collections.ArrayList.Count"/> of
   the current instance.</para>
						</summary>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This method can be used to minimize the memory overhead of the current
         instance if no new elements will be added to it.</para>
								<para>To completely clear all elements from the current instance, call the <see cref="M:System.Collections.ArrayList.Clear"/> method before calling <see cref="M:System.Collections.ArrayList.TrimToSize"/>.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
							<para>
								<block subset="none" type="default">If the <see cref="P:System.Collections.ArrayList.Count"/> of the current instance is
zero, the <see cref="P:System.Collections.ArrayList.Capacity"/> of the
current instance is set to the default initial
capacity of 16.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ArrayTypeMismatchException" FullName="System.ArrayTypeMismatchException" FullNameSP="System_ArrayTypeMismatchException">
			<TypeSignature Language="ILASM" Value=".class public serializable ArrayTypeMismatchException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class ArrayTypeMismatchException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents the error that occurs when an attempt is made to
      store an element of the wrong type in an array.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.ArrayTypeMismatchException"/> is thrown when the system
   cannot convert the element to the type declared for the array. <block subset="none" type="note">This exception will not be thrown if the element
   can be converted to the type declared for the array. For example, an element
   of type <see cref="T:System.Byte"/> can
   be stored in an array declared to store <see cref="T:System.Int32"/> values, but an element of type <see cref="T:System.String"/> cannot be stored
   in a <see cref="T:System.Int32"/> array because conversion between these types is
   not supported.</block>
					</para>
					<block subset="none" type="note">
						<para>This exception is thrown by the <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)"/> method if a
   widening conversion cannot be performed on the operand
   to convert it to the array type.</para>
						<para> It is generally unnecessary for applications to throw
   this exception.</para>
						<para>The following IL instructions throw <see cref="T:System.ArrayTypeMismatchException"/>
: </para>
						<list type="bullet">
							<item>
								<term>
      
      ldelem.&lt;type&gt;</term>
							</item>
							<item>
								<term>
      
      ldelema</term>
							</item>
							<item>
								<term>
      
      stelem.&lt;type&gt;</term>
							</item>
						</list>
					</block>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes
      the system to throw a <see cref="T:System.ArrayTypeMismatchException"/> exception.</para>
					<code lang="C#">using System;
class ArrayTypeMisMatchExample {
 public static void Main() {
 string[] array1={"hello","world"};
 int[] array2 = {1,2};
 try {
 Array.Copy(array1,array2,2);
 }
 catch (ArrayTypeMismatchException e) {
 Console.WriteLine("Error: {0}",e);
 }
 }
}
   </code>
					<para>The output is</para>
					<c>
						<para>Error: System.ArrayTypeMismatchException: Source array type cannot be
         assigned to destination array type.</para>
						<para>at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array
         destinationArray, Int32 destinationIndex, Int32 length)</para>
						<para>at System.Array.Copy(Array sourceArray, Array destinationArray, Int32
         length)</para>
						<para>at ArrayTypeMisMatchExample.Main()</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public ArrayTypeMismatchException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArrayTypeMismatchException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ArrayTypeMismatchException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "Source array type cannot be assigned
   to destination array type." This message takes into account the current system
   culture.</para>
							<para>
The <see cref="!:System.ArrayTypeMismatchException.InnerException"/>
property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public ArrayTypeMismatchException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArrayTypeMismatchException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ArrayTypeMismatchException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.ArrayTypeMismatchException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments. The <see cref="!:System.ArrayTypeMismatchException.InnerException"/> property is initialized to
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public ArrayTypeMismatchException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ArrayTypeMismatchException"/> class. </para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current exception was raised in a catch block handling <paramref name="innerException"/>.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ArrayTypeMismatchException.Message"/> property of the new instance
   using <paramref name="message"/> , and
   the <see cref="P:System.Exception.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.ArrayTypeMismatchException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments. </para>
							<para>
								<block subset="none" type="note"> For information on inner exceptions,
   see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ASCIIEncoding" FullName="System.Text.ASCIIEncoding" FullNameSP="System_Text_ASCIIEncoding">
			<TypeSignature Language="ILASM" Value=".class public serializable ASCIIEncoding extends System.Text.Encoding"/>
			<TypeSignature Language="C#" Value="public class ASCIIEncoding : Encoding"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents an ASCII character implementation of <see cref="T:System.Text.Encoding"/> . </para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Text.ASCIIEncoding"/> encodes characters as single 7-bit ASCII characters.
   This encoding supports Unicode code points between U+0000 and U+007F, inclusive.</para>
					<para>
						<block subset="none" type="note">The limited range of code points supported by <see cref="T:System.Text.ASCIIEncoding"/> makes ASCII
inadequate for many internationalized applications. <see cref="T:System.Text.UTF8Encoding"/> and <see cref="T:System.Text.UnicodeEncoding"/> provide encodings that are more
suitable for internationalized applications.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Text.Encoding</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public ASCIIEncoding();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs a new instance of the <see cref="T:System.Text.ASCIIEncoding"/>
class.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetByteCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetByteCount(class System.Char[] chars, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public override int GetByteCount(char[] chars, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines the exact number of bytes required to encode
      the specified range of the specified array of characters as ASCII-encoded
      characters.
      </para>
						</summary>
						<param name="chars">A <see cref="T:System.Char"/> array containing the characters to encode as ASCII-encoded characters. </param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="chars"/> to encode. </param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of elements in <paramref name="chars"/> to encode. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing
   the number of bytes required to encode the range in <paramref name="chars"/> from<paramref name=" index"/> to <paramref name=" index "/> + <paramref name="count"/> -1 as ASCII-encoded
   characters.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="chars "/> is <see langword="null"/>. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name=" index "/> &lt; 0.</para>
							<para> -or-</para>
							<para>
								<paramref name="count"/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="index"/> and <paramref name=" count"/> do not specify a valid range in <paramref name=" chars"/> (i.e. (<paramref name=" index"/> + <paramref name="count"/> - 1) &gt; <paramref name="chars"/>.Length).</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetByteCount(System.Char[])" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetByteCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetByteCount(string chars)"/>
					<MemberSignature Language="C#" Value="public override int GetByteCount(string chars);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines the exact number of bytes required to encode
      the specified string as ASCII-encoded characters.</para>
						</summary>
						<param name="chars">A <see cref="T:System.String"/> to encode as ASCII-encoded characters. </param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the number of bytes required to encode <paramref name="chars"/> as
   ASCII-encoded characters.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="chars "/>is <see langword="null"/>. </exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetByteCount(System.Char[])" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetBytes(string chars, int32 charIndex, int32 charCount, class System.Byte[] bytes, int32 byteIndex)"/>
					<MemberSignature Language="C#" Value="public override int GetBytes(string chars, int charIndex, int charCount, byte[] bytes, int byteIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.String"/>
						<Parameter Name="charIndex" Type="System.Int32"/>
						<Parameter Name="charCount" Type="System.Int32"/>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Encodes the specified range of the specified string into the
      specified range of the specified array of bytes as ASCII-encoded characters. </para>
						</summary>
						<param name="chars">A <see cref="T:System.String"/> to encode as ASCII-encoded characters. </param>
						<param name=" charIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="chars"/> from which to encode. </param>
						<param name=" charCount">A <see cref="T:System.Int32"/> that specifies the number of elements in <paramref name="chars"/> to encode. </param>
						<param name=" bytes">A <see cref="T:System.Byte"/> array to encode. </param>
						<param name=" byteIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="bytes"/> to encode into. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> whose
   value equals the number of bytes encoded into <paramref name="bytes"/> as ASCII-encoded
   characters.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>(<paramref name="bytes"/>.Length - <paramref name="byteIndex"/>) &lt; <paramref name="charCount"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="chars "/> is <see langword="null"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="bytes"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="charIndex"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="charCount "/> &lt; 0.</para>
							<para>-or-</para>
							<para>(<paramref name="chars"/>.Length - <paramref name="charIndex"/>) &lt; <paramref name="charCount"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="byteIndex "/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="byteIndex "/> &gt;= <paramref name="bytes"/>.Length.</para>
						</exception>
						<remarks>
							<para>Every <see cref="T:System.Char"/> object in
<paramref name="chars"/> that is encoded into <paramref name="bytes"/> and that does not have an ASCII 
   equivalent (i.e. has a code point greater than U+007f) will be encoded as a
   question mark ('?').</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetBytes(System.Char[])" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetBytes(class System.Char[] chars, int32 charIndex, int32 charCount, class System.Byte[] bytes, int32 byteIndex)"/>
					<MemberSignature Language="C#" Value="public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="charIndex" Type="System.Int32"/>
						<Parameter Name="charCount" Type="System.Int32"/>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Encodes the specified range of the specified array of characters
      into the specified range of the specified array of bytes as ASCII-encoded
      characters.</para>
						</summary>
						<param name="chars">A <see cref="T:System.Char"/> array containing the characters to encode as ASCII-encoded characters. </param>
						<param name="charIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="chars"/> to encode. </param>
						<param name="charCount">A <see cref="T:System.Int32"/> that specifies the number of elements in <paramref name="chars"/> to encode. </param>
						<param name="bytes">A <see cref="T:System.Byte"/> array to encode. </param>
						<param name="byteIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="bytes"/> to encode into. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> whose value equals
   the number of bytes encoded into <paramref name="bytes"/> as
   ASCII-encoded characters. </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>(<paramref name="bytes"/>.Length - <paramref name="byteIndex"/>) &lt; <paramref name="charCount"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="chars"/> is <see langword="null"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="bytes"/> is <see langword="null"/>. </para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="charIndex"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="charCount"/> &lt; 0.</para>
							<para>-or-</para>
							<para>(<paramref name="chars"/>.Length - <paramref name="charIndex"/>) &lt; <paramref name="charCount"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name=" byteIndex"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="byteIndex"/> &gt; <paramref name="bytes"/>.Length.</para>
						</exception>
						<remarks>
							<para>Every <see cref="T:System.Char"/> object in
<paramref name="chars"/> that is encoded into <paramref name="bytes"/> and that does not have 
   an ASCII equivalent (i.e. has a code point greater than U+007f) will be encoded
   as a question mark ('?').</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetBytes(System.Char[])" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetCharCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetCharCount(class System.Byte[] bytes, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public override int GetCharCount(byte[] bytes, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines the exact number of characters that will be
      produced by decoding the specified range of the specified array of bytes as
      ASCII-encoded characters.</para>
						</summary>
						<param name="bytes">A <see cref="T:System.Byte"/> array to decode as ASCII-encoded characters. </param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the first index in <paramref name="bytes"/> to decode. </param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number elements in <paramref name="bytes"/> to decode. </param>
						<returns>
							<para> A <see cref="T:System.Int32"/> whose value
   equals the number of characters a call to <see cref="M:System.Text.ASCIIEncoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/> will produce if presented with the
   specified range of <paramref name="bytes"/>.</para>
							<para>
								<block subset="none" type="note">This value does not
   take into account the state in which the current instance was left following the
   last call to <see cref="M:System.Text.ASCIIEncoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/>. This
   contrasts with <see cref="M:System.Text.Decoder.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)" qualify="true"/> , which
   maintains state information across calls.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="bytes"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0. </para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> &lt; 0. </para>
							<para>-or-</para>
							<para>(<paramref name="bytes"/>.Length - <paramref name="index"/>) &lt; <paramref name="count"/>.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetCharCount(System.Byte[])" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetChars">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetChars(class System.Byte[] bytes, int32 byteIndex, int32 byteCount, class System.Char[] chars, int32 charIndex)"/>
					<MemberSignature Language="C#" Value="public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
						<Parameter Name="byteCount" Type="System.Int32"/>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="charIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Decodes the specified range of the specified array of bytes into the
      specified range of the specified array of characters as ASCII-encoded
      characters. </para>
						</summary>
						<param name="bytes">A <see cref="T:System.Byte"/> array to decode as ASCII-encoded characters. </param>
						<param name="byteIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="bytes"/> from which to decode. </param>
						<param name="byteCount">A <see cref="T:System.Int32"/> that specifies the number elements in <paramref name="bytes"/> to decode. </param>
						<param name="chars">A <see cref="T:System.Char"/> array of characters to decode into. </param>
						<param name="charIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="chars"/> to store the decoded bytes. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> whose
   value equals the number of characters decoded into <paramref name="chars"/> as
   ASCII-encoded characters. </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>(<paramref name="chars"/>.Length - <paramref name="charIndex"/>) &lt; <paramref name="byteCount"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="bytes "/> is <see langword="null"/>. </para>
							<para>-or-</para>
							<para>
								<paramref name="chars "/> is <see langword="null"/>. </para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="byteIndex"/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="byteCount "/> &lt; 0. </para>
							<para> -or- </para>
							<para>(<paramref name="bytes"/>.Length - <paramref name="byteIndex"/>) &lt; <paramref name="byteCount"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="charIndex "/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="charIndex "/> &gt; <paramref name="chars"/>.Length. </para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para> This method overrides <see cref="M:System.Text.Encoding.GetChars(System.Byte[])" qualify="true"/> . </para>
								<para>
									<see cref="M:System.Text.ASCIIEncoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/> can be used to determine the exact number of
   characters that will be produced for a specified range of bytes. Alternatively,
   the <see cref="M:System.Text.ASCIIEncoding.GetMaxCharCount(System.Int32)"/>
   method can be used to determine the
   maximum number of characters that will be produced for a specified number of
   bytes, regardless of the actual byte values.
   </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetMaxByteCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetMaxByteCount(int32 charCount)"/>
					<MemberSignature Language="C#" Value="public override int GetMaxByteCount(int charCount);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="charCount" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the maximum number of bytes required to encode the specified number of characters as ASCII-encoded characters, regardless
      of the actual character values. </para>
						</summary>
						<param name="charCount">A <see cref="T:System.Int32"/> that specifies the number of characters to encode as ASCII-encoded characters. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing the maximum number of bytes required to encode <paramref name="charCount"/>
characters as ASCII-encoded characters.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="charCount "/>&lt; 0.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.Text.Encoding.GetMaxByteCount(System.Int32)" qualify="true"/> . </para>
								<para> Use this method to determine a minimum
      buffer size for byte arrays passed to the <see cref="M:System.Text.ASCIIEncoding.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32)"/> or <see cref="M:System.Text.Encoding.GetBytes(System.Char[])"/> method for the current instance.
      Using this minimum buffer size can help ensure that buffer
      overflow exceptions do not occur.
      </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetMaxCharCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetMaxCharCount(int32 byteCount)"/>
					<MemberSignature Language="C#" Value="public override int GetMaxCharCount(int byteCount);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="byteCount" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Gets the maximum number of characters produced by decoding a specified number of bytes
      as ASCII-encoded characters, regardless of the actual byte values.
      </para>
						</summary>
						<param name="byteCount">A <see cref="T:System.Int32"/> that specifies the number of bytes to decode as ASCII-encoded characters. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing the maximum number of characters that would be produced by
decoding <paramref name="byteCount"/> bytes as ASCII-encoded characters. </para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="byteCount"/> &lt; 0.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.Text.Encoding.GetMaxCharCount(System.Int32)" qualify="true"/> . </para>
								<para> Use this method to determine the minimum
      buffer size for character arrays passed to the <see cref="M:System.Text.ASCIIEncoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/> or the <see cref="M:System.Text.Encoding.GetChars(System.Byte[])"/>
      methods. Using this minimum buffer size can help ensure that buffer
      overflow exceptions do not occur. </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string GetString(class System.Byte[] bytes, int32 byteIndex, int32 byteCount)"/>
					<MemberSignature Language="C#" Value="public override string GetString(byte[] bytes, int byteIndex, int byteCount);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
						<Parameter Name="byteCount" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Decodes the specified range of the specified array of bytes as a string of
      ASCII-encoded characters. </para>
						</summary>
						<param name=" bytes">A <see cref="T:System.Byte"/> array to decode as ASCII-encoded characters. </param>
						<param name=" byteIndex">
							<para>A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="bytes"/> from which to decode. </para>
						</param>
						<param name="byteCount">
							<para>A <see cref="T:System.Int32"/> that specifies the number of elements in <paramref name="bytes"/> to decode. </para>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> object containing
   the decoded representation of the range in <paramref name="bytes"/> from
<paramref name="byteIndex"/> to <paramref name="byteIndex"/> + <paramref name="byteCount"/> -1 as 
   ASCII-encoded characters.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="bytes"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="byteIndex"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="byteCount"/> &lt; 0.</para>
							<para> -or-</para>
							<para>(<paramref name="bytes"/>.Length - <paramref name="byteIndex"/>) &lt; <paramref name="byteCount"/>. </para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetString(System.Byte[])" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string GetString(class System.Byte[] bytes)"/>
					<MemberSignature Language="C#" Value="public override string GetString(byte[] bytes);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Decodes the specified array of bytes as a string of ASCII-encoded characters. </para>
						</summary>
						<param name="bytes"> A <see cref="T:System.Byte"/> array to decode as ASCII-encoded characters. </param>
						<returns>
							<para>A <see cref="T:System.String"/> containing the decoded representation of <paramref name="bytes"/> as ASCII-encoded
   characters.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="bytes"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetString(System.Byte[])" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="AsyncCallback" FullName="System.AsyncCallback" FullNameSP="System_AsyncCallback">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable AsyncCallback extends System.Delegate"/>
			<TypeSignature Language="C#" Value="public delegate void AsyncCallback(IAsyncResult ar);"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> References one or more methods called when an asynchronous operation completes.</para>
				</summary>
				<param name="ar">A <see cref="T:System.IAsyncResult"/> object containing information about the asynchronous operation that has completed.</param>
			</Docs>
			<Base>
				<BaseTypeName>System.Delegate</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.ICloneable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members/>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Attribute" FullName="System.Attribute" FullNameSP="System_Attribute">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable Attribute extends System.Object"/>
			<TypeSignature Language="C#" Value="public abstract class Attribute"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Serves as the base class for custom attributes. </para>
				</summary>
				<remarks>
					<para>All attributes, whether built-in or user-defined, derive
      directly or indirectly from <see cref="T:System.Attribute"/>. Attributes inherit certain default behaviors: the
      attribute may be associated with any target element (see <see cref="T:System.AttributeTargets"/>); may
      or may not be inherited by a derived element; and multiple instances may or may
      not be allowed on the same target element. These behaviors are specified using
      <see cref="T:System.AttributeUsageAttribute"/>.</para>
					<para>
						<block subset="none" type="note">
      An attribute is an annotation that may be placed on an element of source code
      and used to store application-specific information at compile time. This
      information is stored in the metadata and can be accessed either during
      application execution, through a process known as reflection, or when another
      tool reads the metadata. Attributes might change the behavior of the application
      during execution, provide transaction information about an object, or convey
      organizational information to a designer.
      </block>
					</para>
					<para> The CLI predefines some attribute types and
      uses them to control runtime behavior. Some languages predefine attribute types
      to represent language features not directly represented in the Common Language
      Specification (CLS). User-defined attribute classes, inheriting from <see cref="T:System.Attribute"/>, may also be
      created. The definition of such a class includes the name of the attribute, its
      default behavior, and the information to be stored. </para>
				</remarks>
				<example>
					<para> The following
      example creates and assigns multiple custom attributes to a class. The attribute contains the
      name of the programmer and the version number of the class.</para>
					<code lang="C#">using System;

[AttributeUsage(AttributeTargets.Class|
                AttributeTargets.Struct,
                AllowMultiple=true)]
public class Author : Attribute
{
   string authorName;
   public double verSion;

   public Author(string name) 
   {
      authorName = name;
      verSion = 1.0; 
   }

   public string getName() 
   {
      return authorName; 
   }
}

[Author("Some Author")]
class FirstClass 
{
   /*...*/ 
}

class SecondClass  // no Author attribute
{
   /*...*/ 
}

[Author("Some Author"), 
       Author("Some Other Author", verSion=1.1)]
class ThirdClass 
{ 
   /*...*/ 
}

class AuthorInfo 
{
   public static void Main() 
   {
      PrintAuthorInfo(typeof(FirstClass));
      PrintAuthorInfo(typeof(SecondClass));
      PrintAuthorInfo(typeof(ThirdClass));
   }
   public static void PrintAuthorInfo(Type type) 
   {
      Console.WriteLine("Author information for {0}",
                        type);
      Attribute[] attributeArray =
          Attribute.GetCustomAttributes(type);
      foreach(Attribute attrib in attributeArray) 
      {
         if (attrib is Author) 
         {
            Author author = (Author)attrib;
            Console.WriteLine("   {0}, version {1:f}",
                              author.getName(),
                              author.verSion);
         }
      }
      Console.WriteLine();
   }
}
      </code>
					<para>The output is</para>
					<c>
						<para>Author information for FirstClass</para>
						<para> Some Author, version 1.00</para>
						<para>Author information for SecondClass</para>
						<para>Author information for ThirdClass</para>
						<para> Some Author, version 1.00</para>
						<para> Some Other Author, version 1.10</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>AttributeUsageAttribute(AttributeTargets.All, AllowMultiple=false, Inherited=true)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="protected Attribute();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs a new instance of the <see cref="T:System.Attribute"/>
class.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the
      specified <see cref="T:System.Object"/> represent the same type and
      value.</para>
						</summary>
						<param name=" obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Boolean" qualify="true"/> where <see langword="true"/> indicates <paramref name="obj"/>
represents the same type and value as the current instance. If <paramref name="obj"/> is a null reference or is not an instance of
<see cref="T:System.Attribute"/>, returns <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>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetCustomAttribute">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute GetCustomAttribute(class System.Reflection.Assembly element, class System.Type attributeType)"/>
					<MemberSignature Language="C#" Value="public static Attribute GetCustomAttribute(Assembly element, Type attributeType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Attribute</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.Assembly"/>
						<Parameter Name="attributeType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an instance of a specified custom attribute if a single instance of
      the attribute is in the metadata for the specified assembly.</para>
						</summary>
						<param name="element">A <see cref="T:System.Reflection.Assembly"/> instance.</param>
						<param name="attributeType">The <see cref="T:System.Type"/> of the custom attribute for which to check.</param>
						<returns>
							<para> The single instance of <see cref="T:System.Attribute"/> of type <paramref name="attributeType"/> that is applied to <paramref name="element."/> Returns <see langword="null "/> if the
   specified attribute was not found.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> or <paramref name="attributeType"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="attributeType"/> is not a type derived from <see cref="T:System.Attribute"/>.</exception>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one instance of the specified custom attribute was found.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">If multiple instances of <paramref name="attributeType"/> can be
   applied to <paramref name="element"/>, use <see cref="M:System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo,System.Type)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetCustomAttribute">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute GetCustomAttribute(class System.Reflection.Module element, class System.Type attributeType)"/>
					<MemberSignature Language="C#" Value="public static Attribute GetCustomAttribute(Module element, Type attributeType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Attribute</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.Module"/>
						<Parameter Name="attributeType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an instance of a specified custom attribute if a single instance of
      the attribute is in the metadata for the specified module.</para>
						</summary>
						<param name="element">A <see cref="T:System.Reflection.Module"/> instance.</param>
						<param name="attributeType">The <see cref="T:System.Type"/> of the custom attribute for which to check.</param>
						<returns>
							<para> The single instance of <see cref="T:System.Attribute"/> of type <paramref name="attributeType"/> that is applied to <paramref name="element."/> Returns <see langword="null "/> if the
   specified attribute was not found.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> or <paramref name="attributeType"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="attributeType"/> is not a type derived from <see cref="T:System.Attribute"/>.</exception>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one instance of the specified custom attribute was found.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">If multiple instances of <paramref name="attributeType"/> can be
   applied to <paramref name="element"/>, use <see cref="M:System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo,System.Type)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetCustomAttribute">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute GetCustomAttribute(class System.Reflection.ParameterInfo element, class System.Type attributeType)"/>
					<MemberSignature Language="C#" Value="public static Attribute GetCustomAttribute(ParameterInfo element, Type attributeType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Attribute</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.ParameterInfo"/>
						<Parameter Name="attributeType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an instance of a specified custom attribute if a single instance of
      the attribute is in the metadata for the specified parameter.</para>
						</summary>
						<param name="element">A <see cref="T:System.Reflection.ParameterInfo"/> instance.</param>
						<param name="attributeType">The <see cref="T:System.Type"/> of the custom attribute for which to check.</param>
						<returns>
							<para> The single instance of <see cref="T:System.Attribute"/> of type <paramref name="attributeType"/> that is applied to <paramref name="element."/> Returns <see langword="null "/> if the
   specified attribute was not found.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> or <paramref name="attributeType"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="attributeType"/> is not a type derived from <see cref="T:System.Attribute"/>.</exception>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one instance of the specified custom attribute was found.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">If multiple instances of <paramref name="attributeType"/> can be
   applied to <paramref name="element"/>, use <see cref="M:System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo,System.Type)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetCustomAttribute">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute GetCustomAttribute(class System.Reflection.MemberInfo element, class System.Type attributeType)"/>
					<MemberSignature Language="C#" Value="public static Attribute GetCustomAttribute(MemberInfo element, Type attributeType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Attribute</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.MemberInfo"/>
						<Parameter Name="attributeType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an instance of a specified custom attribute if a single instance of
      the attribute is in the metadata for the specified member.</para>
						</summary>
						<param name="element">An instance of a type derived from <see cref="T:System.Reflection.MemberInfo"/> that describes a type member.</param>
						<param name="attributeType">The <see cref="T:System.Type"/> of the custom attribute for which to check.</param>
						<returns>
							<para> The single instance of <see cref="T:System.Attribute"/> of type <paramref name="attributeType"/> that is applied to <paramref name="element."/> Returns <see langword="null "/> if the
   specified attribute was not found.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> or <paramref name="attributeType"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="attributeType"/> is not a type derived from <see cref="T:System.Attribute"/>.</exception>
						<exception cref="T:System.NotSupportedException">
							<paramref name="element"/> does not represent a constructor, method, property, event, type, or field member. </exception>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one instance of the specified custom attribute was found.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">If multiple instances of <paramref name="attributeType"/> can be
   applied to <paramref name="element"/>, use <see cref="M:System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo,System.Type)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetCustomAttributes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.Assembly element)"/>
					<MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes(Assembly element);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Attribute[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.Assembly"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an array of all
      custom attributes in the metadata for the specified assembly.</para>
						</summary>
						<param name="element">A <see cref="T:System.Reflection.Assembly"/> instance.</param>
						<returns>
							<para> A <see cref="T:System.Attribute"/> array containing
   all custom attributes that are applied to <paramref name="element."/>
   The
   array includes any inherited custom attributes. Returns
   an empty array if no custom attributes were found in the metadata for
<paramref name="element"/> 
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> is <see langword="null"/>.</exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetCustomAttributes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.Module element)"/>
					<MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes(Module element);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Attribute[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.Module"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an array of all
      custom attributes in the metadata for the specified module.</para>
						</summary>
						<param name="element">A <see cref="T:System.Reflection.Module"/> instance.</param>
						<returns>
							<para> A <see cref="T:System.Attribute"/> array containing
   all custom attributes that are applied to <paramref name="element."/>
   The array includes any inherited custom attributes. Returns
   an empty array if no custom attributes were found in the metadata for
<paramref name="element"/> 
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> is <see langword="null"/>.</exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetCustomAttributes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.ParameterInfo element)"/>
					<MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes(ParameterInfo element);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Attribute[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.ParameterInfo"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an array of all
      custom attributes in the metadata for the specified parameter.</para>
						</summary>
						<param name="element">A <see cref="T:System.Reflection.ParameterInfo"/> instance.</param>
						<returns>
							<para> A <see cref="T:System.Attribute"/> array containing
   all custom attributes that are applied to <paramref name="element."/> The array includes any inherited custom
   attributes. Returns
   an empty array if no custom attributes were found in the metadata for
<paramref name="element"/> 
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> is <see langword="null"/>.</exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetCustomAttributes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.Assembly element, class System.Type attributeType)"/>
					<MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes(Assembly element, Type attributeType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Attribute[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.Assembly"/>
						<Parameter Name="attributeType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an array of the instances of a specified custom attribute if the
      attribute is in the metadata for the specified assembly.</para>
						</summary>
						<param name="element">A <see cref="T:System.Reflection.Assembly"/> instance.</param>
						<param name="attributeType">The <see cref="T:System.Type"/> of the custom attribute for which to check.</param>
						<returns>
							<para> An array of type <paramref name="attributeType"/> containing the instances that are applied to <paramref name="element."/> The array includes any inherited instances 
   of <paramref name="attributeType"/>. Returns an empty array if the
   specified attribute was not found.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> or <paramref name="type"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="attributeType"/> is not a type derived from <see cref="T:System.Attribute"/>.</exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetCustomAttributes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.Module element, class System.Type attributeType)"/>
					<MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes(Module element, Type attributeType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Attribute[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.Module"/>
						<Parameter Name="attributeType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an array of the instances of a specified custom attribute if the
      attribute is in the metadata for the specified module.</para>
						</summary>
						<param name="element">A <see cref="T:System.Reflection.Module"/> instance.</param>
						<param name="attributeType">The <see cref="T:System.Type"/> of the custom attribute for which to check.</param>
						<returns>
							<para> An array of type <paramref name="attributeType"/> containing the instances that are applied to <paramref name="element."/> The array includes any inherited instances
   of <paramref name="attributeType"/>. Returns an empty array if the
   specified attribute was not found.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> or <paramref name="type"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="attributeType"/> is not a type derived from <see cref="T:System.Attribute"/>.</exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetCustomAttributes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.ParameterInfo element, class System.Type attributeType)"/>
					<MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes(ParameterInfo element, Type attributeType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Attribute[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.ParameterInfo"/>
						<Parameter Name="attributeType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an array of the instances of a specified custom attribute if the
      attribute is in the metadata for the specified parameter.</para>
						</summary>
						<param name="element">A <see cref="T:System.Reflection.ParameterInfo"/> instance.</param>
						<param name="attributeType">The <see cref="T:System.Type"/> of the custom attribute for which to check.</param>
						<returns>
							<para> An array of type <paramref name="attributeType"/> containing the instances that are applied to <paramref name="element."/> The array includes any inherited instances
   of <paramref name="attributeType"/>. Returns an empty array if the
   specified attribute was not found.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> or <paramref name="attributeType"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="attributeType"/> is not a type derived from <see cref="T:System.Attribute"/>.</exception>
						<remarks>
							<para>If <paramref name="element"/> represents a
   method parameter, the array returned by <see cref="M:System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo,System.Type)"/>
   includes any <paramref name="attributeType"/> instances
   for the parameter <paramref name="element"/> in the base methods.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetCustomAttributes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.MemberInfo element)"/>
					<MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes(MemberInfo element);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Attribute[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.MemberInfo"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an array of all
      custom attributes in the metadata for the specified member.</para>
						</summary>
						<param name="element">An instance of a type derived from <see cref="T:System.Reflection.MemberInfo"/> that describes a type member.</param>
						<returns>
							<para> A <see cref="T:System.Attribute"/> array containing
   all custom attributes that are applied to <paramref name="element."/> The array includes custom attributes that are inherited by
<paramref name="element"/>, if any. Returns 
   an empty array if no custom attributes were found in the metadata for
<paramref name="element"/> 
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.NotSupportedException">
							<paramref name="element"/> does not represent a constructor, method, property, event, type, or field member. </exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetCustomAttributes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Attribute[] GetCustomAttributes(class System.Reflection.MemberInfo element, class System.Type type)"/>
					<MemberSignature Language="C#" Value="public static Attribute[] GetCustomAttributes(MemberInfo element, Type type);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Attribute[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.MemberInfo"/>
						<Parameter Name="type" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an array of the instances of a specified custom attribute if the
      attribute is in the metadata for the specified member.</para>
						</summary>
						<param name="element">An instance of a type derived from <see cref="T:System.Reflection.MemberInfo"/> that describes a type member.</param>
						<param name="type">The <see cref="T:System.Type"/> of the custom attribute for which to check.</param>
						<returns>
							<para> An array of type <paramref name="type"/> containing the instances that are applied to <paramref name="element."/> The array includes instances
   of <paramref name="type"/> that are inherited by
<paramref name="element"/>, if any. Returns an empty array if the
   specified attribute was not found.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> or <paramref name="type"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="type"/> is not a type derived from <see cref="T:System.Attribute"/>.</exception>
						<exception cref="T:System.NotSupportedException">
							<paramref name="element"/> does not represent a constructor, method, property, event, type, or field member. </exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetHashCode">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetHashCode()"/>
					<MemberSignature Language="C#" Value="public override int GetHashCode();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para>
      The algorithm used to generate the hash code is
      unspecified.
   </para>
							<para>
								<block subset="none" type="note">
      This method overrides <see cref="M:System.Object.GetHashCode"/>.
   </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsDefined">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsDefined(class System.Reflection.MemberInfo element, class System.Type attributeType)"/>
					<MemberSignature Language="C#" Value="public static bool IsDefined(MemberInfo element, Type attributeType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.MemberInfo"/>
						<Parameter Name="attributeType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Boolean"/> value indicating whether a specified custom
   attribute is present in the metadata for the specified member.</para>
						</summary>
						<param name="element">An instance of a type derived from <see cref="T:System.Reflection.MemberInfo"/> that describes a type member.</param>
						<param name="attributeType">The <see cref="T:System.Type"/> of the custom attribute for which to check.</param>
						<returns>
							<para>
								<see langword="true"/> if a custom attribute of type
<paramref name="attributeType"/> is applied to <paramref name="element"/> either directly or through inheritance; otherwise, 
<see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> or <paramref name="attributeType"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="attributeType"/> is not derived from <see cref="T:System.Attribute"/>.</exception>
						<exception cref="T:System.NotSupportedException">
							<paramref name="element"/> is not a constructor, method, property, event, type, or field. </exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsDefined">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsDefined(class System.Reflection.ParameterInfo element, class System.Type attributeType)"/>
					<MemberSignature Language="C#" Value="public static bool IsDefined(ParameterInfo element, Type attributeType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.ParameterInfo"/>
						<Parameter Name="attributeType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Boolean"/> value indicating whether a specified custom attribute is present in the
   metadata for the specified parameter.</para>
						</summary>
						<param name="element">A <see cref="T:System.Reflection.ParameterInfo"/> instance.</param>
						<param name="attributeType">The <see cref="T:System.Type"/> of the custom attribute for which to check.</param>
						<returns>
							<para>
								<see langword="true"/> if a custom attribute of type
<paramref name="attributeType"/> is applied to <paramref name="element"/> either directly or through 
   inheritance; otherwise, <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> or <paramref name="attributeType"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="attributeType"/> is not derived from <see cref="T:System.Attribute"/>.</exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsDefined">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsDefined(class System.Reflection.Module element, class System.Type attributeType)"/>
					<MemberSignature Language="C#" Value="public static bool IsDefined(Module element, Type attributeType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.Module"/>
						<Parameter Name="attributeType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> value indicating whether a specified custom attribute is present in
   the metadata for the specified module.</para>
						</summary>
						<param name="element">A <see cref="T:System.Reflection.Module"/> instance.</param>
						<param name="attributeType">The <see cref="T:System.Type"/> of the custom attribute for which to check.</param>
						<returns>
							<para>
								<see langword="true"/> if a custom attribute of type
<paramref name="attributeType"/> is applied to <paramref name="element"/> 
; otherwise, <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> or <paramref name="attributeType"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="attributeType"/> is not derived from <see cref="T:System.Attribute"/>.</exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsDefined">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsDefined(class System.Reflection.Assembly element, class System.Type attributeType)"/>
					<MemberSignature Language="C#" Value="public static bool IsDefined(Assembly element, Type attributeType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="element" Type="System.Reflection.Assembly"/>
						<Parameter Name="attributeType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Boolean"/> value indicating whether a specified custom attribute is present in the metadata for the
   specified assembly.</para>
						</summary>
						<param name="element">A <see cref="T:System.Reflection.Assembly"/> instance.</param>
						<param name="attributeType">The <see cref="T:System.Type"/> of the custom attribute for which to check.</param>
						<returns>
							<para>
								<see langword="true"/> if a custom attribute of type 
<paramref name="attributeType"/> is applied to <paramref name="element"/>; otherwise, 
<see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="element"/> or <paramref name="attributeType"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="attributeType"/> is not derived from <see cref="T:System.Attribute"/>.</exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="AttributeTargets" FullName="System.AttributeTargets" FullNameSP="System_AttributeTargets">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable AttributeTargets extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum AttributeTargets"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Enumerates the application elements to which it is valid to attach
      an attribute.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.AttributeTargets"/> is used as a parameter for <see cref="T:System.AttributeUsageAttribute"/> to enable an attribute to be
   associated with one or more kinds of application elements.</para>
				</remarks>
				<example>
					<para> The following example demonstrates how <see cref="T:System.AttributeTargets"/> can be
   used with <see cref="T:System.AttributeUsageAttribute"/> so that a user-defined attribute class, <paramref name="Author"/>,
   may be applied to structures and classes. The <paramref name="Author"/> attribute is then
   applied to a class.
   There is no output.</para>
					<code lang="C#">using System;

[AttributeUsageAttribute(AttributeTargets.Class|
                         AttributeTargets.Struct)]
public class Author : Attribute {

   public Author(string Name) {
 
     this.name = Name; }
     string name;
   }

[Author("John Q Public")]
class JohnsClass {

   public static void Main() {
   }
}
</code>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>FlagsAttribute</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="All">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets All = Assembly | 0x2 | Class | Struct | Enum | Constructor | Method | Property | Field | Event | Interface | Parameter | Delegate | ReturnValue"/>
					<MemberSignature Language="C#" Value="All = Assembly | 0x2 | Class | Struct | Enum | Constructor | Method | Property | Field | Event | Interface | Parameter | Delegate | ReturnValue;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>All</MemberValue>
					<Docs>
						<summary>
							<para> Attribute can be applied to any element.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Assembly">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets Assembly = 0x1"/>
					<MemberSignature Language="C#" Value="Assembly = 0x1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Assembly</MemberValue>
					<Docs>
						<summary>
							<para>       Attribute can be applied to an assembly.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Class">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets Class = 0x4"/>
					<MemberSignature Language="C#" Value="Class = 0x4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Class</MemberValue>
					<Docs>
						<summary>
							<para>       Attribute can be applied to a class.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Constructor">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets Constructor = 0x20"/>
					<MemberSignature Language="C#" Value="Constructor = 0x20;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Constructor</MemberValue>
					<Docs>
						<summary>
							<para>       Attribute can be applied to a constructor.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Delegate">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets Delegate = 0x1000"/>
					<MemberSignature Language="C#" Value="Delegate = 0x1000;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Delegate</MemberValue>
					<Docs>
						<summary>
							<para>       Attribute can be applied to a delegate.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Enum">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets Enum = 0x10"/>
					<MemberSignature Language="C#" Value="Enum = 0x10;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Enum</MemberValue>
					<Docs>
						<summary>
							<para>       Attribute can be applied to an enumeration.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Event">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets Event = 0x200"/>
					<MemberSignature Language="C#" Value="Event = 0x200;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Event</MemberValue>
					<Docs>
						<summary>
							<para>       Attribute can be applied to an event.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Field">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets Field = 0x100"/>
					<MemberSignature Language="C#" Value="Field = 0x100;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Field</MemberValue>
					<Docs>
						<summary>
							<para>       Attribute can be applied to a field.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Interface">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets Interface = 0x400"/>
					<MemberSignature Language="C#" Value="Interface = 0x400;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Interface</MemberValue>
					<Docs>
						<summary>
							<para>       Attribute can be applied to an interface.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Method">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets Method = 0x40"/>
					<MemberSignature Language="C#" Value="Method = 0x40;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Method</MemberValue>
					<Docs>
						<summary>
							<para>       Attribute can be applied to a method.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Module">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets Module = 0x2"/>
					<MemberSignature Language="C#" Value="Module = 0x2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Module</MemberValue>
					<Docs>
						<summary>
							<para>       Attribute can be applied to a module.
      </para>
						</summary>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName="Parameter">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets Parameter = 0x800"/>
					<MemberSignature Language="C#" Value="Parameter = 0x800;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Parameter</MemberValue>
					<Docs>
						<summary>
							<para>       Attribute can be applied to a parameter.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Property">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets Property = 0x80"/>
					<MemberSignature Language="C#" Value="Property = 0x80;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Property</MemberValue>
					<Docs>
						<summary>
							<para>       Attribute can be applied to a property.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReturnValue">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets ReturnValue = 0x2000"/>
					<MemberSignature Language="C#" Value="ReturnValue = 0x2000;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ReturnValue</MemberValue>
					<Docs>
						<summary>
							<para>Attribute can be applied to a return value.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Struct">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.AttributeTargets Struct = 0x8"/>
					<MemberSignature Language="C#" Value="Struct = 0x8;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Struct</MemberValue>
					<Docs>
						<summary>
							<para>       Attribute can be applied to a value type.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="AttributeUsageAttribute" FullName="System.AttributeUsageAttribute" FullNameSP="System_AttributeUsageAttribute">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable AttributeUsageAttribute extends System.Attribute"/>
			<TypeSignature Language="C#" Value="public sealed class AttributeUsageAttribute : Attribute"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Specifies the behavior of
      a custom attribute when that attribute is defined.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note"> Custom attributes
      may be applied to various application ("target") elements, such as classes,
      parameters, and structures (see <see cref="T:System.AttributeTargets"/> for the full list). The <see cref="T:System.AttributeUsageAttribute"/>
      class contains three properties that govern custom attribute behavior: the kinds
      of application elements the attribute may be associated with; whether the
      attribute may or may not be inherited by derived elements; and whether multiple
      instances of the attribute may or may not be allowed on the
      same target element. </block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Attribute</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple=false, Inherited=true)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.AttributeTargets validOn)"/>
					<MemberSignature Language="C#" Value="public AttributeUsageAttribute(AttributeTargets validOn);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="validOn" Type="System.AttributeTargets"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.AttributeUsageAttribute"/>
class.</para>
						</summary>
						<param name="validOn">The set of application elements to which the attribute will be applied. When indicating multiple application elements, <paramref name="validOn"/> is a bitwise OR combination of <see cref="T:System.AttributeTargets"/> enumeration values.</param>
						<remarks>
							<para>The new instance will be constructed with the specified
      value of <paramref name="validOn"/> and the properties <see cref="P:System.AttributeUsageAttribute.AllowMultiple"/> and <see cref="P:System.AttributeUsageAttribute.Inherited"/> set to their default values (<see langword="false"/> and
   <see langword="true"/>
   respectively).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowMultiple">
					<MemberSignature Language="ILASM" Value=".property bool AllowMultiple { public hidebysig specialname instance bool get_AllowMultiple() public hidebysig specialname instance void set_AllowMultiple(bool value) }"/>
					<MemberSignature Language="C#" Value="public bool AllowMultiple { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets a value indicating whether more than one instance of a specified attribute is permitted to be applied
      to any given program element.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Boolean" qualify="true"/> where <see langword="true"/> indicates more than one instance of the
   attribute is permitted to be applied; otherwise, <see langword="false"/>. The
   default is <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note"> It is expected that compilers will
      validate this property; this property is not validated during execution.</block>
							</para>
						</remarks>
						<example>
							<para>
								<see langword="Example #1:"/>
							</para>
							<para> The following example demonstrates the use of <see cref="P:System.AttributeUsageAttribute.AllowMultiple"/>. If
<see langword="AllowMultiple"/> for an attribute is set to <see langword="true"/>, more
than one of those attributes may be assigned to any given program element.</para>
							<code lang="C#">using System;

[AttributeUsageAttribute( AttributeTargets.Class |
                          AttributeTargets.Struct,
                          AllowMultiple = true )]
public class Author : Attribute {

  public Author(string name) { this.name = name; }
  public string name;
}

[Author( "John Doe" )]
[Author( "John Q Public" )]
class JohnsClass {

  public static void Main() {}
}
</code>
							<para>
								<see langword="Example #2:"/>
							</para>
							<para> The following example demonstrates an error that is expected to be
   caught by compilers: the sample attempts to assign multiple instances of
   an attribute for which <see langword="AllowMultiple"/>
   was set to <see langword="false"/>.</para>
							<code lang="C#">using System;

[AttributeUsageAttribute( AttributeTargets.Class |
                          AttributeTargets.Struct,
                          AllowMultiple = false )]
public class Author : Attribute {

  public Author(string name) { this.name = name; }
  public string name;
}

[Author( "John Doe" )]
[Author( "John Q Public" )]
class JohnsClass {

  public static void Main() {}
}
</code>
							<para>This should throw an error similar to:</para>
							<para>error CS0579: Duplicate 'Author' attribute</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Inherited">
					<MemberSignature Language="ILASM" Value=".property bool Inherited { public hidebysig specialname instance bool get_Inherited() public hidebysig specialname instance void set_Inherited(bool value) }"/>
					<MemberSignature Language="C#" Value="public bool Inherited { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets a <see cref="T:System.Boolean" qualify="true"/> value indicating whether the attribute can be inherited by
   subclasses of the class to which the attribute is applied.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> indicates the attribute is inherited by subclasses;
   otherwise, <see langword="false"/>. The default is <see langword="true"/>.</para>
						</value>
						<remarks>
							<para>Information on an inherited attribute will be included in the metadata for
      the class on which it is applied, but will not be included in the metadata for
      classes that derive from it. A metadata consumer (such as reflection) is
      required therefore to traverse up the inheritance chain of a class if that
      consumer is interested in <see cref="T:System.Attribute"/> data that is marked inherited, but applied to an
      ancestor class. There is nothing for the compiler to validate at compile
      time.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ValidOn">
					<MemberSignature Language="ILASM" Value=".property valuetype System.AttributeTargets ValidOn { public hidebysig specialname instance valuetype System.AttributeTargets get_ValidOn() }"/>
					<MemberSignature Language="C#" Value="public AttributeTargets ValidOn { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.AttributeTargets</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the set of values sent to the <see cref="T:System.AttributeUsageAttribute"/> constructor that indicate to which targets the custom attribute may be applied.</para>
						</summary>
						<value>
							<para> One or more of the <see cref="T:System.AttributeTargets"/> 
values sent to the constructor, combined by a bitwise OR operation.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Boolean" FullName="System.Boolean" FullNameSP="System_Boolean">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable Boolean extends System.ValueType implements System.IComparable"/>
			<TypeSignature Language="C#" Value="public struct Boolean : IComparable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents a Boolean value.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Boolean"/> value type represents the logical values
<see langword="true"/> and <see langword="false"/>.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object obj)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared
      to the specified <see cref="T:System.Object"/>
      .</para>
						</summary>
						<param name=" obj">A <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   current instance as compared to <paramref name="obj"/>
   . The following table defines the
   conditions under which the returned value is a negative number, zero, or a
   positive number.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Condition</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>Current instance is <see langword="false"/> and
<paramref name="obj"/> is <see langword="true"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>Current instance == <paramref name="obj"/>
.</description>
								</item>
								<item>
									<term> Any
      positive number</term>
									<description>Current instance is <see langword="true"/> and
<paramref name="obj"/> is <see langword="false"/>, or <paramref name="obj"/> is a null 
   reference.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="obj"/> is not a <see cref="T:System.Boolean"/> and is not a null reference.</exception>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is
      implemented to support the <see cref="T:System.IComparable"/> interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the specified
   <see cref="T:System.Object"/> represent the same type and
      value.</para>
						</summary>
						<param name=" obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> is a <see cref="T:System.Boolean"/> with the same value as
   the current instance. If <paramref name="obj"/> is a null reference or is not an instance
   of <see cref="T:System.Boolean"/>,
   returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FalseString">
					<MemberSignature Language="ILASM" Value=".field public static initOnly string FalseString"/>
					<MemberSignature Language="C#" Value="public static readonly string FalseString;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>False</MemberValue>
					<Docs>
						<summary>
							<para>Contains a <see cref="T:System.String"/> representation of the logical value
<see langword="false"/>.</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para>The value of this <see cref="T:System.String"/> is "False".</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> value containing a hash code for the current
   instance.</para>
						</returns>
						<remarks>
							<para> The algorithm used to
      generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.GetHashCode"/> .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool Parse(string value)"/>
					<MemberSignature Language="C#" Value="public static bool Parse(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Boolean"/>
value.</para>
						</summary>
						<param name=" value">A <see cref="T:System.String"/> containing the value to convert. The string is equivalent to either <see cref="F:System.Boolean.TrueString"/> or <see cref="F:System.Boolean.FalseString"/>, can contain leading and/or trailing whitespace, and is parsed in a case-insensitive manner.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> is equivalent to
<see cref="F:System.Boolean.TrueString"/>; otherwise, <see langword="false"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> is not equivalent to either <see cref="F:System.Boolean.TrueString"/> or <see cref="F:System.Boolean.FalseString"/>.</exception>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Boolean.Parse(System.String)"/> method.</para>
							<code lang="C#">using System;
public class BoolParse {
   public static void Main() {
      Boolean b = Boolean.Parse("  true  ");
      Console.WriteLine("\"  true  \" parses to \"{0}\".", b);
   }
}
   </code>
							<para>The output is</para>
							<para>
								<c>" true " 
      parses to "True".</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts the value of this instance to its equivalent <see langword="String"/>
representation.</para>
						</summary>
						<param name=" provider">(Reserved) A <see cref="T:System.IFormatProvider"/> object.</param>
						<returns>
							<para>
								<see cref="F:System.Boolean.TrueString"/> if the
   value of this instance is <see langword="true"/>, or
<see cref="F:System.Boolean.FalseString"/> if the value of this instance is 
<see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>The <paramref name="provider"/> parameter is reserved. It does not participate in the
   execution of this method.</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current
   instance. </para>
						</summary>
						<returns>
							<para>
								<see cref="F:System.Boolean.FalseString"/> if the value of the current instance is
<see langword="false"/>; otherwise, <see cref="F:System.Boolean.TrueString"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method 
      overrides <see cref="M:System.Object.ToString"/>
      .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TrueString">
					<MemberSignature Language="ILASM" Value=".field public static initOnly string TrueString"/>
					<MemberSignature Language="C#" Value="public static readonly string TrueString;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>True</MemberValue>
					<Docs>
						<summary>
							<para>Contains a <see cref="T:System.String"/> representation of the logical value
<see langword="true"/>.</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para>The value of this <see cref="T:System.String"/> is "True".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Byte" FullName="System.Byte" FullNameSP="System_Byte">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable Byte extends System.ValueType implements System.IComparable, System.IFormattable"/>
			<TypeSignature Language="C#" Value="public struct Byte : IComparable, IFormattable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents an 8-bit unsigned integer.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Byte"/> data type represents integer values ranging from 0
   to positive 255 (hexadecimal 0xFF).</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IFormattable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared 
      to the specified
      object.</para>
						</summary>
						<param name=" value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   current instance as compared to <paramref name="value"/>. The following table defines the
   conditions under which the return value is a negative number, zero, or a
   positive number.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>Current instance &lt; <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>Current instance == <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>Current instance &gt; <paramref name="value"/>, or
<paramref name="value"/> is a null reference.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is not a <see cref="T:System.Byte"/> and is not a null reference.</exception>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is
      implemented to support the <see cref="T:System.IComparable"/> interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the 
 specified <see cref="T:System.Object"/> represent the same type and
 value.</para>
						</summary>
						<param name=" obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> represents the 
 same type and value as the current instance. If <paramref name="obj"/> is a null reference
 or is not an instance of <see cref="T:System.Byte"/>, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method 
 overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para> The algorithm used to
      generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxValue">
					<MemberSignature Language="ILASM" Value=".field public static literal unsigned int8 MaxValue = 255"/>
					<MemberSignature Language="C#" Value="public const byte MaxValue = 255;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>255</MemberValue>
					<Docs>
						<summary>
							<para>Contains the maximum value for the <see cref="T:System.Byte"/> type.</para>
						</summary>
						<remarks>
							<para> The value of this constant is 255 (hexadecimal 0XFF).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinValue">
					<MemberSignature Language="ILASM" Value=".field public static literal unsigned int8 MinValue = 0"/>
					<MemberSignature Language="C#" Value="public const byte MinValue = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>0</MemberValue>
					<Docs>
						<summary>
							<para>Contains the minimum value for the <see cref="T:System.Byte"/> type.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 0.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 Parse(string s)"/>
					<MemberSignature Language="C#" Value="public static byte Parse(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Byte"/>
value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<returns>
							<para>The <see cref="T:System.Byte"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s "/>is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s "/>represents a number greater than <see cref="F:System.Byte.MaxValue"/> or less than <see cref="F:System.Byte.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Byte.Parse(System.String)"/> is equivalent to <see cref="M:System.Byte.Parse(System.String)"/> (<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/> , <see langword="null"/>
).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system 
culture. <block subset="none" type="note"> For more information, see
<see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Byte.Parse(System.String)"/> method.</para>
							<code lang="C#">using System;
public class ByteParseClass {
public static void Main() {
   string str = "  100   ";
   Console.WriteLine("String: \"{0}\" &lt;Byte&gt; {1}",str,Byte.Parse(str));
}
}
   </code>
							<para>The output is</para>
							<para>
								<c>String: "
      100 " &lt;Byte&gt; 100</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 Parse(string s, valuetype System.Globalization.NumberStyles style)"/>
					<MemberSignature Language="C#" Value="public static byte Parse(string s, NumberStyles style);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Byte"/>
value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/> . </param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<returns>
							<para>The <see cref="T:System.Byte"/> value obtained from <paramref name="s"/>
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s "/>is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Byte.MaxValue"/> or less than <see cref="F:System.Byte.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Byte.Parse(System.String)"/> is equivalent to <see cref="M:System.Byte.Parse(System.String)"/> (<paramref name="s"/>,
<paramref name="style"/> , <see langword="null"/> ).</para>
							<para>The string <paramref name="s "/>is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system culture. <block subset="none" type="note"> For more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/> .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 Parse(string s, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static byte Parse(string s, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Byte"/>
value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.Byte"/> value obtained from <paramref name="s"/>
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Byte.MaxValue"/> or less than <see cref="F:System.Byte.MinValue"/>.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Byte.Parse(System.String)"/> is equivalent to <see cref="M:System.Byte.Parse(System.String)"/> (<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/>
, <paramref name="provider"/> ).</para>
							<para>The string <paramref name="s"/> is parsed using the
culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> 
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 Parse(string s, valuetype System.Globalization.NumberStyles style, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static byte Parse(string s, NumberStyles style, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Byte"/>
value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/> .</param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.Byte"/> value obtained from <paramref name="s"/>
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s "/>is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Byte.MaxValue"/> or less than <see cref="F:System.Byte.MinValue"/>.</exception>
						<remarks>
							<para>The string <paramref name="s"/> is parsed using the culture-specific
   formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>.
   If <paramref name="provider"/> is
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from
<paramref name="provider"/>, the formatting information for the current system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the
   current instance. </para>
						</summary>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information. </param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string takes into account the
   information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Byte.ToString"/> is equivalent to <see cref="M:System.Byte.ToString"/>("G",
<paramref name="provider"/> ).</para>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
be obtained from <paramref name="provider"/>, the formatting information for the current system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(string format, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of
   the current instance. </para>
						</summary>
						<param name=" format">
							<para>A <see cref="T:System.String"/> containing a character that specifies the format of the returned string.</para>
						</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing culture-specific formatting information. </param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the information in
   the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>If <paramref name="provider"/> is
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
   be obtained from <paramref name="provider"/>
   , the formatting information for the current system culture is
   used.</para>
							<para>If <paramref name="format"/> is a
<see langword="null"/> reference, the general format specifier "G" is
used.</para>
							<para>The following table lists the characters that are valid for the <see cref="T:System.Byte"/> type:</para>
							<list type="table">
								<listheader>
									<term>Format Characters</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> "C", "c"</term>
									<description>Currency format.</description>
								</item>
								<item>
									<term> "D", "d"</term>
									<description>Decimal format.</description>
								</item>
								<item>
									<term> "E", "e"</term>
									<description>Exponential notation format.</description>
								</item>
								<item>
									<term> "F", "f"</term>
									<description>Fixed-point format.</description>
								</item>
								<item>
									<term> "G", "g"</term>
									<description>General format.</description>
								</item>
								<item>
									<term> "N", "n"</term>
									<description>Number format.</description>
								</item>
								<item>
									<term> "P", "p"</term>
									<description>Percent format.</description>
								</item>
								<item>
									<term> "X", "x"</term>
									<description>Hexadecimal format.</description>
								</item>
							</list>
							<block subset="none" type="note">
								<para>For a detailed description of formatting, see the <see cref="T:System.IFormattable"/>
interface.</para>
								<para>This method is implemented to support the <see cref="T:System.IFormattable"/> interface.</para>
							</block>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current
   instance. </para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current
   instance formatted using the general format specifier ("G"). The string takes into account the current
   system culture.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Byte.ToString"/> is equivalent to <see cref="M:System.Byte.ToString"/> (<see langword="null"/>, <see langword="null"/> ).</para>
							<para>
								<block subset="none" type="note"> This method
   overrides <see cref="M:System.Object.ToString"/> .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(string format)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<param name=" format">A <see cref="T:System.String"/> that specifies the format of the returned string. <block subset="none" type="note"> For a list of valid values, see <see cref="M:System.Byte.ToString"/>(<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/> ).</block>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the current system
   culture.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Byte.ToString"/> is equivalent to <see cref="M:System.Byte.ToString"/>
(<paramref name="format"/> ,
<see langword="null"/>
).</para>
							<para>If <paramref name="format"/>
is <see langword="null"/>
, the general format specifier "G" is used. </para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Byte.ToString"/> method.</para>
							<code lang="C#">using System;
public class ByteToStringExample {
   public static void Main() {
      Byte b = 8;
      Console.WriteLine(b);
      String[] formats = {"c", "d", "e", "f", "g", "n", "p", "x" };
      foreach(String str in formats)
         Console.WriteLine("{0}: {1}", str, b.ToString(str));
   }
}
   </code>
							<para>The output is</para>
							<c>
								<para>8</para>
								<para>c: $8.00</para>
								<para>d: 8</para>
								<para>e: 8.000000e+000</para>
								<para>f: 8.00</para>
								<para>g: 8</para>
								<para>n: 8.00</para>
								<para>p: 800.00 %</para>
								<para>x: 8</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Char" FullName="System.Char" FullNameSP="System_Char">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable Char extends System.ValueType implements System.IComparable"/>
			<TypeSignature Language="C#" Value="public struct Char : IComparable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents a Unicode character.
      </para>
				</summary>
				<remarks>
					<para> The <see cref="T:System.Char"/> value
   type represents Unicode characters, with
   code points ranging from 0 to 65,535.
   </para>
					<para>
						<block subset="none" type="note"> The <paramref name="code point"/> of a Unicode
character is that character's 2-byte, encoded value.</block>
					</para>
					<para>
						<block subset="none" type="note">The <see cref="T:System.Globalization.UnicodeCategory"/> enumeration describes the categories that
a Unicode character can be mapped to. For information on mapping specific Unicode
characters to Unicode categories, see the UnicodeData.txt file in the
Unicode Character Database at http://www.unicode.org/Public/UNIDATA/UnicodeCharacterDatabase.html. The
UnicodeData.txt file format is described at http://www.unicode.org/Public/3.1-Update/UnicodeData-3.1.0.html.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared
      to the specified <see cref="T:System.Object"/>
      .</para>
						</summary>
						<param name=" value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing a value that reflects the sort order of the current instance as
compared to <paramref name="value"/>. The following table defines the conditions under
which the returned value is a negative number, zero, or a positive number.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>Current instance &lt; <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>Current instance == <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>
										<para>Current instance &gt; <paramref name="value"/>, or
<paramref name="value"/> is a null reference.</para>
									</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is not a <see cref="T:System.Char"/> and is not a null reference.</exception>
						<remarks>
							<para>The comparison performed by this method is based on the
      code points of the current instance and <paramref name="value"/>, not necessarily their
      lexicographical characteristics.</para>
							<para>
								<block subset="none" type="note"> This method is
      implemented to support the <see cref="T:System.IComparable"/> interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the 
 specified <see cref="T:System.Object"/> represent the same type and
 value.</para>
						</summary>
						<param name=" obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> represents the 
 same type and value as the current instance. If <paramref name="obj"/> is a null reference
 or is not an instance of <see cref="T:System.Char"/>, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>The comparison performed by this method is based on the 
 code points of the current instance and <paramref name="obj"/>, not necessarily their
 lexicographical characteristics.</para>
							<para>
								<block subset="none" type="note"> This method 
 overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> value containing a hash code for the current instance.</para>
						</returns>
						<remarks>
							<para> The algorithm used to
      generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetNumericValue">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 GetNumericValue(string s, int32 index)"/>
					<MemberSignature Language="C#" Value="public static double GetNumericValue(string s, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the numeric value associated with the Unicode
      character at the specified position in the specified <see cref="T:System.String"/>.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/>.</param>
						<param name=" index">A <see cref="T:System.Int32"/> that specifies the position of a character in <paramref name="s"/>.</param>
						<returns>
							<para>A <see cref="T:System.Double"/> representing the numeric value associated with the
<see cref="T:System.Char"/> at position 
<paramref name="index"/> in <paramref name="s"/> if and only if that <see cref="T:System.Char"/>
has an associated numeric value; otherwise, -1.0.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="index"/> is less than zero, or greater than or equal to the length of <paramref name="s"/>.</exception>
						<remarks>
							<para>A character has an associated numeric value if and only
      if it is a member of one of the following categories in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.DecimalDigitNumber"/>, <see cref="F:System.Globalization.UnicodeCategory.LetterNumber"/>, or <see cref="F:System.Globalization.UnicodeCategory.OtherNumber"/> .</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="GetNumericValue">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 GetNumericValue(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static double GetNumericValue(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the numeric value associated with the specified
      Unicode character.</para>
						</summary>
						<param name="c">A Unicode character.</param>
						<returns>
							<para>A <see cref="T:System.Double"/> representing the numeric value associated with
<paramref name="c"/> if and only if <paramref name="c"/> has an associated numeric value;
   otherwise, -1.0.</para>
						</returns>
						<remarks>
							<para>A character has an associated numeric value if and only
      if it is a member of one of the following categories in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.DecimalDigitNumber"/>, <see cref="F:System.Globalization.UnicodeCategory.LetterNumber"/>, or <see cref="F:System.Globalization.UnicodeCategory.OtherNumber"/>.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Char.GetNumericValue(System.Char)"/> 
method.</para>
							<code lang="C#">using System;
public class GetNumericValueExample {
public static void Main() {
   Char[] cAry = {'8', 'V', Convert.ToChar(0X00BC)};
   //Unicode U+00BC is the code point for the character 
   //representation of 1/4
   foreach(Char c in cAry) {
      Console.Write("Numeric value of Unicode " +
                    "character {0} ", c);
      Console.WriteLine(" is {0}",
                        Char.GetNumericValue(c));
   }
}
}
</code>
							<para>The output is</para>
							<c>
								<para>Numeric value of Unicode character 8 is 8</para>
								<para>Numeric value of Unicode character V is -1</para>
								<para>Numeric value of Unicode character <onequarter/> is 0.25</para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="GetUnicodeCategory">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Globalization.UnicodeCategory GetUnicodeCategory(string s, int32 index)"/>
					<MemberSignature Language="C#" Value="public static UnicodeCategory GetUnicodeCategory(string s, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines the <see cref="T:System.Globalization.UnicodeCategory"/> of the character at the specified
   position in the specified <see cref="T:System.String"/> .</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/>.</param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the position of a character in <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.Globalization.UnicodeCategory"/> of the <see cref="T:System.Char"/> at position index in <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="index"/> is less than zero, or greater than or equal to the length of <paramref name="s"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note"> For more
      information regarding Unicode categories, see <see cref="T:System.Globalization.UnicodeCategory"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetUnicodeCategory">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Globalization.UnicodeCategory GetUnicodeCategory(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static UnicodeCategory GetUnicodeCategory(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines the <see cref="T:System.Globalization.UnicodeCategory"/> of the specified Unicode character.</para>
						</summary>
						<param name="c">A Unicode character.</param>
						<returns>
							<para>The <see cref="T:System.Globalization.UnicodeCategory"/> of <paramref name="c"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> For more
      information regarding Unicode categories, see <see cref="T:System.Globalization.UnicodeCategory"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsControl">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsControl(string s, int32 index)"/>
					<MemberSignature Language="C#" Value="public static bool IsControl(string s, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the character at the specified
      position in the specified <see cref="T:System.String"/> is a control character.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/>.</param>
						<param name=" index">A <see cref="T:System.Int32"/> that specifies a character position in <paramref name="s"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the character at position
<paramref name="index"/> in <paramref name="s"/> is a member of the following category in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.Control"/>; otherwise, 
<see langword="false"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="index"/> is less than zero, or greater than or equal to the length of <paramref name="s"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsControl">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsControl(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static bool IsControl(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified Unicode character
      is a control character.</para>
						</summary>
						<param name="c">A Unicode character.</param>
						<returns>
							<para>true if <paramref name="c"/> is a member of the following category
   in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.Control"/>; otherwise,
<see langword="false"/>. </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsDigit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsDigit(string s, int32 index)"/>
					<MemberSignature Language="C#" Value="public static bool IsDigit(string s, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the character at the specified
      position in the specified <see cref="T:System.String"/> is a decimal digit.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/>.</param>
						<param name=" index">A <see cref="T:System.Int32"/> that specifies a character position in <paramref name="s"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the character at position
<paramref name="index"/> in <paramref name="s"/> is a member of the following category in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.DecimalDigitNumber"/>; otherwise, 
<see langword="false"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="index"/> is less than zero, or greater than or equal to the length of <paramref name="s"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">
									<see cref="M:System.Char.IsDigit(System.Char)"/> determines
      if a <see cref="T:System.Char"/> is a
      radix-10 digit. This contrasts with <see cref="M:System.Char.IsNumber(System.Char)"/>, which determines if a <see cref="T:System.Char"/> is of any numeric Unicode category.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsDigit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsDigit(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static bool IsDigit(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether a Unicode character is a
      decimal digit.</para>
						</summary>
						<param name="c">A Unicode character. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="c"/> is a member of the
   following category in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.DecimalDigitNumber"/>; otherwise, <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">
									<see cref="M:System.Char.IsDigit(System.Char)"/> determines
      if a Char is a radix-10 digit. This contrasts with <see cref="M:System.Char.IsNumber(System.Char)"/>, which
      determines if a <see cref="T:System.Char"/> is of any numeric Unicode category.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsLetter">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsLetter(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static bool IsLetter(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified Unicode character is
      a letter.</para>
						</summary>
						<param name="c">A Unicode character. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="c"/> is a member of one
   of the following categories in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.UppercaseLetter"/>, <see cref="F:System.Globalization.UnicodeCategory.LowercaseLetter"/>, <see cref="F:System.Globalization.UnicodeCategory.TitlecaseLetter"/>, <see cref="F:System.Globalization.UnicodeCategory.ModifierLetter"/>, or <see cref="F:System.Globalization.UnicodeCategory.OtherLetter"/>; otherwise,
<see langword="false"/>. </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsLetter">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsLetter(string s, int32 index)"/>
					<MemberSignature Language="C#" Value="public static bool IsLetter(string s, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the character at the specified
      position in the specified <see cref="T:System.String"/> is a letter.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/>.</param>
						<param name=" index">A <see cref="T:System.Int32"/> that specifies a character position in <paramref name="s"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the character at position
<paramref name="index"/> in <paramref name="s"/> is a member of one of the following categories in 
<see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.UppercaseLetter"/>, <see cref="F:System.Globalization.UnicodeCategory.LowercaseLetter"/>, <see cref="F:System.Globalization.UnicodeCategory.TitlecaseLetter"/>, <see cref="F:System.Globalization.UnicodeCategory.ModifierLetter"/>, or <see cref="F:System.Globalization.UnicodeCategory.OtherLetter"/>; otherwise, <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="index"/> is less than zero, or greater than or equal to the length of <paramref name="s"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsLetterOrDigit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsLetterOrDigit(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static bool IsLetterOrDigit(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the specified Unicode character is either a letter or a decimal digit.</para>
						</summary>
						<param name="c">A Unicode character. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="c"/> is a member of one
   of the following categories in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.UppercaseLetter"/>, <see cref="F:System.Globalization.UnicodeCategory.LowercaseLetter"/>, <see cref="F:System.Globalization.UnicodeCategory.TitlecaseLetter"/>, <see cref="F:System.Globalization.UnicodeCategory.ModifierLetter"/>, <see cref="F:System.Globalization.UnicodeCategory.OtherLetter"/>, or <see cref="F:System.Globalization.UnicodeCategory.DecimalDigitNumber"/>; otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsLetterOrDigit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsLetterOrDigit(string s, int32 index)"/>
					<MemberSignature Language="C#" Value="public static bool IsLetterOrDigit(string s, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the character at the specified
      position in the specified <see cref="T:System.String"/> is either a letter or a decimal digit.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/>.</param>
						<param name=" index">A <see cref="T:System.Int32"/> that specifies a character position in <paramref name="s"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the character at position
<paramref name="index"/> in <paramref name="s"/> is a member of one of the following categories in 
<see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.UppercaseLetter"/>, <see cref="F:System.Globalization.UnicodeCategory.LowercaseLetter"/>, <see cref="F:System.Globalization.UnicodeCategory.TitlecaseLetter"/>, <see cref="F:System.Globalization.UnicodeCategory.ModifierLetter"/>, <see cref="F:System.Globalization.UnicodeCategory.OtherLetter"/>, or <see cref="F:System.Globalization.UnicodeCategory.DecimalDigitNumber"/>; otherwise, 
<see langword="false"/>. </para>
							<para>
								<see langword=""/>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="index"/> is less than zero, or greater than or equal to the length of <paramref name="s"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsLower">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsLower(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static bool IsLower(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified Unicode character is a lowercase letter.</para>
						</summary>
						<param name="c">A Unicode character. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="c"/> is a member of the
   following category in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.LowercaseLetter"/>; otherwise, <see langword="false"/>.
   </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsLower">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsLower(string s, int32 index)"/>
					<MemberSignature Language="C#" Value="public static bool IsLower(string s, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the character at the specified
      position in the specified <see cref="T:System.String"/> is a lowercase letter.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/>.</param>
						<param name=" index">A <see cref="T:System.Int32"/> that specifies a character position in <paramref name="s"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the character at position
<paramref name="index"/> in <paramref name="s"/> is a member of the following category 
   in <see cref="T:System.Globalization.UnicodeCategory"/>:<see cref="F:System.Globalization.UnicodeCategory.LowercaseLetter"/>;
   otherwise, <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="index"/> is less than zero, or greater than or equal to the length of <paramref name="s"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsNumber">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsNumber(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static bool IsNumber(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified
      Unicode character is a number.</para>
						</summary>
						<param name="c">A Unicode character. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="c"/> is a member of one
   of the following categories in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.DecimalDigitNumber"/>, <see cref="F:System.Globalization.UnicodeCategory.LetterNumber"/>, or <see cref="F:System.Globalization.UnicodeCategory.OtherNumber"/>; otherwise,
<see langword="false"/>. </para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">
									<see cref="M:System.Char.IsNumber(System.Char)"/> determines
      if a <see cref="T:System.Char"/> is of
      any numeric Unicode category. This contrasts with <see cref="M:System.Char.IsDigit(System.Char)"/>, which
      determines if a <see cref="T:System.Char"/> is a radix-10 digit.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsNumber">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsNumber(string s, int32 index)"/>
					<MemberSignature Language="C#" Value="public static bool IsNumber(string s, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the character at the specified
      position in the specified <see cref="T:System.String"/> is a number.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/>.</param>
						<param name=" index">A <see cref="T:System.Int32"/> that specifies a character position in <paramref name="s"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the
   character at position <paramref name="index"/> in <paramref name="s"/> is a member of one of the
   following categories in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.DecimalDigitNumber"/>, <see cref="F:System.Globalization.UnicodeCategory.LetterNumber"/>, or <see cref="F:System.Globalization.UnicodeCategory.OtherNumber"/>; otherwise, <see langword="false"/>
   . </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="index"/> is less than zero, or greater than or equal to the length of <paramref name="s"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">
									<see cref="M:System.Char.IsNumber(System.Char)"/> determines
      if a <see cref="T:System.Char"/> is of
      any numeric Unicode category. This contrasts with <see cref="M:System.Char.IsDigit(System.Char)"/>, which
      determines if a <see cref="T:System.Char"/>
      is a radix-10 digit.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsPunctuation">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsPunctuation(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static bool IsPunctuation(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified Unicode character is a punctuation mark.</para>
						</summary>
						<param name="c">A Unicode character. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="c"/> is a member of one
   of the following categories in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.ConnectorPunctuation"/>, <see cref="F:System.Globalization.UnicodeCategory.DashPunctuation"/>, <see cref="F:System.Globalization.UnicodeCategory.OpenPunctuation"/>, <see cref="F:System.Globalization.UnicodeCategory.ClosePunctuation"/>, <see cref="F:System.Globalization.UnicodeCategory.InitialQuotePunctuation"/>, <see cref="F:System.Globalization.UnicodeCategory.FinalQuotePunctuation"/>, or <see cref="F:System.Globalization.UnicodeCategory.OtherPunctuation"/>;
   otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsPunctuation">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsPunctuation(string s, int32 index)"/>
					<MemberSignature Language="C#" Value="public static bool IsPunctuation(string s, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the character at the specified
      position in the specified <see cref="T:System.String"/> is a punctuation mark.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/>.</param>
						<param name=" index">A <see cref="T:System.Int32"/> that specifies a character position in <paramref name="s"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the character at position
<paramref name="index"/> in <paramref name="s"/> is a
   member of one of the following categories in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.ConnectorPunctuation"/>, <see cref="F:System.Globalization.UnicodeCategory.DashPunctuation"/>, <see cref="F:System.Globalization.UnicodeCategory.OpenPunctuation"/>, <see cref="F:System.Globalization.UnicodeCategory.ClosePunctuation"/>, <see cref="F:System.Globalization.UnicodeCategory.InitialQuotePunctuation"/>, <see cref="F:System.Globalization.UnicodeCategory.FinalQuotePunctuation"/>, or <see cref="F:System.Globalization.UnicodeCategory.OtherPunctuation"/>;
   otherwise, <see langword="false"/>.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="index"/> is less than zero, or greater than or equal to the length of <paramref name="s"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSeparator">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsSeparator(string s, int32 index)"/>
					<MemberSignature Language="C#" Value="public static bool IsSeparator(string s, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the character at the specified
      position in the specified <see cref="T:System.String"/> is a separator character.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/>.</param>
						<param name=" index">A <see cref="T:System.Int32"/> that specifies a character position in <paramref name="s"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the character at position
<paramref name="index"/> in <paramref name="s"/> is a member of one of the following categories in 
<see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.SpaceSeparator"/>, <see cref="F:System.Globalization.UnicodeCategory.LineSeparator"/>, or <see cref="F:System.Globalization.UnicodeCategory.ParagraphSeparator"/>; 
   otherwise, <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="index"/> is less than zero, or greater than or equal to the length of <paramref name="s"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSeparator">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsSeparator(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static bool IsSeparator(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified Unicode character is a
      separator character.</para>
						</summary>
						<param name="c">A Unicode character. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="c"/> is a member of one
   of the following categories in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.SpaceSeparator"/>, <see cref="F:System.Globalization.UnicodeCategory.LineSeparator"/>, or <see cref="F:System.Globalization.UnicodeCategory.ParagraphSeparator"/>;
   otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSurrogate">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsSurrogate(string s, int32 index)"/>
					<MemberSignature Language="C#" Value="public static bool IsSurrogate(string s, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the character at the specified
      position in the specified <see cref="T:System.String"/> is a surrogate character.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/>.</param>
						<param name=" index">A <see cref="T:System.Int32"/> that specifies a character position in <paramref name="s"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the character at position
<paramref name="index"/> in <paramref name="s"/> is a member of the following category in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.Surrogate"/>; otherwise, 
<see langword="false"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="index"/> is less than zero, or greater than or equal to the length of <paramref name="s"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSurrogate">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsSurrogate(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static bool IsSurrogate(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified Unicode character is a
      surrogate character.</para>
						</summary>
						<param name="c">A Unicode character. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="c"/> is a member of the
   following category in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.Surrogate"/>; otherwise,
<see langword="false"/>. </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSymbol">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsSymbol(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static bool IsSymbol(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified Unicode character is a
      symbol character.</para>
						</summary>
						<param name="c">A Unicode character. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="c"/> is a member of one
   of the following categories in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.MathSymbol"/>, <see cref="F:System.Globalization.UnicodeCategory.CurrencySymbol"/>, <see cref="F:System.Globalization.UnicodeCategory.ModifierSymbol"/>, or <see cref="F:System.Globalization.UnicodeCategory.OtherSymbol"/>; otherwise, <see langword="false"/>.
   </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSymbol">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsSymbol(string s, int32 index)"/>
					<MemberSignature Language="C#" Value="public static bool IsSymbol(string s, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the character at the specified
      position in the specified <see cref="T:System.String"/> is a symbol character.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/>.</param>
						<param name=" index">A <see cref="T:System.Int32"/> that specifies a character position in <paramref name="s"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the character at position
<paramref name="index"/> in <paramref name="s"/> is a member of one of the following categories in 
<see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.MathSymbol"/>, <see cref="F:System.Globalization.UnicodeCategory.CurrencySymbol"/>, <see cref="F:System.Globalization.UnicodeCategory.ModifierSymbol"/>, or <see cref="F:System.Globalization.UnicodeCategory.OtherSymbol"/>; otherwise, <see langword="false"/>.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="index"/> is less than zero, or greater than or equal to the length of <paramref name="s"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsUpper">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsUpper(string s, int32 index)"/>
					<MemberSignature Language="C#" Value="public static bool IsUpper(string s, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the character at the specified
      position in the specified <see cref="T:System.String"/> is an uppercase letter.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/>.</param>
						<param name=" index">A <see cref="T:System.Int32"/> that specifies a character position in s.</param>
						<returns>
							<para>
								<see langword="true"/> if the character at position
<paramref name="index"/> in <paramref name="s"/> is a member of the following category in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.UppercaseLetter"/>; otherwise, 
<see langword="false"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="index"/> is less than zero, or greater than or equal to the length of <paramref name="s"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsUpper">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsUpper(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static bool IsUpper(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified Unicode character is an uppercase letter.</para>
						</summary>
						<param name="c">A Unicode character. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="c"/> is a member of the
   following category in <see cref="T:System.Globalization.UnicodeCategory"/>: <see cref="F:System.Globalization.UnicodeCategory.UppercaseLetter"/>;
   otherwise, <see langword="false"/>.
   </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsWhiteSpace">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsWhiteSpace(string s, int32 index)"/>
					<MemberSignature Language="C#" Value="public static bool IsWhiteSpace(string s, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the character at the specified
      position in the specified <see cref="T:System.String"/> is a whitespace character.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/>.</param>
						<param name=" index">A <see cref="T:System.Int32"/> that specifies a character position in <paramref name="s"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the character at position
<paramref name="index"/> in <paramref name="s"/> either has a code point of 0x0009, 0x000a, 0x000b, 
   0x000c, 0x000d, 0x0085, 0x2028, or 0x2029; or is a member of the following
   category in <see cref="T:System.Globalization.UnicodeCategory"/>:
<see cref="F:System.Globalization.UnicodeCategory.SpaceSeparator"/>;
   otherwise, <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="s "/>is a null reference.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="index"/> is less than zero, or greater than or equal to the length of <paramref name="s"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsWhiteSpace">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsWhiteSpace(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static bool IsWhiteSpace(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified Unicode character is a whitespace character.</para>
						</summary>
						<param name="c">A Unicode character. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="c"/> either has a code
   point of 0x0009, 0x000a, 0x000b, 0x000c, 0x000d, 0x0085, 0x2028, or 0x2029; or
   is a member of the following category in <see cref="T:System.Globalization.UnicodeCategory"/>:
<see cref="F:System.Globalization.UnicodeCategory.SpaceSeparator"/>; otherwise,
<see langword="false"/>.
   </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxValue">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Char MaxValue = (char)0xFFFF"/>
					<MemberSignature Language="C#" Value="public const char MaxValue = (char)0xFFFF;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Contains the maximum code point for the <see cref="T:System.Char"/> type.</para>
						</summary>
						<remarks>
							<para> The numeric value of this constant is 65,535.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinValue">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Char MinValue = (char)0x0"/>
					<MemberSignature Language="C#" Value="public const char MinValue = (char)0x0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Contains the minimum code point for the <see cref="T:System.Char"/> type.</para>
						</summary>
						<remarks>
							<para>The numeric value of this constant is 0.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char Parse(string s)"/>
					<MemberSignature Language="C#" Value="public static char Parse(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Char"/>
value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing a single Unicode character.</param>
						<returns>
							<para> The <see cref="T:System.Char"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> does not contain exactly one character.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToLower">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char ToLower(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static char ToLower(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Char"/>
to its lowercase equivalent.</para>
						</summary>
						<param name="c">A Unicode character. </param>
						<returns>
							<para>The lowercase equivalent of <paramref name="c"/>, or the value of
<paramref name="c"/> if and only if <paramref name="c"/> is already lowercase or does not have a 
   lowercase equivalent.</para>
						</returns>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Char.ToLower(System.Char,System.Globalization.CultureInfo)"/> method.</para>
							<code lang="C#">using System;
public class CharToLower {
   public static void Main() {
      Char[] cAry = {'A', 'c', '*'};
      foreach (Char c in cAry) {
         Console.Write("Char '{0}' ToLower is ", c);
         Console.WriteLine("{0}", Char.ToLower(c));
      }
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>Char 'A' ToLower is a</para>
								<para>Char 'c' ToLower is c</para>
								<para>Char '*' ToLower is *</para>
							</c>
						</example>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current
   instance. </para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/>
representation of the current instance.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts the value of this instance to its equivalent
      <see langword="String"/> representation using the specified culture-specific
      format information. </para>
						</summary>
						<param name=" provider">(Reserved) An <see cref="T:System.IFormatProvider"/> interface implementation that supplies culture-specific formatting information. </param>
						<returns>
							<para>The <see cref="T:System.String"/> representation of the value of this instance as
   specified by <paramref name="provider"/>.</para>
						</returns>
						<remarks>
							<para>
								<paramref name="provider"/> is ignored; it does not participate in this operation.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUpper">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char ToUpper(valuetype System.Char c)"/>
					<MemberSignature Language="C#" Value="public static char ToUpper(char c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Char"/>
to its uppercase equivalent.</para>
						</summary>
						<param name="c">A Unicode character. </param>
						<returns>
							<para>The uppercase equivalent of <paramref name="c"/>, or the value of <paramref name="c"/> if and
   only if <paramref name="c"/> is already uppercase or does not have an uppercase
   equivalent.</para>
						</returns>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Char.ToUpper(System.Char,System.Globalization.CultureInfo)"/> method.</para>
							<code lang="C#">using System;
public class CharToUpper {
   public static void Main() {
      Char[] cAry = {'A', 'c', '*'};
      foreach (Char c in cAry) {
         Console.Write("Char '{0}' ToUpper is {1}",
                       c, Char.ToUpper(c));
         Console.WriteLine();
      }
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>Char 'A' ToUpper is A</para>
								<para>Char 'c' ToUpper is C</para>
								<para>Char '*' ToUpper is *</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="CharEnumerator" FullName="System.CharEnumerator" FullNameSP="System_CharEnumerator">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable CharEnumerator extends System.Object implements System.ICloneable, System.Collections.IEnumerator"/>
			<TypeSignature Language="C#" Value="public sealed class CharEnumerator : ICloneable, IEnumerator"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Supports iteration over and provides read-only access to
      the individual characters in a <see cref="T:System.String"/>.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>
							<see cref="T:System.CharEnumerator"/> is used to support the <see langword="foreach"/> statement of the C# programming
      
      language.</para>
						<para>Several independent instances of <see cref="T:System.CharEnumerator"/> across
   one or more threads can have access to a single instance of <see cref="T:System.String"/>.</para>
						<para>For more information regarding the use of an enumerator,
   see <see cref="T:System.Collections.IEnumerator"/>.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Collections.IEnumerator</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.ICloneable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName="Clone">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual object Clone()"/>
					<MemberSignature Language="C#" Value="public object Clone();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Creates a copy of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Object"/> with the same state as the current instance.</para>
						</returns>
						<remarks>
							<para>The return value is a <see cref="T:System.Object"/> containing a copy of the state of the
   current instance when this method is invoked. This <see cref="T:System.Object"/> must be cast explicitly to a <see cref="T:System.CharEnumerator"/> to be
   made usable as one.</para>
							<block subset="none" type="note">
								<para>This method is useful for saving the state of a <see cref="T:System.CharEnumerator"/> object
   while iterating through the characters of a <see cref="T:System.String"/> .</para>
								<para>This method is implemented to support the <see cref="T:System.ICloneable"/>
interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Current">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Char Current { public hidebysig specialname instance valuetype System.Char get_Current() }"/>
					<MemberSignature Language="C#" Value="public char Current { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the element in the <see cref="T:System.String"/> over which the current instance is
   positioned.</para>
						</summary>
						<value>
							<para>The <see cref="T:System.Char"/> in the <see cref="T:System.String"/> over which the current instance is
   positioned.</para>
						</value>
						<exception cref="T:System.InvalidOperationException">
							<para>The current instance is positioned before the first element or after the last element of the <see cref="T:System.String"/>.</para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MoveNext">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual bool MoveNext()"/>
					<MemberSignature Language="C#" Value="public bool MoveNext();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Advances the current instance to the next element of the
   <see cref="T:System.String"/> if and
      only if the current instance is not already placed beyond the final element of
      the <see cref="T:System.String"/>.</para>
						</summary>
						<returns>
							<para>
								<see langword="true"/> if the enumerator was successfully
   advanced to the next element; otherwise, <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>If the enumerator is positioned after the final element
      of the <see cref="T:System.String"/>
      when this method is called, the current instance remains in its current position
      and <see langword="false"/> is returned.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Reset">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual void Reset()"/>
					<MemberSignature Language="C#" Value="public void Reset();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Repositions the current instance to its initial
      position, immediately before the first character in the <see cref="T:System.String"/>.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.Collections.IEnumerator.Current">
					<MemberSignature Language="ILASM" Value=".property object IEnumerator.Current { public hidebysig virtual abstract specialname object get_IEnumerator.Current() }"/>
					<MemberSignature Language="C#" Value="object IEnumerator.Current { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IEnumerator"/> interface. [Note: For more information, see <see cref="M:System.Collections.IEnumerator.Current"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="CLSCompliantAttribute" FullName="System.CLSCompliantAttribute" FullNameSP="System_CLSCompliantAttribute">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable CLSCompliantAttribute extends System.Attribute"/>
			<TypeSignature Language="C#" Value="public sealed class CLSCompliantAttribute : Attribute"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Indicates whether the target of the current attribute complies with the
      Common Language Specification (CLS).</para>
				</summary>
				<remarks>
					<para>If no <see cref="T:System.CLSCompliantAttribute"/> is associated with a given assembly, that assembly is
   assumed not to be CLS-compliant.</para>
					<para>A type is assumed to be CLS-compliant if and only if its
   enclosing type (for nested types) or assembly (for top-level types) is
   CLS-compliant. Other members (methods, fields, properties and events) are
   CLS-compliant if and only if the type in which they are
   defined is CLS-compliant. </para>
					<block subset="none" type="note">
						<para> The CLS is a subset of CLI features that is supported by a
      broad set of compliant languages and tools. CLS-compliant languages and tools
      are guaranteed to interoperate with other CLS-compliant languages and tools.</para>
						<para>Because the CLS defines the rules for language interoperability, its rules
      apply only to "externally visible" items. The CLS assumes that language
      interoperability is important only across the assembly boundary - that is,
      within a single assembly there are no restrictions as to the programming
      techniques that are used. Thus, the CLS rules apply only to items that are
      visible outside of their defining assembly and have public, family, or
      family-or-assembly accessibility.</para>
						<para> For more information on CLS compliance,
      see Partition I of the CLI Specification.</para>
						<para> This attribute can be applied to any valid attribute
      target. For a complete list of valid targets, see <see cref="T:System.AttributeTargets"/>.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Attribute</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>AttributeUsageAttribute(AttributeTargets.All, AllowMultiple=false, Inherited=true)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(bool isCompliant)"/>
					<MemberSignature Language="C#" Value="public CLSCompliantAttribute(bool isCompliant);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="isCompliant" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.CLSCompliantAttribute"/>
class.</para>
						</summary>
						<param name="isCompliant">
							<see langword="true"/> if the target of the new instance complies with the CLS; otherwise, <see langword="false"/>.</param>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsCompliant">
					<MemberSignature Language="ILASM" Value=".property bool IsCompliant { public hidebysig specialname instance bool get_IsCompliant() }"/>
					<MemberSignature Language="C#" Value="public bool IsCompliant { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> indicating whether the target of the
 current instance is CLS-compliant.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>if the target 
 of
 the current instance complies with
 the CLS; otherwise, <see langword="false"/> .</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="CodeAccessPermission" FullName="System.Security.CodeAccessPermission" FullNameSP="System_Security_CodeAccessPermission">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable CodeAccessPermission extends System.Object implements System.Security.IPermission"/>
			<TypeSignature Language="C#" Value="public abstract class CodeAccessPermission : IPermission"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Serves as
      the base class for all code access permissions.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>Classes derived from <see cref="T:System.Security.CodeAccessPermission"/> are required to override the following methods of the
   <see cref="T:System.Security.CodeAccessPermission"/> class:</para>
						<list type="bullet">
							<item>
								<term>
									<see cref="M:System.Security.CodeAccessPermission.Copy"/> - Creates a <see cref="T:System.Security.IPermission"/> object of the 
         same type and containing the same values as the current instance.</term>
							</item>
							<item>
								<term>
									<see cref="M:System.Security.CodeAccessPermission.FromXml(System.Security.SecurityElement)"/> - Reconstructs the
         state of a <see cref="T:System.Security.CodeAccessPermission"/> object
         using an XML encoding.</term>
							</item>
							<item>
								<term>
									<see cref="M:System.Security.CodeAccessPermission.Intersect(System.Security.IPermission)"/> - Returns a <see cref="T:System.Security.IPermission"/> object that is 
         the intersection of the current instance and the specified object.</term>
							</item>
							<item>
								<term>
									<see cref="M:System.Security.CodeAccessPermission.IsSubsetOf(System.Security.IPermission)"/> - Determines if the 
         current instance is a subset of the specified object.</term>
							</item>
							<item>
								<term>
									<see cref="M:System.Security.CodeAccessPermission.ToXml"/> - Creates an XML 
         encoding of the current instance.</term>
							</item>
							<item>
								<term>
									<see cref="M:System.Security.CodeAccessPermission.Union(System.Security.IPermission)"/> - Returns a <see cref="T:System.Security.IPermission"/> object that is the
         union of the current instance and the specified
         object.</term>
							</item>
						</list>
						<para>In addition, classes derived from <see cref="T:System.Security.CodeAccessPermission"/> are required to implement a constructor that takes a <see cref="T:System.Security.Permissions.PermissionState"/> as
its only parameter.</para>
					</block>
					<para>The XML encoding of a <see cref="T:System.Security.CodeAccessPermission"/> instance is defined below in
   EBNF format. The following conventions are used: </para>
					<list type="bullet">
						<item>
							<term>
								<para> All non-literals in the grammar below are shown in normal type.</para>
							</term>
						</item>
						<item>
							<term>
								<para> All literals are in bold font. </para>
							</term>
						</item>
					</list>
					<para> The following meta-language symbols are used: </para>
					<list type="bullet">
						<item>
							<term>
         
         '*' represents a meta-language symbol suffixing an
         expression that can appear zero or more times.</term>
						</item>
						<item>
							<term>
         
         '?' represents a meta-language symbol suffixing an
         expression that can appear zero or one time.</term>
						</item>
						<item>
							<term>
         
         '+' represents a meta-language symbol suffixing an
         expression that can appear one or more times.</term>
						</item>
						<item>
							<term>
         
         '(',')' is used to group literals, non-literals, or a
         mixture of literals and non-literals.</term>
						</item>
						<item>
							<term>
         
         '|' denotes an exclusive disjunction between two
         expressions.</term>
						</item>
						<item>
							<term>
         
         '::= ' denotes a production rule where a left hand
         non-literal is replaced by a right hand expression containing literals,
         non-literals, or both.</term>
						</item>
					</list>
					<para> ClassName is the name of the class implementing the permission, such as
<see cref="T:System.Security.Permissions.EnvironmentPermission"/>.</para>
					<para> AssemblyName is the name of the assembly that contains the class implementing
   the permission, such as mscorlib.</para>
					<para> Version is the three part version number indicating the version of the
   assembly implementing the permission, such as 1.0.1.</para>
					<para> StrongNamePublicKeyToken is the strong name public key token constituting the
   strong name of the assembly that implements the permission.</para>
					<para> PermissionAttributes is any attribute and attribute value on the <see cref="T:System.Security.IPermission"/>
element used by the permission to represent a particular permission state, for
example, unrestricted="true".</para>
					<para> PermissionXML is any valid XML used by the permission to represent permission
   state.</para>
					<para>The XML encoding of a <see cref="T:System.Security.CodeAccessPermission"/> instance is as
follows:</para>
					<c>
						<para>CodeAccessPermissionXML::=</para>
						<para>
							<see langword="&lt;IPermission class=&quot;"/>
						</para>
						<para>ClassName<see langword=","/>
						</para>
						<para>AssemblyName<see langword=","/>
						</para>
						<para>
							<see langword="Version="/>Version<see langword=","/>
						</para>
						<para>
							<see langword="Culture=neutral,"/>
						</para>
						<para>
							<see langword="PublicKeyToken="/>StrongNamePublicKeyToken<see langword="&quot;"/>
						</para>
						<para>
							<see langword="version=&quot;1&quot;"/>
						</para>
						<para>(PermissionAttributes)*</para>
						<para>&gt;</para>
						<para>(PermissionXML)?</para>
						<para>
							<see langword="&lt;/IPermission&gt;"/>
						</para>
					</c>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Security.IPermission</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="protected CodeAccessPermission();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>Constructs a new instance of the <see cref="T:System.Security.CodeAccessPermission"/> class.</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Assert">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual void Assert()"/>
					<MemberSignature Language="C#" Value="public void Assert();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Asserts that calling code can access the resource identified by the current instance through the code that
      calls this method, even if callers have not been granted permission to
      access the resource. </para>
						</summary>
						<exception cref="T:System.Security.SecurityException">The calling code does not have <see cref="F:System.Security.Permissions.SecurityPermissionFlag.Assertion" qualify="true"/>. </exception>
						<remarks>
							<para> Calling <see cref="M:System.Security.CodeAccessPermission.Assert"/> stops the
   permission
   check on callers that are after the code performing the assert. An assertion is effective only if the code that
   calls <see cref="M:System.Security.CodeAccessPermission.Assert"/> passes the security check
   for the permission that it is asserting.</para>
							<block subset="none" type="note">
								<para> Even if the callers that are after the code performing
      the assert do not have the requisite permissions, they can still access
      resources through the code that calls this method. Because the assertion only
      applies to the callers of the code performing the assert, a security check for
      the asserted permission may still fail if the code calling <see cref="M:System.Security.CodeAccessPermission.Assert"/>
      
      has not itself been granted that permission.</para>
								<para>A call to <see cref="M:System.Security.CodeAccessPermission.Assert"/> is effective until the code containing
   the call returns to its caller.</para>
								<para>Caution:
   Because calling <see cref="M:System.Security.CodeAccessPermission.Assert"/>
   removes the
   requirement that all code be granted permission to access the specified resource, it can
   open up security vulnerabilities if used incorrectly or inappropriately.
   </para>
							</block>
						</remarks>
						<permission cref="T:System.Security.Permissions.SecurityPermission">Requires permission to call <see cref="M:System.Security.CodeAccessPermission.Assert"/>. See <see cref="F:System.Security.Permissions.SecurityPermissionFlag.Assertion"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Copy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Security.IPermission Copy()"/>
					<MemberSignature Language="C#" Value="public abstract IPermission Copy();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Security.CodeAccessPermission"/> containing the same
 values as the current instance.</para>
						</summary>
						<returns>
							<para> A new <see cref="T:System.Security.CodeAccessPermission"/> instance that is value
 equal to the current instance.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support 
 the <see cref="T:System.Security.IPermission"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">The object returned by this
 method is required be the same type as the current instance and to represent the same access
 to resources as the current instance.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this 
 method to create a copy an instance in a type derived from <see cref="T:System.Security.CodeAccessPermission"/>.
 </block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to obtain a copy of the
 current instance that has values identical to those of the current
 instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Demand">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual void Demand()"/>
					<MemberSignature Language="C#" Value="public void Demand();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Forces a <see cref="T:System.Security.SecurityException"/> if all callers do not have the permission
 specified by the current instance.</para>
						</summary>
						<exception cref="T:System.Security.SecurityException">
							<para> A caller does not have the permission specified by the current instance.</para>
							<para> A caller has called <see cref="M:System.Security.CodeAccessPermission.Deny"/> for the resource protected by the current instance. </para>
						</exception>
						<remarks>
							<para>The permissions of the code that calls this method are 
 not examined; the check begins from the immediate caller of that code and
 continues until all callers have been checked, one of the callers
 invokes <see cref="M:System.Security.CodeAccessPermission.Assert"/>
 , or a caller has been found that is not granted the
 demanded permission, in which case a <see cref="T:System.Security.SecurityException"/> is thrown. </para>
							<block subset="none" type="note">
								<para>
									<see cref="M:System.Security.CodeAccessPermission.Demand"/> is typically used by shared
 libraries to ensure that callers have permission to access a resource.
 For example, a method in a shared library calls <see cref="M:System.Security.CodeAccessPermission.Demand"/> for the necessary <see cref="T:System.Security.Permissions.FileIOPermission"/> before
 performing a file operation requested by the caller.</para>
								<para>This method is implemented to support
 the <see cref="T:System.Security.IPermission"/> interface.
 </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Deny">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual void Deny()"/>
					<MemberSignature Language="C#" Value="public void Deny();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Denies access
 to the resources specified by the current instance through the code that calls
 this method.</para>
						</summary>
						<remarks>
							<para>This method prevents callers from accessing the protected resource through
 the code that calls this method, even if those callers have been granted
 permission to access it.</para>
							<para>The call to <see cref="M:System.Security.CodeAccessPermission.Deny"/>
is effective until the calling
code returns.</para>
							<block subset="none" type="note">
								<para>
									<see cref="M:System.Security.CodeAccessPermission.Deny"/> is ignored for a
 permission not granted because a demand for that permission will not
 succeed.</para>
								<para>
									<see cref="M:System.Security.CodeAccessPermission.Deny"/> can
limit the liability of the programmer or prevent accidental security vulnerabilities because it
prevents the method that calls <see cref="M:System.Security.CodeAccessPermission.Deny"/> from being used to access
the resource protected by the denied permission.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FromXml">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void FromXml(class System.Security.SecurityElement elem)"/>
					<MemberSignature Language="C#" Value="public abstract void FromXml(SecurityElement elem);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="elem" Type="System.Security.SecurityElement"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Reconstructs the state of a <see cref="T:System.Security.CodeAccessPermission"/> object using the specified XML encoding.</para>
						</summary>
						<param name="elem">A <see cref="T:System.Security.SecurityElement"/> instance containing the XML encoding to use to reconstruct the state of a <see cref="T:System.Security.CodeAccessPermission"/> object.</param>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="elem"/> does not contain the XML encoding for a instance of the same type as the current instance.</para>
							<para>The version number of <paramref name="elem"/> is not valid.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">The values of the
      current instance are set to the values of the permission object encoded in
   <paramref name="elem"/>
   .</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this
   method to reconstruct subclasses of <see cref="T:System.Security.CodeAccessPermission"/> .</block>
							</para>
							<para>
								<block subset="none" type="usage">This method is called
   by the system.</block>
							</para>
							<para>
								<block subset="none" type="note">For the XML encoding for this class, see the <see cref="T:System.Security.CodeAccessPermission"/>
class page.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Intersect">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Security.IPermission Intersect(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public abstract IPermission Intersect(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Security.CodeAccessPermission"/> object that is the
 intersection of the current instance and the specified
 object.</para>
						</summary>
						<param name="target">A <see cref="T:System.Security.CodeAccessPermission"/> instance to intersect with the current instance.</param>
						<returns>
							<para> A new <see cref="T:System.Security.CodeAccessPermission"/> instance
 that represents the intersection of the current instance and
<paramref name="target"/> . If the intersection is empty or 
<paramref name="target"/> is <see langword="null"/>, returns <see langword="null"/>. If the 
 current instance is unrestricted, returns a copy of <paramref name="target"/>. If
<paramref name="target"/> is unrestricted, returns a copy of the current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target"/> is not <see langword="null"/> and is not a <see cref="T:System.Security.CodeAccessPermission"/> object.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support
 the <see cref="T:System.Security.IPermission"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this 
 method to provide a mechanism for creating an intersection of two <see cref="T:System.Security.IPermission"/> objects that are of the same type and are
 derived from <see cref="T:System.Security.CodeAccessPermission"/>
 .</block>
							</para>
							<para>
								<block subset="none" type="usage">The intersection 
 of two permissions is a permission that secures the resources and operations
 secured by both permissions. Specifically, it represents the minimum permission
 such that any demand that passes both permissions will also pass their
 intersection.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSubsetOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract bool IsSubsetOf(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public abstract bool IsSubsetOf(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance is a subset of the specified
      object.</para>
						</summary>
						<param name="target">
							<para>A <see cref="T:System.Security.CodeAccessPermission"/> instance that is to be tested for the subset relationship.</para>
						</param>
						<returns>
							<para>
								<see langword="true"/> if the current instance is a
   subset of <paramref name="target"/>; otherwise, <see langword="false"/>. If the current
   instance is unrestricted, and <paramref name="target"/> is not, returns
<see langword="false"/>. If <paramref name="target"/> is unrestricted, returns 
<see langword="true"/> .</para>
							<see langword=""/>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target"/> is not <see langword="null"/> and is not of type <see cref="T:System.Security.CodeAccessPermission"/> .</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support
      the <see cref="T:System.Security.IPermission"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this
   method to implement the test for the subset relationship in types derived from
<see cref="T:System.Security.CodeAccessPermission"/> 
.</block>
							</para>
							<block subset="none" type="usage">
								<para> The current
      instance is a subset of <paramref name="target"/> if the current instance specifies a set
      of accesses to resources that is wholly contained by <paramref name="target"/>. For example, a permission that
      represents read access to a file is a subset of a permission that represents
      read and write access to the file.</para>
								<para> If this method returns <see langword="true"/> , the current
   instance does not describe a level of access to a set of resources that is
   not already described by <paramref name="target"/>.
   </para>
							</block>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the XML representation
 of the state of the current instance.</para>
						</summary>
						<returns>
							<para> A <see cref="T:System.String"/> containing the XML 
 representation of the state of the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para> The XML representation of the current instance is
 obtained by first calling <see cref="M:System.Security.CodeAccessPermission.ToXml"/>, then calling <see cref="M:System.Object.ToString"/> on the
 object returned by that
 method.</para>
								<para>This method
 overrides <see cref="M:System.Object.ToString"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToXml">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Security.SecurityElement ToXml()"/>
					<MemberSignature Language="C#" Value="public abstract SecurityElement ToXml();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.SecurityElement</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns
 the XML encoding of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Security.SecurityElement"/> containing an XML encoding of the state of the
 current instance.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">The object
 returned by this method is required to use the XML encoding for the <see cref="T:System.Security.CodeAccessPermission"/> class as defined on the class page. The state of
 the current instance is required to be reproducible by invoking <see cref="M:System.Security.CodeAccessPermission.FromXml(System.Security.SecurityElement)"/> on an instance
 of <see cref="T:System.Security.CodeAccessPermission"/> using the object returned by this
 method.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this 
 method to return an object containing the XML encoding for types derived from
 <see cref="T:System.Security.CodeAccessPermission"/> .</block>
							</para>
							<para>
								<block subset="none" type="usage">This method is called by the system.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Union">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Union(class System.Security.IPermission other)"/>
					<MemberSignature Language="C#" Value="public virtual IPermission Union(IPermission other);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="other" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Security.CodeAccessPermission"/> object that is the union
 of the current instance and the specified object.</para>
						</summary>
						<param name="other">A <see cref="T:System.Security.IPermission"/> object of the same type as the current instance to be combined with the current instance.</param>
						<returns>
							<para>If <paramref name="other"/> is <see langword="null"/>, returns a copy of the current 
 instance using the <see cref="M:System.Security.IPermission.Copy" qualify="true"/> method.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="other"/> is not of type <see cref="T:System.Security.CodeAccessPermission"/> .</exception>
						<exception cref="T:System.NotSupportedException">
							<paramref name="other"/> is not <see langword="null"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support
 the <see cref="T:System.Security.IPermission"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">This method 
 returns a new <see cref="T:System.Security.CodeAccessPermission"/> instance that represents the union of the
 current instance and <paramref name="other"/>. If the current instance or <paramref name="other"/> is
 unrestricted, returns a <see cref="T:System.Security.CodeAccessPermission"/> instance that is
 unrestricted. If <paramref name="other"/> is <see langword="null"/>, returns a copy
 of the current instance using the <see cref="M:System.Security.IPermission.Copy" qualify="true"/> method.</block>
							</para>
							<para>
								<block subset="none" type="default">If <paramref name="other"/> is not <see langword="null"/>, this method
throws a <see cref="T:System.NotSupportedException"/> exception; otherwise,
returns a copy of the current
instance.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this method to provide a mechanism for
 creating the union of two <see cref="T:System.Security.IPermission"/> objects that are of the same type and are
 derived from <see cref="T:System.Security.CodeAccessPermission"/> .</block>
							</para>
							<para>
								<block subset="none" type="usage">The result of a call to <see cref="M:System.Security.CodeAccessPermission.Union(System.Security.IPermission)"/> is a permission that represents all
of the access to resources represented by both the current instance and
<paramref name="other"/> . Any demand that passes either permission passes their 
union.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="CodeAccessSecurityAttribute" FullName="System.Security.Permissions.CodeAccessSecurityAttribute" FullNameSP="System_Security_Permissions_CodeAccessSecurityAttribute">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable CodeAccessSecurityAttribute extends System.Security.Permissions.SecurityAttribute"/>
			<TypeSignature Language="C#" Value="public abstract class CodeAccessSecurityAttribute : SecurityAttribute"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> This is the base class for code access security
      attributes.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para> The types that derive from <see cref="T:System.Security.Permissions.CodeAccessSecurityAttribute"/> are 
      used to secure access
      to resources or securable operations.</para>
						<para> The security information declared by a security attribute is stored
      in the metadata of the attribute target, and is accessed by the system
      at run-time. Security attributes are used for declarative security only. Use the
      corresponding permission class derived from <see cref="T:System.Security.CodeAccessPermission"/>
      for imperative security.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Security.Permissions.SecurityAttribute</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>AttributeUsageAttribute(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method, AllowMultiple=true, Inherited=false)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.SecurityAction action)"/>
					<MemberSignature Language="C#" Value="public CodeAccessSecurityAttribute(SecurityAction action);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="action" Type="System.Security.Permissions.SecurityAction"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of <see cref="T:System.Security.Permissions.CodeAccessSecurityAttribute"/> with the specified <see cref="T:System.Security.Permissions.SecurityAction"/> value.</para>
						</summary>
						<param name="action">A <see cref="T:System.Security.Permissions.SecurityAction"/> value.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="action"/> is not a valid <see cref="T:System.Security.Permissions.SecurityAction"/> value. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Comparer" FullName="System.Collections.Comparer" FullNameSP="System_Collections_Comparer">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable Comparer extends System.Object implements System.Collections.IComparer"/>
			<TypeSignature Language="C#" Value="public sealed class Comparer : IComparer"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Provides the default implementation of the <see cref="T:System.Collections.IComparer"/>
interface.</para>
				</summary>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Collections.IComparer</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName="Compare">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 Compare(object a, object b)"/>
					<MemberSignature Language="C#" Value="public int Compare(object a, object b);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="a" Type="System.Object"/>
						<Parameter Name="b" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of two <see cref="T:System.Object"/> instances.</para>
						</summary>
						<param name=" a">The first <see cref="T:System.Object"/> to compare.</param>
						<param name="b">The second <see cref="T:System.Object"/> to compare.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order
   of <paramref name="a"/> as compared to <paramref name="b"/>. The following table defines the conditions under
   which the returned value is a negative number, zero, or a positive number.</para>
							<list type="table">
								<listheader>
									<term>Value</term>
									<description>Condition</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>
										<paramref name="a "/>&lt;
      <paramref name="b."/>
									</description>
								</item>
								<item>
									<term> Zero</term>
									<description>
										<paramref name="a "/>==
<paramref name="b."/>
									</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>
										<paramref name="a "/>&gt;
<paramref name="b."/>
									</description>
								</item>
							</list>
							<para>
								<block subset="none" type="note">A null reference is considered to
   compare less than any other non-null object, and equal to any other null
   reference, independent of the underlying <see cref="T:System.Type"/> of either object.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>Both <paramref name="a"/> and <paramref name="b"/> are not <see langword="null"/> and do not implement the <see cref="T:System.IComparable"/> interface.</para>
							<para> -or-</para>
							<para>Both <paramref name="a"/> and <paramref name="b"/> are not <see langword="null"/> and are not assignment-compatible types.</para>
						</exception>
						<remarks>
							<para>The behavior of this method is as follows:</para>
							<list type="bullet">
								<item>
									<term>
										<para> If <paramref name="a"/> implements the <see cref="T:System.IComparable"/>
   interface, returns
   <paramref name="a"/>.CompareTo(<paramref name="b"/>).</para>
									</term>
								</item>
								<item>
									<term>
										<para> If <paramref name="a"/> does not
   implement the <see cref="T:System.IComparable"/> interface but <paramref name="b"/>
   does, returns the negated result of <paramref name="b"/>.CompareTo(<paramref name="a"/>).</para>
									</term>
								</item>
								<item>
									<term>
										<para>If <paramref name="a"/> and <paramref name="b"/> both are not
   <see langword="null"/> and do not implement the <see cref="T:System.IComparable"/> interface, <see cref="T:System.ArgumentException"/> is
   thrown.</para>
									</term>
								</item>
							</list>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Default">
					<MemberSignature Language="ILASM" Value=".field public static initOnly class System.Collections.Comparer Default"/>
					<MemberSignature Language="C#" Value="public static readonly Comparer Default;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.Comparer</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a new <see cref="T:System.Collections.Comparer"/> instance containing the default implementation of the <see cref="T:System.Collections.IComparer"/> 
interface. </para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ConditionalAttribute" FullName="System.Diagnostics.ConditionalAttribute" FullNameSP="System_Diagnostics_ConditionalAttribute">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable ConditionalAttribute extends System.Attribute"/>
			<TypeSignature Language="C#" Value="public sealed class ConditionalAttribute : Attribute"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Indicates to compilers that a method is callable if and only if a specified
      pre-processing identifier has been defined on the method.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>A <see cref="T:System.Diagnostics.ConditionalAttribute"/>, which has an
      associated condition <see cref="P:System.Diagnostics.ConditionalAttribute.ConditionString"/>, can be attached to the
      definition of a method, creating a <paramref name="conditional"/>
							<paramref name="method"/>
   . Thereafter, when a compiler encounters
   a call to that method, it may choose to ignore the call unless a compilation
   variable is defined at the site of the call, with a value that matches
   in a case-sensitive manner the <see cref="P:System.Diagnostics.ConditionalAttribute.ConditionString"/> supplied to the <see cref="T:System.Diagnostics.ConditionalAttribute"/>
   
   .</para>
						<para>Note that compilers may provide several techniques to define such compilation variables, such
   as:</para>
						<list type="bullet">
							<item>
								<term>
									<para>compiler command-line switches (for
         example, <c>/define:DEBUG</c> )</para>
								</term>
							</item>
							<item>
								<term>
									<para>environment variables in the operating system shell
            (for example, <c>SET
            DEBUG=1</c>)</para>
								</term>
							</item>
							<item>
								<term>
									<para>as pragmas in the source code (for example, <c>#define DEBUG</c>, to define the
            compilation variable, or <c>#undef DEBUG</c> to
         undefine it)</para>
								</term>
							</item>
						</list>
						<para> CLS-Compliant compilers are permitted to ignore uses of the <see cref="T:System.Diagnostics.ConditionalAttribute"/>
.</para>
					</block>
				</remarks>
				<example>
					<para> The following example demonstrates the use of
   <see cref="T:System.Diagnostics.ConditionalAttribute"/> with a
      particular compiler that supports the use of this
      attribute. The <see cref="P:System.Diagnostics.ConditionalAttribute.ConditionString"/> property of the current
      attribute is initialized as "DEBUG".</para>
					<c>
						<code lang="C#">using System;
using System.Diagnostics;

public class MyClass { 

  [ConditionalAttribute("DEBUG")] 
  public static void Display() { 

    Console.WriteLine("Compiled with DEBUG"); 
  }
}

public class TestCondition { 

  public static void Main() { 

    Console.WriteLine("How was this compiled?"); 
    MyClass.Display(); 
    Console.WriteLine("&lt;eop&gt;"); 
  }
}
      </code>
					</c>
					<para> When this code is compiled with the
      compilation-variable DEBUG defined at the callsite, the
      output when run is </para>
					<c>
						<para>
How was this compiled?</para>
						<para>Compiled with DEBUG</para>
						<para>&lt;eop&gt;
   </para>
					</c>
					<para> When this code is
      compiled without the compilation-variable DEBUG defined at the callsite, the
      output when run is</para>
					<c>
						<para>
How was this compiled?</para>
						<para>&lt;eop&gt;
   </para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Attribute</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>AttributeUsageAttribute(AttributeTargets.Method, AllowMultiple=true, Inherited=true)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string conditionString)"/>
					<MemberSignature Language="C#" Value="public ConditionalAttribute(string conditionString);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="conditionString" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Diagnostics.ConditionalAttribute"/> class.</para>
						</summary>
						<param name="conditionString">A <see cref="T:System.String"/> that contains the pre-processing identifier that makes callable the target method of the current instance.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.Diagnostics.ConditionalAttribute.ConditionString"/> property of the current instance using 
<paramref name="conditionString"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ConditionString">
					<MemberSignature Language="ILASM" Value=".property string ConditionString { public hidebysig specialname instance string get_ConditionString() }"/>
					<MemberSignature Language="C#" Value="public string ConditionString { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the <see cref="T:System.String"/> that contains
   the pre-processing identifier that makes callable the target method of the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/>
that contains the pre-processing identifier that makes callable the target
method of the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Console" FullName="System.Console" FullNameSP="System_Console">
			<TypeSignature Language="ILASM" Value=".class public sealed Console extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class Console"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents the standard input, output, and error streams
      for console applications.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Console"/>
class provides basic input and output support for applications that
read from and write characters to the console. If the console does not exist,
as in a GUI application, writing to the console produces
no result, and no exception is raised.</para>
					<para> 
   The standard input, output, and
   error streams are represented by properties, and are automatically associated with
   the console when the application starts. Applications can redirect these properties to other streams;
   for example, streams associated with files instead of the console. <block subset="none" type="note">For additional information see the <see cref="M:System.Console.SetIn(System.IO.TextReader)"/>, <see cref="M:System.Console.SetOut(System.IO.TextWriter)"/>, and
<see cref="M:System.Console.SetError(System.IO.TextWriter)"/> methods.</block> By default, the read 
methods in this class use the standard input stream and the write methods use
the standard output
stream.</para>
					<para> The
   write methods support writing data with or without automatically appending carriage
   return and linefeed characters. This enables the writing of strings, formatted strings, arrays of characters,
   instances of primitive types, and arbitrary objects without first having to convert them
   to strings.</para>
					<para>This class uses synchronized <see cref="T:System.IO.TextReader"/> and
<see cref="T:System.IO.TextWriter"/> instances. Multiple threads can concurrently read 
from and/or write to an instance of this
type.</para>
				</remarks>
				<example>
					<para>The following example demonstrates the use of basic <see cref="T:System.Console"/> input and output
   functions. The program waits for the user to enter a name.</para>
					<code lang="C#">
using System;

public class ConsoleTest {
   public static void Main() {       
      Console.Write("Hello ");
      Console.WriteLine("World!");
      Console.Write("What is your name: ");
      string name = Console.ReadLine();
      Console.Write("Hello, ");
      Console.Write(name);
      Console.WriteLine("!");
   }
}
</code>
					<para>The output for a user who entered the name "Fred" is</para>
					<c>
						<para>Hello World!</para>
						<para>What is your name: Fred</para>
						<para>Hello, Fred!</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Error">
					<MemberSignature Language="ILASM" Value=".property class System.IO.TextWriter Error { public hidebysig static specialname class System.IO.TextWriter get_Error() }"/>
					<MemberSignature Language="C#" Value="public static TextWriter Error { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.TextWriter</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the system's standard error output stream.</para>
						</summary>
						<value>
							<para>A synchronized <see cref="T:System.IO.TextWriter"/> object where error
   output is sent.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para> This property can be redirected using the <see cref="M:System.Console.SetError(System.IO.TextWriter)"/> method. </para>
							<para>
								<block subset="none" type="note">
   If the application does not have a <see cref="T:System.Console"/>, <see cref="P:System.Console.Error" qualify="true"/> behaves
   like <see cref="F:System.IO.TextWriter.Null" qualify="true"/>.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="In">
					<MemberSignature Language="ILASM" Value=".property class System.IO.TextReader In { public hidebysig static specialname class System.IO.TextReader get_In() }"/>
					<MemberSignature Language="C#" Value="public static TextReader In { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.TextReader</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the system's standard input stream.</para>
						</summary>
						<value>
							<para>A synchronized <see cref="T:System.IO.TextReader"/> object from which user input is received.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para> This property can be redirected using the <see cref="M:System.Console.SetIn(System.IO.TextReader)"/> method. </para>
							<para>
								<block subset="none" type="note">
   
   If the application does not have a <see cref="T:System.Console"/>, <see cref="P:System.Console.In" qualify="true"/> behaves like <see cref="F:System.IO.TextReader.Null" qualify="true"/>.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OpenStandardError">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.Stream OpenStandardError()"/>
					<MemberSignature Language="C#" Value="public static Stream OpenStandardError();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.Stream</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the standard error stream.</para>
						</summary>
						<returns>
							<para> A new synchronized <see cref="T:System.IO.Stream"/> object that writes to the console.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OpenStandardError">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.Stream OpenStandardError(int32 bufferSize)"/>
					<MemberSignature Language="C#" Value="public static Stream OpenStandardError(int bufferSize);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.Stream</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bufferSize" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the standard error stream.</para>
						</summary>
						<param name="bufferSize">A <see cref="T:System.Int32"/> that specifies the desired internal stream buffer size.</param>
						<returns>
							<para> A new synchronized <see cref="T:System.IO.Stream"/> object that writes to the console.</para>
						</returns>
						<remarks>
							<para>Buffering console streams is not required to be 
      supported. If it is not supported, the <paramref name="bufferSize"/> parameter is ignored,
      and this method behaves identically to <see cref="M:System.Console.OpenStandardError"/>(). If buffering is supported, the buffering behavior of
      the <see cref="T:System.Console"/>
      class is implementation-defined.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OpenStandardInput">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.Stream OpenStandardInput()"/>
					<MemberSignature Language="C#" Value="public static Stream OpenStandardInput();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.Stream</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns the standard input stream.</para>
						</summary>
						<returns>
							<para>A new synchronized <see cref="T:System.IO.Stream"/> object that reads from the console.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OpenStandardInput">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.Stream OpenStandardInput(int32 bufferSize)"/>
					<MemberSignature Language="C#" Value="public static Stream OpenStandardInput(int bufferSize);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.Stream</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bufferSize" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the standard input stream.</para>
						</summary>
						<param name=" bufferSize">A <see cref="T:System.Int32"/> that specifies the desired internal stream buffer size.</param>
						<returns>
							<para>A new synchronized <see cref="T:System.IO.Stream"/> object that reads from the console.</para>
						</returns>
						<remarks>
							<para>Buffering console streams is not required to be 
      supported. If it is not supported, the <paramref name="bufferSize"/> parameter is ignored,
      and this method behaves identically to <see cref="M:System.Console.OpenStandardInput"/>(). If buffering is supported, the buffering behavior of
      the <see cref="T:System.Console"/>
      class is implementation-defined.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OpenStandardOutput">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.Stream OpenStandardOutput()"/>
					<MemberSignature Language="C#" Value="public static Stream OpenStandardOutput();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.Stream</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns the standard output stream.</para>
						</summary>
						<returns>
							<para> A new synchronized <see cref="T:System.IO.Stream"/> object that writes to the console.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OpenStandardOutput">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.Stream OpenStandardOutput(int32 bufferSize)"/>
					<MemberSignature Language="C#" Value="public static Stream OpenStandardOutput(int bufferSize);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.Stream</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bufferSize" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the standard output stream. The desired size of the internal buffer
      for the stream is specified.</para>
						</summary>
						<param name=" bufferSize">A <see cref="T:System.Int32"/> that specifies the desired internal stream buffer size.</param>
						<returns>
							<para>A new synchronized <see cref="T:System.IO.Stream"/> object that writes to the console.</para>
						</returns>
						<remarks>
							<para>Buffering console streams is not required to be 
      supported. If it is not supported, the <paramref name="bufferSize"/> parameter is ignored,
      and this method behaves identically to <see cref="M:System.Console.OpenStandardOutput"/>(). If buffering is supported, the buffering behavior of
      the <see cref="T:System.Console"/>
      class is implementation-defined.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Out">
					<MemberSignature Language="ILASM" Value=".property class System.IO.TextWriter Out { public hidebysig static specialname class System.IO.TextWriter get_Out() }"/>
					<MemberSignature Language="C#" Value="public static TextWriter Out { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.TextWriter</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the system's standard output stream.</para>
						</summary>
						<value>
							<para>A synchronized <see cref="T:System.IO.TextWriter"/> object where normal output is sent.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para> This property can be redirected using the <see cref="M:System.Console.SetOut(System.IO.TextWriter)"/> method. </para>
							<para>
								<block subset="none" type="note">
   
   If the application does not have a <see cref="T:System.Console"/>, <see cref="P:System.Console.Out" qualify="true"/> behaves like <see cref="F:System.IO.TextWriter.Null" qualify="true"/>.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Read()"/>
					<MemberSignature Language="C#" Value="public static int Read();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Reads the next character from the standard input
      stream.</para>
						</summary>
						<returns>
							<para>The next character from the character source represented
      as a <see cref="T:System.Int32"/>
      , or -1 if at the
      end of the
      stream.</para>
						</returns>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>This method will not return until the read operation is
      terminated; for example, by the user pressing the enter key. If data is
      available, the input stream contains what the user entered, suffixed with the
      environment dependent newline character.
      
   </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ReadLine()"/>
					<MemberSignature Language="C#" Value="public static string ReadLine();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Reads the next line of characters from the <see cref="P:System.Console.In"/>
								<see cref="T:System.IO.TextReader"/>.</para>
						</summary>
						<returns>
							<para> A <see cref="T:System.String"/> containing the next line from the input stream, or
<see langword="null"/>
if the end of the input stream has already been reached.
</para>
						</returns>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<exception cref="T:System.OutOfMemoryException">There is insufficient memory to allocate a buffer for the returned string.</exception>
						<remarks>
							<para> A line is defined as a sequence of characters followed
      by a carriage return (Unicode 0x000d), a line feed (Unicode 0x000a), or a <see cref="P:System.Environment.NewLine" qualify="true"/>. The returned string
      does not contain the terminating character(s).
      </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetError">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void SetError(class System.IO.TextWriter newError)"/>
					<MemberSignature Language="C#" Value="public static void SetError(TextWriter newError);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="newError" Type="System.IO.TextWriter"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sets the <see cref="P:System.Console.Error"/> property to the specified <see cref="T:System.IO.TextWriter"/> .</para>
						</summary>
						<param name="newError">A <see cref="T:System.IO.TextWriter"/> that becomes the new standard error output stream. </param>
						<exception cref="T:System.Security.SecurityException">The caller does not have the required permission. </exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="newError"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>This method replaces the <see cref="P:System.Console.Error"/> property
   with a synchronized <see cref="T:System.IO.TextWriter"/> returned by <see cref="M:System.IO.TextWriter.Synchronized(System.IO.TextWriter)"/>( <paramref name="newError"/> ).</para>
							<para>
								<block subset="none" type="note">By default, the <see cref="P:System.Console.Error"/> property is set
to the system's standard error stream.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.SecurityPermissionFlag">Requires <see cref="F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode"/> permission.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetIn">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void SetIn(class System.IO.TextReader newIn)"/>
					<MemberSignature Language="C#" Value="public static void SetIn(TextReader newIn);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="newIn" Type="System.IO.TextReader"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sets the <see cref="P:System.Console.In"/> property to the specified <see cref="T:System.IO.TextReader"/> .</para>
						</summary>
						<param name="newIn">A <see cref="T:System.IO.TextReader"/> that becomes the new standard input stream. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="newIn"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>This method replaces the <see cref="P:System.Console.In"/> property with a synchronized <see cref="T:System.IO.TextReader"/> returned
   by <see cref="M:System.IO.TextReader.Synchronized(System.IO.TextReader)"/>( <paramref name="newIn"/> ).</para>
							<para>
								<block subset="none" type="note">By
   default, the <see cref="P:System.Console.In"/> property
   is set
   to the system's standard input stream.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.SecurityPermissionFlag">Requires permission to execute unmanaged code. See <see cref="F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode"/> .</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetOut">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void SetOut(class System.IO.TextWriter newOut)"/>
					<MemberSignature Language="C#" Value="public static void SetOut(TextWriter newOut);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="newOut" Type="System.IO.TextWriter"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sets the <see cref="P:System.Console.Out"/> property to the specified <see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="newOut">A <see cref="T:System.IO.TextWriter"/> that becomes the new standard output stream.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="newOut"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>This method replaces the <see cref="P:System.Console.Out"/> property with a synchronized <see cref="T:System.IO.TextWriter"/> returned
   by <see cref="M:System.IO.TextWriter.Synchronized(System.IO.TextWriter)"/>( <paramref name="newOut"/> ).</para>
							<para>
								<block subset="none" type="note">By default, the <see cref="P:System.Console.Out"/> property is set to
the system's standard output stream.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.SecurityPermissionFlag">Requires permission to execute unmanaged code. See <see cref="F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode"/> .</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(string format, class System.Object[] arg)"/>
					<MemberSignature Language="C#" Value="public static void Write(string format, params object[] arg);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg" Type="System.Object[]">
							<Attributes>
								<Attribute>
									<AttributeName>ParamArrayAttribute</AttributeName>
									<Excluded>1</Excluded>
									<ExcludedTypeName>System.ParamArrayAttribute</ExcludedTypeName>
									<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
								</Attribute>
							</Attributes>
						</Parameter>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a formatted string to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format string. </param>
						<param name="arg">An array of objects referenced in the format string. </param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="format"/> or <paramref name="arg "/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to <paramref name="arg"/>.Length.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para>If a specified object is not referenced in <paramref name=" format"/>, it is ignored.</para>
								<para>For more information on format strings, see the <see cref="T:System.String"/> class overview.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(string format, object arg0, object arg1, object arg2)"/>
					<MemberSignature Language="C#" Value="public static void Write(string format, object arg0, object arg1, object arg2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
						<Parameter Name="arg1" Type="System.Object"/>
						<Parameter Name="arg2" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a formatted string to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format string. </param>
						<param name="arg0">The first object referenced in the format string. </param>
						<param name="arg1">The second object referenced in the format string. </param>
						<param name="arg2">The third object referenced in the format string. </param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="format"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (3).</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">If a specified
      object is not referenced in the format string, it is ignored.</block>
							</para>
							<para>
								<block subset="none" type="note">For more 
   information on format strings see the <see cref="T:System.String"/>
   class overview.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(string format, object arg0, object arg1)"/>
					<MemberSignature Language="C#" Value="public static void Write(string format, object arg0, object arg1);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
						<Parameter Name="arg1" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a formatted string to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format string. </param>
						<param name="arg0">The first object referenced in the format string. </param>
						<param name="arg1">The second object referenced in the format string. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (2).</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para>If a specified object is not referenced in <paramref name=" format"/>, it is ignored.</para>
								<para>For more information on format strings, see the <see cref="T:System.String"/> class overview.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(string format, object arg0)"/>
					<MemberSignature Language="C#" Value="public static void Write(string format, object arg0);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a formatted string to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format string. </param>
						<param name="arg0">An object referenced in the format string. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (1).</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para>If the specified object is not referenced in <paramref name=" format"/>, it is ignored.</para>
								<para>For more information on format strings, see the <see cref="T:System.String"/> class overview.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(bool value)"/>
					<MemberSignature Language="C#" Value="public static void Write(bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a <see cref="T:System.Boolean"/> to the
<see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.Write(System.String,System.Object)"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="Write"/>(
<paramref name="value"/>.ToString () ).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public static void Write(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a character to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/> .</para>
						</summary>
						<param name="value">The Unicode character to write to the text stream. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(class System.Char[] buffer)"/>
					<MemberSignature Language="C#" Value="public static void Write(char[] buffer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a character array to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/> .</para>
						</summary>
						<param name="buffer">The Unicode character array to write to the text stream. If <paramref name="buffer"/> is <see langword="null"/> , nothing is written. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.Write(System.String,System.Object)"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="Write"/>( <paramref name="buffer"/>
).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(class System.Char[] buffer, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public static void Write(char[] buffer, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a subarray of characters to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="buffer">The Unicode character array from which characters are read. </param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the starting offset in <paramref name="buffer"/> at which to begin reading.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of characters to write. </param>
						<exception cref="T:System.ArgumentException">
							<para>(<paramref name="index"/> + <paramref name="count"/> ) is greater than the length of <paramref name="buffer"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> or <paramref name="count"/> is negative.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.Write(System.String,System.Object)"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="Write"/>( <paramref name="buffer"/>,
<paramref name="index"/>, <paramref name="count"/> ).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(float64 value)"/>
					<MemberSignature Language="C#" Value="public static void Write(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes the text representation of a specified <see cref="T:System.Double"/> to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para> This version of <see cref="M:System.Console.Write(System.String,System.Object)"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="Write "/>(<paramref name="value"/>.ToString()).
   </para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(decimal value)"/>
					<MemberSignature Language="C#" Value="public static void Write(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes the text representation of a specified <see cref="T:System.Decimal"/> to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para> This version of <see cref="M:System.Console.Write(System.String,System.Object)"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="Write "/>(<paramref name="value"/>.ToString()).
   </para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(float32 value)"/>
					<MemberSignature Language="C#" Value="public static void Write(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes the text representation of a specified <see cref="T:System.Single"/> to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para> This version of <see cref="M:System.Console.Write(System.String,System.Object)"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="Write "/>(<paramref name="value"/> 
.ToString()).
</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(int32 value)"/>
					<MemberSignature Language="C#" Value="public static void Write(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes the text representation of a specified <see cref="T:System.Int32"/> to the
<see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int32"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.Write(System.String,System.Object)"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="Write"/>(
<paramref name="value"/>.ToString()).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static void Write(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes the text representation of a
      specified <see cref="T:System.UInt32"/> to the
   <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.UInt32"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Console.Write(System.String,System.Object)"/>(<see cref="T:System.Int64"/>).</para>
							<para>This version of <see cref="M:System.Console.Write(System.String,System.Object)"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="Write"/>(
<paramref name="value"/>.<see langword="ToString"/> ()).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(int64 value)"/>
					<MemberSignature Language="C#" Value="public static void Write(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes the text representation of a
      specified <see cref="T:System.Int64"/> to the
   <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int64"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.Write(System.String,System.Object)"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="Write"/>(
<paramref name="value"/>.ToString() ).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static void Write(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes the text representation of a
      specified <see cref="T:System.UInt64"/>
      to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
   
   .
   </para>
						</summary>
						<param name="value">The <see cref="T:System.UInt64"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Console.Write(System.String,System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
							<para>This version of <see cref="M:System.Console.Write(System.String,System.Object)"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="Write"/>(
<paramref name="value"/> .ToString()).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(object value)"/>
					<MemberSignature Language="C#" Value="public static void Write(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes the text representation of a specified object to the
   <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The object to write. If <paramref name="value"/> is <see langword="null"/> , <see cref="F:System.String.Empty"/> is written. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.Write(System.String,System.Object)"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="Write"/>(
<paramref name="value"/>.ToString () ).</para>
							<para>
								<block subset="none" type="note">If <paramref name=" value"/> is <see langword="null"/>, no exception is thrown and nothing
is written. Otherwise, the object's <see cref="M:System.Object.ToString"/> method is called to
produce the string representation, and the resulting string is written to the
output stream.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Write(string value)"/>
					<MemberSignature Language="C#" Value="public static void Write(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a specified string to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to write. If <paramref name="value"/> is <see langword="null"/>, the <see cref="F:System.String.Empty"/> string is written. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.Write(System.String,System.Object)"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="Write"/>(
<paramref name="value"/> ).</para>
							<para>
								<block subset="none" type="note">If specified value is <see langword="null"/> , nothing is written to the output stream.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(bool value)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes the text representation of a <see cref="T:System.Boolean"/> followed by
   a line terminator to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.WriteLine"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="WriteLine"/>(
<paramref name="value"/>.ToString() ).</para>
							<para> The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/>
stream.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine()"/>
					<MemberSignature Language="C#" Value="public static void WriteLine();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Writes a line terminator to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para> The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/> property. The line terminator can be set using the
<see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property of the <see cref="P:System.Console.Out"/> stream.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(string format, class System.Object[] arg)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(string format, params object[] arg);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg" Type="System.Object[]">
							<Attributes>
								<Attribute>
									<AttributeName>ParamArrayAttribute</AttributeName>
									<Excluded>1</Excluded>
									<ExcludedTypeName>System.ParamArrayAttribute</ExcludedTypeName>
									<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
								</Attribute>
							</Attributes>
						</Parameter>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a formatted string and a new line to the
   <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format string. </param>
						<param name="arg">An array of objects referenced in the format string. </param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="format"/> or <paramref name="arg "/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to <paramref name="arg"/>.Length .</para>
						</exception>
						<remarks>
							<para> The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/>
stream.</para>
							<block subset="none" type="note">
								<para>If a specified object is not referenced in <paramref name=" format"/>, it is ignored.</para>
								<para>For more information on format strings, see the <see cref="T:System.String"/> class overview.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(string format, object arg0, object arg1, object arg2)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(string format, object arg0, object arg1, object arg2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
						<Parameter Name="arg1" Type="System.Object"/>
						<Parameter Name="arg2" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a formatted string and a new line to the
   <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format string. </param>
						<param name="arg0">The first object referenced in the format string. </param>
						<param name="arg1">The second object referenced in the format string. </param>
						<param name="arg2">The third object referenced in the format string. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (3).</para>
						</exception>
						<remarks>
							<para> The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/>
stream.</para>
							<block subset="none" type="note">
								<para>If a specified object is not referenced in <paramref name=" format"/>, it is ignored.</para>
								<para>For more information on format strings, see the <see cref="T:System.String"/> class overview.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(string format, object arg0, object arg1)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(string format, object arg0, object arg1);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
						<Parameter Name="arg1" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a formatted string and a new line to the
   <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format string. </param>
						<param name="arg0">The first object referenced in the format string. </param>
						<param name="arg1">The second object referenced in the format string. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (2).</para>
						</exception>
						<remarks>
							<para> The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/>
stream.</para>
							<block subset="none" type="note">
								<para>If a specified object is not referenced in <paramref name=" format"/>, it is ignored.</para>
								<para>For more information on format strings, see the <see cref="T:System.String"/> class overview.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(string format, object arg0)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(string format, object arg0);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a formatted string and a line terminator to
      the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>.
      </para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format string. </param>
						<param name="arg0">An object referenced in the format string. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (1).</para>
						</exception>
						<remarks>
							<para> The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/>
stream.</para>
							<block subset="none" type="note">
								<para>If the specified object is not referenced in <paramref name=" format"/>, it is ignored.</para>
								<para>For more information on format strings, see the <see cref="T:System.String"/> class overview.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(string value)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a specified <see cref="T:System.String"/> followed by a line terminator
   to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to write. If <paramref name="value"/> is <see langword="null"/>, only the line terminator is written.</param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.WriteLine"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="WriteLine"/>(
<paramref name="value"/> ).</para>
							<para> The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/>
stream.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(object value)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes the text representation of a
      specified object followed by a line terminator to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
   .
   </para>
						</summary>
						<param name="value">The object to write. If <paramref name="value"/> is <see langword="null"/>, only the line terminator is written. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.WriteLine"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="WriteLine"/>(
<paramref name="value"/>.ToString() ).</para>
							<para> The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/>
stream.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes the text representation of a specified <see cref="T:System.UInt64"/> followed by a
   line terminator to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.UInt64"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Console.WriteLine"/>(<see cref="T:System.Decimal"/>).</para>
							<para>This version of <see cref="M:System.Console.WriteLine"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="WriteLine"/>(
<paramref name="value"/> .ToString()).</para>
							<para> The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/>
stream.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(int64 value)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes the text representation of a specified <see cref="T:System.Int64"/> followed by a line
   terminator to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int64"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.WriteLine"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="WriteLine"/>(
<paramref name="value"/>.ToString() ).</para>
							<para> The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/>
stream.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes the text representation of a specified <see cref="T:System.UInt32"/> followed by a
   line terminator to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.UInt32"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Console.WriteLine"/>(<see cref="T:System.Int64"/>).</para>
							<para>This version of <see cref="M:System.Console.WriteLine"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="WriteLine"/>(
<paramref name="value"/>.ToString() ).</para>
							<para> The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/>
stream.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(int32 value)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a specified <see cref="T:System.Int32"/> followed by a line terminator to the
<see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Int32"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.WriteLine"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="WriteLine"/>(
<paramref name="value"/> .ToString ()).</para>
							<para> The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/>
stream.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(float32 value)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a specified <see cref="T:System.Single"/> followed by a line terminator to the
<see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.WriteLine"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="WriteLine "/>(<paramref name="value"/>.ToString ()).</para>
							<para>The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/> stream.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(float64 value)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a specified <see cref="T:System.Double"/> followed by a line terminator to the
<see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.WriteLine"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="WriteLine "/>(<paramref name="value"/>.ToString ()).</para>
							<para> The default line terminator is the value of the<see cref="P:System.Environment.NewLine" qualify="true"/> property. The
line terminator can be set using the<see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property of the <see cref="P:System.Console.Out"/> stream.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(decimal value)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a specified <see cref="T:System.Decimal"/> followed by a line terminator to the
<see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.WriteLine"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="WriteLine "/>(<paramref name="value"/>.ToString ()).</para>
							<para>The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/> property. The
line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property of the <see cref="P:System.Console.Out"/> stream.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(class System.Char[] buffer, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(char[] buffer, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a subarray of characters followed by a line
      terminator to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
   .
   </para>
						</summary>
						<param name="buffer">The Unicode character array from which data is read. </param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the index into <paramref name="buffer"/> at which to begin reading. </param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of characters to write. </param>
						<exception cref="T:System.ArgumentException">
							<para>(<paramref name="index"/> + <paramref name="count"/> ) is greater than the length of <paramref name="buffer"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> or <paramref name="count"/> is negative.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.WriteLine"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="WriteLine"/>(
<paramref name="buffer"/>, <paramref name="index"/>, <paramref name="count"/> ).</para>
							<para> The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/>
stream.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(class System.Char[] buffer)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(char[] buffer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes an array of characters followed by a line
      terminator to the <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
   .
   </para>
						</summary>
						<param name="buffer">The Unicode character array to write. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="buffer"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.WriteLine"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="WriteLine"/>(
<paramref name="buffer"/> ).</para>
							<para>The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/>
stream.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WriteLine(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public static void WriteLine(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a character followed by a line terminator to the
   <see cref="P:System.Console.Out"/>
								<see cref="T:System.IO.TextWriter"/>
.</para>
						</summary>
						<param name="value">The Unicode character to write to the text stream. </param>
						<exception cref="T:System.IO.IOException">An I/O error occurred. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Console.WriteLine"/> is equivalent to <see cref="P:System.Console.Out"/>.<see langword="WriteLine"/>(
<paramref name="value"/> ).</para>
							<para> The default line terminator is the value of the <see cref="P:System.Environment.NewLine" qualify="true"/>
property. The line terminator can be set using the <see cref="P:System.IO.TextWriter.NewLine" qualify="true"/> property
of the <see cref="P:System.Console.Out"/>
stream.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Convert" FullName="System.Convert" FullNameSP="System_Convert">
			<TypeSignature Language="ILASM" Value=".class public sealed Convert extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class Convert"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Performs conversions between base data types.</para>
				</summary>
				<remarks>
					<para>The following table shows conversions from source types
      to destination types. The first column contains the source types. The remaining
      columns indicate the destination types the source may be converted to. An 'x'
      indicates the <see cref="T:System.Convert"/>
      
      class implements the conversion. <block subset="none" type="note"> the
      column headers correspond precisely, in order, to the source types in the first
      column, but have been abbreviated to fit.</block>
					</para>
					<list type="table">
						<listheader>
							<term>Type</term>
							<description>Bool</description>
							<description>Byte</description>
							<description>Char</description>
							<description>DT</description>
							<description>Dec</description>
							<description>Dou</description>
							<description>I16</description>
							<description>I32</description>
							<description>I64</description>
							<description>SBy</description>
							<description>Sin</description>
							<description>Str</description>
							<description>UI16</description>
							<description>UI32</description>
							<description>UI64</description>
						</listheader>
						<item>
							<term> Boolean</term>
							<description>x</description>
							<description>x</description>
							<description/>
							<description/>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
						</item>
						<item>
							<term> Byte</term>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description/>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
						</item>
						<item>
							<term> Char</term>
							<description/>
							<description>x</description>
							<description>x</description>
							<description/>
							<description/>
							<description/>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description/>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
						</item>
						<item>
							<term> DateTime</term>
							<description/>
							<description/>
							<description/>
							<description>x</description>
							<description/>
							<description/>
							<description/>
							<description/>
							<description/>
							<description/>
							<description/>
							<description>x</description>
							<description/>
							<description/>
							<description/>
						</item>
						<item>
							<term> Decimal</term>
							<description>x</description>
							<description>x</description>
							<description/>
							<description/>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
						</item>
						<item>
							<term> Double</term>
							<description>x</description>
							<description>x</description>
							<description/>
							<description/>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
						</item>
						<item>
							<term> Int16</term>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description/>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
						</item>
						<item>
							<term> Int32</term>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description/>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
						</item>
						<item>
							<term> Int64</term>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description/>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
						</item>
						<item>
							<term> SByte</term>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description/>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
						</item>
						<item>
							<term> Single</term>
							<description>x</description>
							<description>x</description>
							<description/>
							<description/>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
						</item>
						<item>
							<term> String</term>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
						</item>
						<item>
							<term> UInt16</term>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description/>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
						</item>
						<item>
							<term> UInt32</term>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description/>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
						</item>
						<item>
							<term> UInt64</term>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description/>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
							<description>x</description>
						</item>
					</list>
					<para>If the conversion of a numeric type results in a loss of precision, no
      exception is thrown. However, an exception is thrown if the conversion result is
      a value that is larger than that which can be represented by the destination
      type. For example, when a <see cref="T:System.Double"/> is converted to a <see cref="T:System.Single"/>, a loss of precision may occur but no
      exception is thrown. However, if the magnitude of the <see cref="T:System.Double"/> is too large to
      be represented by a <see cref="T:System.Single"/>, a <see cref="T:System.OverflowException"/> is thrown.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="ToBoolean">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool ToBoolean(decimal value)"/>
					<MemberSignature Language="C#" Value="public static bool ToBoolean(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Decimal"/> to a <see cref="T:System.Boolean"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to be converted. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> is non-zero;
<see langword="false"/> if <paramref name="value"/> is zero.</para>
						</returns>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.Decimal"/> values 
   to <see cref="T:System.Boolean"/> values.</para>
							<code lang="C#">using System;
class ConvertBoolTest {
    static public void Main() {
        decimal decimal0 = 0m;
        decimal decimal1 = 1m; 
        decimal decimal2 = -2m;
        bool bool0 = Convert.ToBoolean(decimal0);
        bool bool1 = Convert.ToBoolean(decimal1);
        bool bool2 = Convert.ToBoolean(decimal2);
        Console.WriteLine("(decimal) {0} as bool = {1}",decimal0,bool0);
        Console.WriteLine("(decimal) {0} as bool = {1}",decimal1,bool1);
        Console.WriteLine("(decimal) {0} as bool = {1}",decimal2,bool2);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(decimal) 0 as bool = False</para>
								<para>(decimal) 1 as bool = True</para>
								<para>(decimal) -2 as bool = True</para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToBoolean">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool ToBoolean(float64 value)"/>
					<MemberSignature Language="C#" Value="public static bool ToBoolean(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Double"/> to a <see cref="T:System.Boolean"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to be converted. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> is non-zero;
<see langword="false"/> if <paramref name="value"/> is zero.</para>
						</returns>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.Double"/> values 
   to <see cref="T:System.Boolean"/> values.</para>
							<code lang="C#">using System;
class ConvertBoolTest {
    static public void Main() {
        double double0 = 0.0;
        double double1 = 1.0; 
        double double2 = -2.0;
        bool bool0 = Convert.ToBoolean(double0);
        bool bool1 = Convert.ToBoolean(double1);
        bool bool2 = Convert.ToBoolean(double2);
        Console.WriteLine("(double) {0} as bool = {1}",double0,bool0);
        Console.WriteLine("(double) {0} as bool = {1}",double1,bool1);
        Console.WriteLine("(double) {0} as bool = {1}",double2,bool2);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(double) 0 as bool = False</para>
								<para>(double) 1 as bool = True</para>
								<para>(double) -2 as bool = True</para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToBoolean">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool ToBoolean(float32 value)"/>
					<MemberSignature Language="C#" Value="public static bool ToBoolean(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Single"/> to a <see cref="T:System.Boolean"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to be converted. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> is non-zero;
<see langword="false"/> if <paramref name="value"/> is zero.</para>
						</returns>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.Single"/> values 
   to <see cref="T:System.Boolean"/> values.</para>
							<code lang="C#">using System;
class ConvertBoolTest {
    static public void Main() {
        float float0 = 0.0f;
        float float1 = 1.0f; 
        float float2 = -2.0f;
        bool bool0 = Convert.ToBoolean(float0);
        bool bool1 = Convert.ToBoolean(float1);
        bool bool2 = Convert.ToBoolean(float2);
        Console.WriteLine("(float) {0} as bool = {1}",float0,bool0);
        Console.WriteLine("(float) {0} as bool = {1}",float1,bool1);
        Console.WriteLine("(float) {0} as bool = {1}",float2,bool2);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(float) 0 as bool = False</para>
								<para>(float) 1 as bool = True</para>
								<para>(float) -2 as bool = True</para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToBoolean">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool ToBoolean(string value)"/>
					<MemberSignature Language="C#" Value="public static bool ToBoolean(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Boolean"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> equals <see cref="F:System.Boolean.TrueString"/>;
<see langword="false"/> if <paramref name="value"/> equals <see cref="F:System.Boolean.FalseString"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> is not equal to <see cref="F:System.Boolean.TrueString"/> or <see cref="F:System.Boolean.FalseString"/>.</exception>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.String"/> values
   to <see cref="T:System.Boolean"/> values.</para>
							<code lang="C#">using System;
class ConvertBoolTest {
    static public void Main() {
        string string0 = Boolean.TrueString;
        string string1 = Boolean.FalseString; 
        string string2 = "foo"; //This is an invalid Boolean.
        bool bool0 = Convert.ToBoolean(string0);
        bool bool1 = Convert.ToBoolean(string1);
        Console.WriteLine("(string) {0} as bool = {1}",string0,bool0);
        Console.WriteLine("(string) {0} as bool = {1}",string1,bool1);
        bool bool2 = Convert.ToBoolean(string2); //Throws an exception.
        Console.WriteLine("(string) {0} as bool = {1}",string2,bool2);
    }
}
</code>
							<para>The output is</para>
							<code>
(string) True as bool = True
(string) False as bool = False
Unhandled Exception: System.FormatException: String was not recognized as a valid Boolean.
      at System.Boolean.Parse(String value)
      at Convert.ToBoolean(String value)
      at ConvertBoolTest.Main() in C:\ECMAExamples\ConvertString.cs:line 12
</code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToBoolean">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool ToBoolean(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static bool ToBoolean(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.Boolean"/> .</para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> is non-zero;
<see langword="false"/> if <paramref name="value"/> is zero. </para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Convert.ToBoolean(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.UInt64"/> values 
   to <see cref="T:System.Boolean"/> values.</para>
							<code lang="C#">using System;
class ConvertBoolTest {
    static public void Main() {
        ulong ulong0 = 0;
        ulong ulong1 = 1; 
        bool bool0 = Convert.ToBoolean(ulong0);
        bool bool1 = Convert.ToBoolean(ulong1);
        Console.WriteLine("(ulong) {0} as bool = {1}",ulong0,bool0);
        Console.WriteLine("(ulong) {0} as bool = {1}",ulong1,bool1);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(ulong) 0 as bool = False</para>
								<para>(ulong) 1 as bool = True</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToBoolean">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool ToBoolean(int64 value)"/>
					<MemberSignature Language="C#" Value="public static bool ToBoolean(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Boolean"/> .</para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> is non-zero;
<see langword="false"/> if <paramref name="value"/> is zero. </para>
						</returns>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.Int64"/> values 
   to <see cref="T:System.Boolean"/> values.</para>
							<code lang="C#">using System;
class ConvertBoolTest {
    static public void Main() {
        long long0 = 0;
        long long1 = 1; 
        long long2 = -2;
        bool bool0 = Convert.ToBoolean(long0);
        bool bool1 = Convert.ToBoolean(long1);
        bool bool2 = Convert.ToBoolean(long2);
        Console.WriteLine("(long) {0} as bool = {1}",long0,bool0);
        Console.WriteLine("(long) {0} as bool = {1}",long1,bool1);
        Console.WriteLine("(long) {0} as bool = {1}",long2,bool2);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(long) 0 as bool = False</para>
								<para>(long) 1 as bool = True</para>
								<para>(long) -2 as bool = True</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToBoolean">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool ToBoolean(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static bool ToBoolean(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.Boolean"/> .</para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> is non-zero;
<see langword="false"/> if <paramref name="value"/> is zero. </para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Convert.ToBoolean(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.UInt32"/> values 
   to <see cref="T:System.Boolean"/> values.</para>
							<code lang="C#">using System;
class ConvertBoolTest {
    static public void Main() {
        uint uint0 = 0;
        uint uint1 = 1; 
        bool bool0 = Convert.ToBoolean(uint0);
        bool bool1 = Convert.ToBoolean(uint1);
        Console.WriteLine("(uint) {0} as bool = {1}",uint0,bool0);
        Console.WriteLine("(uint) {0} as bool = {1}",uint1,bool1);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(uint) 0 as bool = False</para>
								<para>(uint) 1 as bool = True</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToBoolean">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool ToBoolean(int32 value)"/>
					<MemberSignature Language="C#" Value="public static bool ToBoolean(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.Boolean"/> .</para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> is non-zero;
<see langword="false"/> if <paramref name="value"/> is zero. </para>
						</returns>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.Int32"/> values 
   to <see cref="T:System.Boolean"/> values.</para>
							<code lang="C#">using System;
class ConvertBoolTest {
    static public void Main() {
        int int0 = 0;
        int int1 = 1; 
        int int2 = -2;
        bool bool0 = Convert.ToBoolean(int0);
        bool bool1 = Convert.ToBoolean(int1);
        bool bool2 = Convert.ToBoolean(int2);
        Console.WriteLine("(int) {0} as bool = {1}",int0,bool0);
        Console.WriteLine("(int) {0} as bool = {1}",int1,bool1);
        Console.WriteLine("(int) {0} as bool = {1}",int2,bool2);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(int) 0 as bool = False</para>
								<para>(int) 1 as bool = True</para>
								<para>(int) -2 as bool = True</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToBoolean">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool ToBoolean(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static bool ToBoolean(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.Boolean"/> .</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> is non-zero;
<see langword="false"/> if <paramref name="value"/> is zero. </para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Convert.ToBoolean(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.Int16"/> values 
   to <see cref="T:System.Boolean"/> values.</para>
							<code lang="C#">using System;
class ConvertBoolTest {
    static public void Main() {
        ushort ushort0 = 0;
        ushort ushort1 = 1; 
        bool bool0 = Convert.ToBoolean(ushort0);
        bool bool1 = Convert.ToBoolean(ushort1);
        Console.WriteLine("(ushort) {0} as bool = {1}",ushort0,bool0);
        Console.WriteLine("(ushort) {0} as bool = {1}",ushort1,bool1);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(ushort) 0 as bool = False</para>
								<para>(ushort) 1 as bool = True</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToBoolean">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool ToBoolean(int16 value)"/>
					<MemberSignature Language="C#" Value="public static bool ToBoolean(short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.Boolean"/> .</para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> is non-zero;
<see langword="false"/> if <paramref name="value"/> is zero. </para>
						</returns>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.Byte"/> values to <see cref="T:System.Boolean"/> values.</para>
							<code lang="C#">using System;
class ConvertBoolTest {
    static public void Main() {
        short short0 = 0;
        short short1 = 1; 
        short short2 = -2;
        bool bool0 = Convert.ToBoolean(short0);
        bool bool1 = Convert.ToBoolean(short1);
        bool bool2 = Convert.ToBoolean(short2);
        Console.WriteLine("(short) {0} as bool = {1}",short0,bool0);
        Console.WriteLine("(short) {0} as bool = {1}",short1,bool1);
        Console.WriteLine("(short) {0} as bool = {1}",short2,bool2);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(short) 0 as bool = False</para>
								<para>(short) 1 as bool = True</para>
								<para>(short) -2 as bool = True</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToBoolean">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool ToBoolean(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static bool ToBoolean(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.Boolean"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> is non-zero;
<see langword="false"/> if <paramref name="value"/> is zero.</para>
						</returns>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.Byte"/> values to <see cref="T:System.Boolean"/> values.</para>
							<code lang="C#">using System;
class ConvertBoolTest {
    static public void Main() {
        byte byte0 = (byte) 0;
        byte byte1 = (Byte) 1; 
        bool bool0 = Convert.ToBoolean(byte0);
        bool bool1 = Convert.ToBoolean(byte1);
        Console.WriteLine("(byte) {0} as bool = {1}",byte0,bool0);
        Console.WriteLine("(byte) {0} as bool = {1}",byte1,bool1);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(byte) 0 as bool = False</para>
								<para>(byte) 1 as bool = True</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToBoolean">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool ToBoolean(int8 value)"/>
					<MemberSignature Language="C#" Value="public static bool ToBoolean(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.Boolean"/> .</para>
						</summary>
						<param name="value">The 8-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> is non-zero;
<see langword="false"/> if <paramref name="value"/> is zero.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Convert.ToBoolean(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.SByte"/> values to <see cref="T:System.Boolean"/> values.</para>
							<code lang="C#">using System;
class ConvertBoolTest {
    static public void Main() {
        sbyte sbyte0 = (sbyte) 0;
        sbyte sbyte1 = (sbyte) 1; 
        sbyte sbyte2 = (sbyte) -2;
        bool bool0 = Convert.ToBoolean(sbyte0);
        bool bool1 = Convert.ToBoolean(sbyte1);
        bool bool2 = Convert.ToBoolean(sbyte2);
        Console.WriteLine("(sbyte) {0} as bool = {1}",sbyte0,bool0);
        Console.WriteLine("(sbyte) {0} as bool = {1}",sbyte1,bool1);
        Console.WriteLine("(sbyte) {0} as bool = {1}",sbyte2,bool2);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(sbyte) 0 as bool = False</para>
								<para>(sbyte) 1 as bool = True</para>
								<para>(sbyte) -2 as bool = True</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToBoolean">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool ToBoolean(bool value)"/>
					<MemberSignature Language="C#" Value="public static bool ToBoolean(bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.Boolean"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to be converted.</param>
						<returns>
							<para>
								<paramref name="value"/> is returned unchanged.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is provided for
      completeness.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(string value)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> representation of a number to a <see cref="T:System.Byte"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Byte"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> does not consist of an optional sign followed by one or more digits (zero through nine).</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Byte.MaxValue"/> or less than <see cref="F:System.Byte.MinValue"/>.</exception>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.String"/> values 
   to <see cref="T:System.Byte"/> values.</para>
							<code lang="C#">using System;
class ConvertByteTest {
    static public void Main() {
        string string0 = "+22";
        string string1 = "0"; 
        string string2 = "-1";
        byte byte0 = Convert.ToByte(string0);
        byte byte1 = Convert.ToByte(string1);
        Console.WriteLine("(string) {0} as byte = {1}",string0,byte0);
        Console.WriteLine("(string) {0} as byte = {1}",string1,byte1);
        byte byte2 = Convert.ToByte(string2);
        Console.WriteLine("(string) {0} as byte = {1}",string2,byte2);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(string) +22 as byte = 22</para>
								<para>(string) 0 as byte = 0</para>
								<para>Exception occurred: System.OverflowException: Value was either too large or
      too small for an unsigned byte.</para>
								<para>at System.Byte.Parse(String s, NumberStyles style, IFormatProvider
      provider)</para>
								<para>at System.Byte.Parse(String s)</para>
								<para>at Convert.ToByte(String value)</para>
								<para>at ConvertByteTest.Main() in
      C:\ECMAExamples\ConvertToByte\ConvertString.cs:line 11</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(decimal value)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Decimal"/> to a <see cref="T:System.Byte"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Byte"/> , rounded to the nearest integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Byte.MaxValue"/> or less than <see cref="F:System.Byte.MinValue"/>.</exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6. <block subset="none" type="note"> This process is known as banker's rounding.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.Decimal"/> values 
   to <see cref="T:System.Byte"/> values.</para>
							<code lang="C#">using System;
class ConvertByteTest {
    static public void Main() {
        decimal decimal0 = 0.0m;
        decimal decimal1 = 1.5m;
        decimal decimal2 = 2.5m; 
        decimal decimal3 = -1.0m; 
        byte byte0 = Convert.ToByte(decimal0);
        byte byte1 = Convert.ToByte(decimal1);
        byte byte2 = Convert.ToByte(decimal2);
        Console.WriteLine("(decimal) {0} as byte = {1}",decimal0,byte0);
        Console.WriteLine("(decimal) {0} as byte = {1}",decimal1,byte1);
        Console.WriteLine("(decimal) {0} as byte = {1}",decimal2,byte2);

        byte byte3 = Convert.ToByte(decimal3); //Throws an exception.
        Console.WriteLine("(decimal) {0} as byte = {1}",decimal3,byte3);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(decimal) 0 as byte = 0</para>
								<para>(decimal) 1.5 as byte = 2</para>
								<para>(decimal) 2.5 as byte = 2</para>
								<para>Exception occurred: System.OverflowException: Value was either too large or
      too small for an unsigned byte.</para>
								<para>at System.Decimal.ToByte(Decimal value)</para>
								<para>at Convert.ToByte(Decimal value)</para>
								<para>at ConvertByteTest.Main() in
      C:\ECMAExamples\ConvertToByte\ConvertDecimal.cs:line 15</para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(float64 value)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Double"/> to a <see cref="T:System.Byte"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Byte"/> , rounded to the nearest integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Byte.MaxValue"/> or less than <see cref="F:System.Byte.MinValue"/>, or <paramref name="value"/> is equal to one of <see cref="F:System.Double.NaN"/>, <see cref="F:System.Double.PositiveInfinity"/>, or <see cref="F:System.Double.NegativeInfinity"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two numbers, it is rounded to the number that has an even digit in the
   rightmost decimal position. For example, when rounded to two decimals, the value
   2.345 becomes 2.34 and the value 2.355 becomes 2.36</para>
						</remarks>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.Double"/> values 
   to <see cref="T:System.Byte"/> values.</para>
							<code lang="C#">using System;
class ConvertByteTest {
    static public void Main() {
        double double0 = 0.0;
        double double1 = 1.5;
        double double2 = 2.5; 
        double double3 = -1.0; 
        byte byte0 = Convert.ToByte(double0);
        byte byte1 = Convert.ToByte(double1);
        byte byte2 = Convert.ToByte(double2);
        Console.WriteLine("(double) {0} as byte = {1}",double0,byte0);
        Console.WriteLine("(double) {0} as byte = {1}",double1,byte1);
        Console.WriteLine("(double) {0} as byte = {1}",double2,byte2);

        byte byte3 = Convert.ToByte(double3); //Throws an exception.
        Console.WriteLine("(double) {0} as byte = {1}",double3,byte3);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(double) 0 as byte = 0</para>
								<para>(double) 1.5 as byte = 2</para>
								<para>(double) 2.5 as byte = 2</para>
								<para>Exception occurred: System.OverflowException: Value was either too large or
      too small for an unsigned byte.</para>
								<para>at Convert.ToByte(Int32 value)</para>
								<para>at Convert.ToByte(Double value)</para>
								<para>at ConvertByteTest.Main() in
      C:\ECMAExamples\ConvertToByte\ConvertDouble.cs:line 15</para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(float32 value)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Single"/> to a <see cref="T:System.Byte"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Byte"/> , rounded to the nearest integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Byte.MaxValue"/> or less than <see cref="F:System.Byte.MinValue"/>, or <paramref name="value"/> is equal to one of <see cref="F:System.Single.NaN"/>, <see cref="F:System.Single.PositiveInfinity"/>, or <see cref="F:System.Single.NegativeInfinity"/>.</exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway between two whole
   numbers, it is rounded to the nearest even integer. For example, 4.5 is rounded
   to 4, and 5.5 is rounded to 6.</para>
						</remarks>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.Single"/> values 
   to <see cref="T:System.Byte"/> values.</para>
							<code lang="C#">using System;
class ConvertByteTest {
    static public void Main() {
        float float0 = 0.0f;
        float float1 = 1.5f;
        float float2 = 2.5f; 
        float float3 = -1.0f; 
        byte byte0 = Convert.ToByte(float0);
        byte byte1 = Convert.ToByte(float1);
        byte byte2 = Convert.ToByte(float2);
        Console.WriteLine("(float) {0} as byte = {1}",float0,byte0);
        Console.WriteLine("(float) {0} as byte = {1}",float1,byte1);
        Console.WriteLine("(float) {0} as byte = {1}",float2,byte2);

        byte byte3 = Convert.ToByte(float3); //Throws an exception.
        Console.WriteLine("(float) {0} as byte = {1}",float3,byte3);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(float) 0 as byte = 0</para>
								<para>(float) 1.5 as byte = 2</para>
								<para>(float) 2.5 as byte = 2</para>
								<para>Exception occurred: System.OverflowException: Value was either too large or
      too small for an unsigned byte.</para>
								<para>at Convert.ToByte(Int32 value)</para>
								<para>at Convert.ToByte(Single value)</para>
								<para>at ConvertByteTest.Main() in
      C:\ECMAExamples\ConvertToByte\ConvertFloat.cs:line 15</para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.Byte"/> .</para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Byte"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Byte.MaxValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Convert.ToByte(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.UInt64"/> values 
   to <see cref="T:System.Byte"/> values.</para>
							<code lang="C#">using System;
class ConvertByteTest {
    static public void Main() {
        ulong ulong0 = 0;
        ulong ulong1 = 32000;
        byte byte0 = Convert.ToByte(ulong0);
        Console.WriteLine("(ulong) {0} as byte = {1}",ulong0,byte0);
        byte byte1 = Convert.ToByte(ulong1); //Throws an exception.
        Console.WriteLine("(ulong) {0} as byte = {1}",ulong1,byte1);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(ulong) 0 as byte = 0</para>
								<para>Exception occurred: System.OverflowException: Value was either too large or
      too small for an unsigned byte.</para>
								<para>at Convert.ToByte(UInt64 value)</para>
								<para>at ConvertByteTest.Main() in
      C:\ECMAExamples\ConvertToByte\ConvertUInt64.cs:line 8</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(int64 value)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Byte"/> .</para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Byte"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Byte.MaxValue"/> or less than <see cref="F:System.Byte.MinValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.Byte"/> .</para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Byte"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Byte.MaxValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Convert.ToByte(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(int32 value)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.Byte"/> .</para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Byte"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Byte.MaxValue"/> or less than <see cref="F:System.Byte.MinValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.Byte"/> .</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Byte"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Byte.MaxValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Convert.ToByte(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.UInt16"/> values 
   to <see cref="T:System.Byte"/> values.</para>
							<code lang="C#">using System;
class ConvertByteTest {
    static public void Main() {
        ushort ushort0 = 0;
        ushort ushort1 = 32000;
        byte byte0 = Convert.ToByte(ushort0);
        Console.WriteLine("(ushort) {0} as byte = {1}",ushort0,byte0);
        byte byte1 = Convert.ToByte(ushort1); //Throws an exception.
        Console.WriteLine("(ushort) {0} as byte = {1}",ushort1,byte1);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(ushort) 0 as byte = 0</para>
								<para>Exception occurred: System.OverflowException: Value was either too large or
      too small for an unsigned byte.</para>
								<para>at Convert.ToByte(UInt16 value)</para>
								<para>at ConvertByteTest.Main() in
      C:\ECMAExamples\ConvertToByte\ConvertUInt16.cs:line 8</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(int16 value)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.Byte"/> .</para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Byte"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Byte.MaxValue"/> or less than <see cref="F:System.Byte.MinValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(int8 value)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.Byte"/> .</para>
						</summary>
						<param name="value">The 8-bit signed integer to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Byte"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is less than <see cref="F:System.Byte.MinValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToByte(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(bool value)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.Byte"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to be converted. </param>
						<returns>
							<para> If <paramref name="value"/> equals <see langword="true"/>, returns
 1; if <paramref name="value"/> equals <see langword="false"/> , returns 0.
 </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.Byte"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted.</param>
						<returns>
							<para>
								<paramref name="value"/> is returned unchanged.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is
      provided for completeness.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Char"/> to a <see cref="T:System.Byte"/> . </para>
						</summary>
						<param name="value">The Unicode character to be converted interpreted as an unsigned value.</param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Byte"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Byte.MaxValue"/>.</exception>
						<example>
							<para>The following example demonstrates converting <see cref="T:System.Char"/> values 
   to <see cref="T:System.Byte"/> values.</para>
							<code lang="C#">using System;
class ConvertByteTest {
    static public void Main() {
        char char0 = '0';
        char char1 = '1';
        char char2 = 'a'; 
        byte byte0 = Convert.ToByte(char0);
        byte byte1 = Convert.ToByte(char1);
        byte byte2 = Convert.ToByte(char2);
        Console.WriteLine("(char) {0} as byte = {1}",char0,byte0);
        Console.WriteLine("(char) {0} as byte = {1}",char1,byte1);
        Console.WriteLine("(char) {0} as byte = {1}",char2,byte2);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>(char) 0 as byte = 48</para>
								<para>(char) 1 as byte = 49</para>
								<para>(char) a as byte = 97</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 ToByte(string value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static byte ToByte(string value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Byte"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Byte"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> does not consist of an optional sign followed by one or more digits (zero through nine).</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Byte.MaxValue"/> or less than <see cref="F:System.Byte.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is parsed using the formatting information of the current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToChar">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char ToChar(string value)"/>
					<MemberSignature Language="C#" Value="public static char ToChar(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Char"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The <see cref="T:System.String"/> is required to contain a single character. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Char"/>. </para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> does not contain exactly one character. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToChar">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char ToChar(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static char ToChar(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.Char"/> .</para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Char"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Char.MaxValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Convert.ToChar(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToChar">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char ToChar(int64 value)"/>
					<MemberSignature Language="C#" Value="public static char ToChar(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Char"/> .</para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Char"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Char.MaxValue"/> or less than <see cref="F:System.Char.MinValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToChar">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char ToChar(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static char ToChar(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.Char"/> .</para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Char"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Char.MaxValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToChar">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char ToChar(int32 value)"/>
					<MemberSignature Language="C#" Value="public static char ToChar(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.Char"/> .</para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Char"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Char.MaxValue"/> or less than <see cref="F:System.Char.MinValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToChar">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char ToChar(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static char ToChar(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.Char"/> .</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Char"/>.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToChar(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToChar">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char ToChar(int16 value)"/>
					<MemberSignature Language="C#" Value="public static char ToChar(short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.Char"/> .</para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Char"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is less than <see cref="F:System.Char.MinValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToChar">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char ToChar(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static char ToChar(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.Char"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Char"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToChar">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char ToChar(int8 value)"/>
					<MemberSignature Language="C#" Value="public static char ToChar(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.Char"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Char"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">value is less than <see cref="F:System.Char.MinValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToChar(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToChar">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char ToChar(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public static char ToChar(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Char"/> to a <see cref="T:System.Char"/> .</para>
						</summary>
						<param name="value">The Unicode character to be converted.</param>
						<returns>
							<para>
								<paramref name="value"/> is returned unchanged.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is 
 provided for completeness.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToDateTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime ToDateTime(valuetype System.DateTime value)"/>
					<MemberSignature Language="C#" Value="public static DateTime ToDateTime(DateTime value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.DateTime"/> to a <see cref="T:System.DateTime"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.DateTime"/> to be converted.</param>
						<returns>
							<para>
								<paramref name="value"/> is returned unchanged.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is 
 provided for completeness.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToDateTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime ToDateTime(string value)"/>
					<MemberSignature Language="C#" Value="public static DateTime ToDateTime(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.DateTime"/> structure. </para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in a form allowed by the <see cref="M:System.DateTime.Parse(System.String)"/>(<see cref="T:System.String"/>) method. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.DateTime"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a <see cref="T:System.DateTime"/> .</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in a <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance initialized for the current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToDateTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime ToDateTime(string value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static DateTime ToDateTime(string value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.DateTime"/>
structure.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.DateTimeFormatInfo"/> containing culture-specific formatting information. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.DateTime"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a <see cref="T:System.DateTime"/> .</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is <see langword="null"/> or if a <see cref="T:System.Globalization.DateTimeFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is parsed using the formatting information of the 
   current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToDecimal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal ToDecimal(bool value)"/>
					<MemberSignature Language="C#" Value="public static decimal ToDecimal(bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.Decimal"/> . </para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to be converted. </param>
						<returns>
							<para> If <paramref name="value"/> is <see langword="true"/> returns 1; if
<paramref name="value"/> is <see langword="false"/> returns 0.
   </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDecimal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal ToDecimal(decimal value)"/>
					<MemberSignature Language="C#" Value="public static decimal ToDecimal(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Decimal"/> to a <see cref="T:System.Decimal"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> is returned unchanged.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is 
 provided for completeness.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDecimal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal ToDecimal(string value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static decimal ToDecimal(string value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Decimal"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Number"/> style. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Decimal"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is parsed using the formatting information of the 
   current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDecimal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal ToDecimal(string value)"/>
					<MemberSignature Language="C#" Value="public static decimal ToDecimal(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Decimal"/> . </para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Number"/> style. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Decimal"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in a <see cref="T:System.Globalization.NumberFormatInfo"/> instance initialized for the current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDecimal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal ToDecimal(float64 value)"/>
					<MemberSignature Language="C#" Value="public static decimal ToDecimal(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Double"/> to a <see cref="T:System.Decimal"/> . </para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Decimal"/>. The <see cref="T:System.Decimal"/> contains 15 significant digits and is
   rounded using banker's rounding. </para>
						</returns>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>.</exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDecimal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal ToDecimal(float32 value)"/>
					<MemberSignature Language="C#" Value="public static decimal ToDecimal(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Single"/> to a <see cref="T:System.Decimal"/> . </para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Decimal"/>. The <see cref="T:System.Decimal"/> contains 7 significant digits and is
   rounded using banker's rounding. </para>
						</returns>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>.</exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDecimal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal ToDecimal(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static decimal ToDecimal(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.Decimal"/> . </para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Decimal"/>. </para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDecimal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal ToDecimal(int64 value)"/>
					<MemberSignature Language="C#" Value="public static decimal ToDecimal(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Decimal"/> . </para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Decimal"/>. </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDecimal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal ToDecimal(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static decimal ToDecimal(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.Decimal"/> . </para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Decimal"/>. </para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDecimal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal ToDecimal(int32 value)"/>
					<MemberSignature Language="C#" Value="public static decimal ToDecimal(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.Decimal"/> . </para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Decimal"/>. </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDecimal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal ToDecimal(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static decimal ToDecimal(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.Decimal"/> .</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Decimal"/>.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDecimal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal ToDecimal(int16 value)"/>
					<MemberSignature Language="C#" Value="public static decimal ToDecimal(short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.Decimal"/> . </para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Decimal"/>. </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDecimal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal ToDecimal(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static decimal ToDecimal(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.Decimal"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Decimal"/>.</para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDecimal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal ToDecimal(int8 value)"/>
					<MemberSignature Language="C#" Value="public static decimal ToDecimal(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.Decimal"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Decimal"/>.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 ToDouble(float64 value)"/>
					<MemberSignature Language="C#" Value="public static double ToDouble(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Double"/> to a <see cref="T:System.Double"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> is returned unchanged.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is
      provided for completeness.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 ToDouble(float32 value)"/>
					<MemberSignature Language="C#" Value="public static double ToDouble(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Single"/> to a <see cref="T:System.Double"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Double"/>. </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 ToDouble(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static double ToDouble(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.Double"/>
.</para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Double"/>. </para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDouble(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 ToDouble(int64 value)"/>
					<MemberSignature Language="C#" Value="public static double ToDouble(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Double"/>
.</para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value "/>as a <see cref="T:System.Double"/>. </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 ToDouble(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static double ToDouble(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.Double"/>
.</para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Double"/>. </para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDouble(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 ToDouble(int32 value)"/>
					<MemberSignature Language="C#" Value="public static double ToDouble(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.Double"/> . </para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Double"/>. </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 ToDouble(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static double ToDouble(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.Double"/> .</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Double"/>.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDouble(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 ToDouble(int16 value)"/>
					<MemberSignature Language="C#" Value="public static double ToDouble(short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.Double"/>
.</para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Double"/>. </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 ToDouble(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static double ToDouble(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.Double"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Double"/>.</para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 ToDouble(int8 value)"/>
					<MemberSignature Language="C#" Value="public static double ToDouble(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.Double"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Double"/>.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDouble(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 ToDouble(bool value)"/>
					<MemberSignature Language="C#" Value="public static double ToDouble(bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.Double"/> 
.
</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to be converted. </param>
						<returns>
							<para> If <paramref name="value"/> is <see langword="true"/> returns 1; if 
<paramref name="value"/> is <see langword="false"/> returns 0.
 </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 ToDouble(decimal value)"/>
					<MemberSignature Language="C#" Value="public static double ToDouble(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Decimal"/> to a <see cref="T:System.Double"/> 
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Double"/>. <paramref name="value"/> is rounded using 
 banker's rounding. </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 ToDouble(string value)"/>
					<MemberSignature Language="C#" Value="public static double ToDouble(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Double"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Float"/> | <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> style. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Double"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Double.MaxValue"/> or less than <see cref="F:System.Double.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information in
   a <see cref="T:System.Globalization.NumberFormatInfo"/> instance initialized for the current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 ToDouble(string value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static double ToDouble(string value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Double"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Float"/> | <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> style. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Double"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Double.MaxValue"/> or less than <see cref="F:System.Double.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is parsed using the formatting information of the 
   current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(decimal value)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Decimal"/> to a <see cref="T:System.Int16"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit signed integer. <paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int16.MaxValue"/> or less than <see cref="F:System.Int16.MinValue"/>.</exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(string value)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Int16"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit signed
   integer. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Int16.MaxValue"/> or less than <see cref="F:System.Int16.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in a <see cref="T:System.Globalization.NumberFormatInfo"/> instance initialized for the current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(string value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(string value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Int16"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit signed integer. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Int16.MaxValue"/> or less than <see cref="F:System.Int16.MinValue"/> .</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is parsed using the formatting information of the current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(float64 value)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Double"/> to a <see cref="T:System.Int16"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit signed integer. <paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int16.MaxValue"/> or less than <see cref="F:System.Int16.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(float32 value)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Single"/> to a <see cref="T:System.Int16"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit signed integer. <paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int16.MaxValue"/> or less than <see cref="F:System.Int16.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.Int16"/>
.</para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit signed integer.
   </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int16.MaxValue" qualify="true"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(int64 value)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Int16"/>. </para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit signed integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">value is greater than <see cref="F:System.Int16.MaxValue"/> or less than <see cref="F:System.Int16.MinValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(int16 value)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.Int16"/> .</para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted.</param>
						<returns>
							<para>
								<paramref name="value"/> is returned unchanged.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is
      provided for completeness.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.Int16"/>
.</para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit signed integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int16.MaxValue"/>.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(int32 value)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.Int16"/> .</para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit signed integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int16.MaxValue"/> or less than <see cref="F:System.Int16.MinValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.Int16"/> .</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit signed integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int16.MaxValue"/>.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.Int16"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit signed integer. </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(int8 value)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.Int16"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit signed integer.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Char"/> to a <see cref="T:System.Int16"/> . </para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> to be converted interpreted as an unsigned value.</param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit signed integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Int16.MaxValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 ToInt16(bool value)"/>
					<MemberSignature Language="C#" Value="public static short ToInt16(bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.Int16"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to be converted. </param>
						<returns>
							<para> If <paramref name="value"/> is <see langword="true"/> returns 1; if
<paramref name="value"/> is <see langword="false"/> returns 0.
   </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(bool value)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.Int32"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to be converted. </param>
						<returns>
							<para> If <paramref name="value"/> is <see langword="true"/> returns 1; if
<paramref name="value"/> is <see langword="false"/> returns 0.
   </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(string value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(string value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Int32"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit signed integer. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Int32.MaxValue"/> or less than <see cref="F:System.Int32.MinValue"/> .</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> 
or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from
<paramref name="provider"/>, the string is parsed using the formatting information of the 
current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(string value)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Int32"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit signed integer. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Int32.MaxValue"/> or less than <see cref="F:System.Int32.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in a <see cref="T:System.Globalization.NumberFormatInfo"/> instance initialized for the current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(decimal value)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Decimal"/> to a <see cref="T:System.Int32"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit signed integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int32.MaxValue"/> or less than <see cref="F:System.Int32.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(float64 value)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Double"/> to a <see cref="T:System.Int32"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit signed integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int32.MaxValue"/> or less than <see cref="F:System.Int32.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(float32 value)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Single"/> to a <see cref="T:System.Int32"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit signed integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int32.MaxValue"/> or less than <see cref="F:System.Int32.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.Int32"/>
.</para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit signed integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int32.MaxValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(int64 value)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Int32"/>
.</para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit signed integer.
   </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int32.MaxValue"/> or less than <see cref="F:System.Int32.MinValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(int32 value)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.Int32"/> .</para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted.</param>
						<returns>
							<para>
								<paramref name="value"/> is returned unchanged.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is
      provided for completeness.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.Int32"/>
.</para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit signed integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int32.MaxValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.Int32"/> .</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit signed integer.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(int16 value)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.Int32"/>
.</para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit signed
   integer.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.Int32"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit signed integer. </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(int8 value)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.Int32"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit signed integer.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 ToInt32(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public static int ToInt32(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Char"/> to a <see cref="T:System.Int32"/> . </para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> to be converted interpreted as an unsigned value.</param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit signed integer.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Char"/> to a <see cref="T:System.Int64"/> . </para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> to be converted interpreted as an unsigned value.</param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit signed integer.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(bool value)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.Int64"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to be converted. </param>
						<returns>
							<para> If <paramref name="value"/> is <see langword="true"/> returns 1; if
<paramref name="value"/> is <see langword="false"/> returns 0.
   </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(int8 value)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.Int64"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit signed integer.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.Int64"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit signed integer.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(int16 value)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.Int64"/>
.</para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit signed integer.
   </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.Int64"/> .</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit signed integer.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(int32 value)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.Int64"/>
.</para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit signed integer. </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.Int64"/>
.</para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit signed integer. </para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.Int64"/>
.</para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit signed integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int64.MaxValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(int64 value)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Int64"/> .</para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted.</param>
						<returns>
							<para>
								<paramref name="value"/> is returned unchanged.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is
      provided for completeness.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(float32 value)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Single"/> to a <see cref="T:System.Int64"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit signed integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int64.MaxValue"/> or less than <see cref="F:System.Int64.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(float64 value)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Double"/> to a <see cref="T:System.Int64"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit signed integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int64.MaxValue"/> or less than <see cref="F:System.Int64.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(decimal value)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Decimal"/> to a <see cref="T:System.Int64"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit signed integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Int64.MaxValue"/> or less than <see cref="F:System.Int64.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(string value)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Int64"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit signed
   integer. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Int64.MaxValue"/> or less than <see cref="F:System.Int64.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in a <see cref="T:System.Globalization.NumberFormatInfo"/> instance initialized for the current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 ToInt64(string value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static long ToInt64(string value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Int64"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit signed integer. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Int64.MaxValue"/> or less than <see cref="F:System.Int64.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is parsed using the formatting information of the 
   current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(bool value)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(bool value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.SByte"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to be converted. </param>
						<returns>
							<para> If <paramref name="value"/> is true <see langword="returns"/> 1; if
<paramref name="value"/> is <see langword="false"/> returns 0. </para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Boolean"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(int8 value)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.SByte"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> value to be converted.</param>
						<returns>
							<para>
								<paramref name="value"/> is returned unchanged.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
							<para>
								<block subset="none" type="note"> This method is
      provided for completeness.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(char value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Char"/> to a <see cref="T:System.SByte"/> . </para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> to be converted interpreted as an unsigned value.</param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.SByte"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.SByte.MaxValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Char"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(byte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.SByte"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.SByte"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.SByte.MaxValue"/>.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Byte"/>). </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(int16 value)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(short value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.SByte"/> .</para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.SByte"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.SByte.MaxValue"/> or less than <see cref="F:System.SByte.MinValue"/>.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Int16"/>). </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.SByte"/> .</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.SByte"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.SByte.MaxValue"/>.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Int32"/>). </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(int32 value)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(int value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.SByte"/>
.</para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.SByte"/>. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.SByte.MaxValue"/> or less than <see cref="F:System.SByte.MinValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant 
      alternative, use <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.SByte"/>
.</para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.SByte"/>. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.SByte.MaxValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(int64 value)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(long value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.SByte"/>
.</para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.SByte"/>.
   </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.SByte.MaxValue"/> or less than <see cref="F:System.SByte.MinValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Int64"/>). </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.SByte"/>
.</para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.SByte"/>. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.SByte.MaxValue"/>.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(float32 value)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(float value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Single"/> to a <see cref="T:System.SByte"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.SByte"/> , rounded to the nearest integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.SByte.MaxValue"/> or less than <see cref="F:System.SByte.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Single"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(float64 value)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(double value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Double"/> to a <see cref="T:System.SByte"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value "/>as a <see cref="T:System.SByte"/> , rounded to the nearest integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.SByte.MaxValue"/> or less than <see cref="F:System.SByte.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Double"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(decimal value)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(decimal value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Decimal"/> to a <see cref="T:System.SByte"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.SByte"/> , rounded to the nearest integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.SByte.MaxValue"/> or less than <see cref="F:System.SByte.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(string value)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(string value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> representation of a number to a
<see cref="T:System.SByte"/> 
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.SByte"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value in the specified format.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.SByte.MaxValue"/> or less than <see cref="F:System.SByte.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in a <see cref="T:System.Globalization.NumberFormatInfo"/> instance initialized for the current system culture.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.String"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToSByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 ToSByte(string value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static sbyte ToSByte(string value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.SByte"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.SByte"/>. </para>
						</returns>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null "/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is parsed using the formatting information of the current system culture.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant 
   alternative, use <see cref="M:System.Convert.ToInt16(System.Object)"/>(<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/> ).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToSingle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 ToSingle(string value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static float ToSingle(string value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Single"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Float"/> | <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> style. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Single"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Single.MaxValue"/> or less than <see cref="F:System.Single.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is parsed using the formatting information of the 
   current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSingle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 ToSingle(string value)"/>
					<MemberSignature Language="C#" Value="public static float ToSingle(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.Single"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Float"/> | <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> style. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Single"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.Single.MaxValue"/> or less than <see cref="F:System.Single.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in a <see cref="T:System.Globalization.NumberFormatInfo"/> instance initialized for the current system culture.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSingle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 ToSingle(decimal value)"/>
					<MemberSignature Language="C#" Value="public static float ToSingle(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Decimal"/> to a <see cref="T:System.Single"/> 
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Single"/>. <paramref name="value"/> is rounded using 
 banker's rounding. </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSingle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 ToSingle(float64 value)"/>
					<MemberSignature Language="C#" Value="public static float ToSingle(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Double"/> to a <see cref="T:System.Single"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Single"/>. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.Single.MaxValue"/> or less than <see cref="F:System.Single.MinValue"/>.</exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSingle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 ToSingle(float32 value)"/>
					<MemberSignature Language="C#" Value="public static float ToSingle(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Single"/> to a <see cref="T:System.Single"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Single"/> .</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is
      provided for completeness.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSingle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 ToSingle(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static float ToSingle(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.Single"/>
.</para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Single"/>.
   </para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToSingle(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSingle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 ToSingle(int64 value)"/>
					<MemberSignature Language="C#" Value="public static float ToSingle(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.Single"/>
.</para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Single"/>. </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSingle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 ToSingle(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static float ToSingle(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.Single"/>
.</para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Single"/>. </para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToSingle(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSingle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 ToSingle(int32 value)"/>
					<MemberSignature Language="C#" Value="public static float ToSingle(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.Single"/> . </para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Single"/>. </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSingle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 ToSingle(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static float ToSingle(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.Single"/> .</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Single"/>.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToSingle(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSingle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 ToSingle(int16 value)"/>
					<MemberSignature Language="C#" Value="public static float ToSingle(short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.Single"/>
.</para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Single"/>. </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSingle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 ToSingle(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static float ToSingle(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.Single"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Single"/>.</para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSingle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 ToSingle(int8 value)"/>
					<MemberSignature Language="C#" Value="public static float ToSingle(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.Single"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.Single"/>.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToSingle(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToSingle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 ToSingle(bool value)"/>
					<MemberSignature Language="C#" Value="public static float ToSingle(bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.Single"/> 
.
</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to be converted. </param>
						<returns>
							<para> If <paramref name="value"/> is <see langword="true"/> returns 1; if 
<paramref name="value"/> is <see langword="false"/> returns 0.
 </para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(unsigned int32 value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static string ToString(uint value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString(<paramref name="provider"/>).</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Convert.ToString(System.Object)"/>(<see cref="T:System.Int64"/>, <see cref="T:System.IFormatProvider"/>).</para>
							<para>This method converts <paramref name="value"/> using the
   information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is formatted in accordance with the current system 
   culture.</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.UInt32.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(int64 value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted. </param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString().</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Int64.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(int64 value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static string ToString(long value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString(<paramref name="provider"/>).</para>
						</returns>
						<remarks>
							<para>This method converts <paramref name="value"/> using the
   information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is formatted in accordance with the current system 
   culture.</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Int64.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted. </param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString().</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToString(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.UInt64.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(unsigned int64 value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static string ToString(ulong value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString(<paramref name="provider"/>).</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Convert.ToString(System.Object)"/>(<see cref="T:System.Decimal"/>, <see cref="T:System.IFormatProvider"/>).</para>
							<para>This method converts <paramref name="value"/> using the
   information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is formatted in accordance with the current system 
   culture.</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.UInt64.ToString"/>
.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(float32 value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Single"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to be converted. </param>
						<returns>
							<para>Returns the value returned by 
 <paramref name="value"/>.ToString().</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Single.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(float32 value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static string ToString(float value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Single"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to be converted. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString(<paramref name="provider"/>).</para>
						</returns>
						<remarks>
							<para>This method converts <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is formatted in accordance with the current system 
   culture.</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Single.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(float64 value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Double"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to be converted. </param>
						<returns>
							<para>Returns the value returned by 
 <paramref name="value"/>.ToString().</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Double.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(float64 value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static string ToString(double value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Double"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to be converted. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString(<paramref name="provider"/>).</para>
						</returns>
						<remarks>
							<para> This method converts <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is formatted in accordance with the current system 
   culture. </para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Double.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(decimal value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Decimal"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to be converted. </param>
						<returns>
							<para>Returns the value returned by 
 <paramref name="value"/>.ToString().</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Decimal.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(decimal value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static string ToString(decimal value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Decimal"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to be converted. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString(<paramref name="provider"/>).</para>
						</returns>
						<remarks>
							<para>This method converts <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is formatted in accordance with the current system 
   culture.</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Decimal.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(valuetype System.DateTime value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(DateTime value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.DateTime"/> value to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.DateTime"/> value to be converted. </param>
						<returns>
							<para>Returns the value returned by 
 <paramref name="value"/>.ToString().</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.DateTime.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(valuetype System.DateTime value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static string ToString(DateTime value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.DateTime"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.DateTime"/> value to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.DateTime"/> value to be converted. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.DateTimeFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString(<paramref name="provider"/>).</para>
						</returns>
						<remarks>
							<para>This method converts <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.DateTimeFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is formatted in accordance with the current system 
   culture.</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.DateTime.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted. </param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString().</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToString(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.UInt32.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(int32 value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static string ToString(int value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString(<paramref name="provider"/>).</para>
						</returns>
						<remarks>
							<para>This method converts <paramref name="value"/> using the
   information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is formatted in accordance with the current system 
   culture.</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Int32.ToString"/>
.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(int32 value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted. </param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString().</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Int32.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(unsigned int16 value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static string ToString(ushort value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString(<paramref name="provider"/>).</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Convert.ToString(System.Object)"/>(<see cref="T:System.Int32"/>, <see cref="T:System.IFormatProvider"/>).</para>
							<para>This method converts <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is formatted in accordance with the current system 
   culture.</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.UInt16.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted. </param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString().</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToString(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.UInt16.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(int16 value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static string ToString(short value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString(<paramref name="provider"/>).</para>
						</returns>
						<remarks>
							<para>This method converts <paramref name="value"/> using the
   information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is formatted in accordance with the current system 
   culture.</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Int16.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(int16 value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted. </param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString().</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Int16.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(unsigned int8 value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static string ToString(byte value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString(<paramref name="provider"/>).</para>
						</returns>
						<remarks>
							<para>This method converts <paramref name="value"/> using the
   information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is <see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is formatted in accordance with the current system 
   culture.</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Byte.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted. </param>
						<returns>
							<para>Returns the value returned by
      <paramref name="value"/>.ToString().</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Byte.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(int8 value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static string ToString(sbyte value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> value to be converted. </param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString(<paramref name="provider"/>).</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Convert.ToString(System.Object)"/>(<see cref="T:System.Int16"/>, <see cref="T:System.IFormatProvider"/>).</para>
							<para>This method converts <paramref name="value"/> using the
   information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/> 
, the string is formatted in
accordance with the current system culture.</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.SByte.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(int8 value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> value to be converted. </param>
						<returns>
							<para>Returns the value returned by
   <paramref name="value"/>.ToString().</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToString(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.SByte.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Char"/> to a <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a <see cref="T:System.String"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(bool value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.String"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to be converted.</param>
						<returns>
							<para>Returns the value returned by 
   <paramref name="value"/> .ToString().</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Boolean.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ToString(string value)"/>
					<MemberSignature Language="C#" Value="public static string ToString(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the specified string.</para>
						</summary>
						<param name="value">A <see cref="T:System.String"/>.</param>
						<returns>
							<para>
								<paramref name="value"/> is returned unchanged.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is 
 provided for completeness.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(string value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(string value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.UInt16"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<param name="provider">An object that implements the <see cref="T:System.IFormatProvider"/> interface and supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing culture-specific formatting information. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit unsigned
   integer. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.UInt16.MaxValue"/> or less than <see cref="F:System.UInt16.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is parsed using the formatting information of the 
   current system culture.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(string value)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(string value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.UInt16"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit unsigned
   integer. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.UInt16.MaxValue"/> or less than <see cref="F:System.UInt16.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in a <see cref="T:System.Globalization.NumberFormatInfo"/> instance initialized for the current system culture.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.String"/>). </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(decimal value)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(decimal value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Decimal"/> to a <see cref="T:System.UInt16"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit unsigned integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt16.MaxValue"/> or less than <see cref="F:System.UInt16.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant 
   alternative, use <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Decimal"/>). </para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(float64 value)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(double value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Double"/> to a <see cref="T:System.UInt16"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit unsigned integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt16.MaxValue"/> or less than <see cref="F:System.UInt16.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value "/>is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Double"/>). </para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(float32 value)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(float value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Single"/> to a <see cref="T:System.UInt16"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit unsigned integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt16.MaxValue"/> or less than <see cref="F:System.UInt16.MinValue"/>.</exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Single"/>). </para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.UInt16"/>
.</para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit unsigned
   integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt16.MaxValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(int64 value)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(long value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.UInt16"/>
.</para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit unsigned
   integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt16.MaxValue"/> or less than <see cref="F:System.UInt16.MinValue"/>.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.UInt16"/>
.</para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit unsigned
   integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt16.MaxValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.UInt16"/> .</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted.</param>
						<returns>
							<para>
								<paramref name="value"/> is returned unchanged.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is
      provided for completeness.</block>
							</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(int32 value)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(int value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.UInt16"/> .</para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted. </param>
						<returns>
							<para> value as a 16-bit unsigned integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt16.MaxValue"/> or less than <see cref="F:System.UInt16.MinValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant 
      alternative, use <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(int16 value)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(short value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.UInt16"/> .</para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit unsigned integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is less than <see cref="F:System.UInt16.MinValue"/> . </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(byte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.UInt16"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit unsigned integer.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Byte"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(int8 value)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.UInt16"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value "/>as a 16-bit unsigned integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is less than <see cref="F:System.UInt16.MinValue"/> . </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(char value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Char"/> to a <see cref="T:System.UInt16"/> . </para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> to be converted interpreted as an unsigned value.</param>
						<returns>
							<para>
								<paramref name="value"/> as a 16-bit unsigned integer.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Char"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt16">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 ToUInt16(bool value)"/>
					<MemberSignature Language="C#" Value="public static ushort ToUInt16(bool value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.UInt16"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to be converted. </param>
						<returns>
							<para> If <paramref name="value"/> is <see langword="true"/> returns 1; if
<paramref name="value"/> is <see langword="false"/> returns 0. </para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt32(System.Object)"/>(<see cref="T:System.Boolean"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(bool value)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(bool value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.UInt32"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to be converted. </param>
						<returns>
							<para> If <paramref name="value"/> is <see langword="true"/> returns 1; if
<paramref name="value"/> is <see langword="false"/> returns 0.
   </para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Boolean"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(char value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Char"/> to a <see cref="T:System.UInt32"/> . </para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> to be converted interpreted as an unsigned value.</param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit unsigned integer.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Char"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(int8 value)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.UInt32"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit unsigned integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is less than <see cref="F:System.UInt32.MinValue"/> . </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(byte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.UInt32"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit unsigned integer.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Byte"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(int16 value)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(short value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.UInt32"/> .</para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit unsigned integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is less than <see cref="F:System.UInt32.MinValue"/> . </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.UInt32"/> .</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit unsigned integer.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(int32 value)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(int value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.UInt32"/> .</para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit unsigned integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is less than <see cref="F:System.UInt32.MinValue"/> . </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.UInt32"/> .</para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted.</param>
						<returns>
							<para>
								<paramref name="value"/> is returned unchanged.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is
      provided for completeness.</block>
							</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(int64 value)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(long value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.UInt32"/>
.</para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit unsigned
   integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt32.MaxValue"/> or less than <see cref="F:System.UInt32.MinValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.UInt32"/>
.</para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit unsigned
   integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt32.MaxValue"/>. </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(float32 value)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(float value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Single"/> to a <see cref="T:System.UInt32"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit unsigned integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt32.MaxValue"/> or less than <see cref="F:System.UInt32.MinValue"/>.</exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Single"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(float64 value)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(double value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Double"/> to a <see cref="T:System.UInt32"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit unsigned integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt32.MaxValue"/> or less than <see cref="F:System.UInt32.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Double"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(decimal value)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(decimal value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Decimal"/> to a <see cref="T:System.UInt32"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit unsigned integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt32.MaxValue"/> or less than <see cref="F:System.UInt32.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(string value)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(string value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.UInt32"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 32-bit unsigned
   integer. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.UInt32.MaxValue"/> or less than <see cref="F:System.UInt32.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in a <see cref="T:System.Globalization.NumberFormatInfo"/> instance initialized for the current system culture.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.String"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt32">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 ToUInt32(string value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static uint ToUInt32(string value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.UInt32"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<param name="provider">An object that implements the <see cref="T:System.IFormatProvider"/> interface and supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing culture-specific formatting information. </param>
						<returns>
							<para>
								<paramref name="value"/> as an 32-bit unsigned
   integer. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.UInt32.MaxValue"/> or less than <see cref="F:System.UInt32.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is parsed using the formatting information of the 
   current system culture.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant 
   alternative, use <see cref="M:System.Convert.ToInt64(System.Object)"/>(<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/>
   ).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(string value, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(string value, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.UInt64"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<param name="provider">A <see cref="T:System.Object"/> that implements the <see cref="T:System.IFormatProvider"/> interface and supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing culture-specific formatting information. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit unsigned
   integer. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.UInt64.MaxValue"/> or less than <see cref="F:System.UInt64.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the string is parsed using the formatting information of the 
   current system culture.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant 
   alternative, use <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Int64"/>, <see cref="T:System.IFormatProvider"/> ).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(string value)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(string value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> to a <see cref="T:System.UInt64"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be converted. The string is in the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit unsigned
   integer. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="value"/> cannot be converted to a numeric value.</exception>
						<exception cref="T:System.OverflowException">The numeric value of <paramref name="value"/> is greater than <see cref="F:System.UInt64.MaxValue"/> or less than <see cref="F:System.UInt64.MinValue"/>.</exception>
						<remarks>
							<para>This method parses <paramref name="value"/> using the information
   in a <see cref="T:System.Globalization.NumberFormatInfo"/> instance initialized for the current system culture.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.String"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(decimal value)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(decimal value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Decimal"/> to a <see cref="T:System.UInt64"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit unsigned integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt64.MaxValue"/> or less than <see cref="F:System.UInt64.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(float64 value)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(double value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Double"/> to a <see cref="T:System.UInt64"/>
. </para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit unsigned integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt64.MaxValue"/> or less than <see cref="F:System.UInt64.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Double"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(float32 value)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(float value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Single"/> to a <see cref="T:System.UInt64"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit unsigned integer.
<paramref name="value"/> is rounded prior to conversion. </para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is greater than <see cref="F:System.UInt64.MaxValue"/> or less than <see cref="F:System.UInt64.MinValue"/>. </exception>
						<remarks>
							<para>Prior to the conversion, if <paramref name="value"/> is halfway
   between two whole numbers, it is rounded to the nearest even integer. For
   example, 4.5 is rounded to 4, and 5.5 is rounded to 6.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
<see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Single"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt64"/> to a <see cref="T:System.UInt64"/> .</para>
						</summary>
						<param name="value">The 64-bit unsigned integer value to be converted.</param>
						<returns>
							<para>
								<paramref name="value"/> is returned unchanged.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is
      provided for completeness.</block>
							</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(int64 value)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(long value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int64"/> to a <see cref="T:System.UInt64"/>
.</para>
						</summary>
						<param name="value">The 64-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit unsigned
   integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is less than <see cref="F:System.UInt64.MinValue"/> . </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt32"/> to a <see cref="T:System.UInt64"/> .</para>
						</summary>
						<param name="value">The 32-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit unsigned integer.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(int32 value)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(int value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32"/> to a <see cref="T:System.UInt64"/> .</para>
						</summary>
						<param name="value">The 32-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit unsigned integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is less than <see cref="F:System.UInt64.MinValue"/> . </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.UInt16"/> to a <see cref="T:System.UInt64"/> .</para>
						</summary>
						<param name="value">The 16-bit unsigned integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit unsigned integer.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(int16 value)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(short value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int16"/> to a <see cref="T:System.UInt64"/> .</para>
						</summary>
						<param name="value">The 16-bit signed integer value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit unsigned integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> is less than <see cref="F:System.UInt64.MinValue"/> . </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(byte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Byte"/> to a <see cref="T:System.UInt64"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit unsigned integer.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Byte"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(int8 value)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.SByte"/> to a <see cref="T:System.UInt64"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> value to be converted. </param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit unsigned integer.</para>
						</returns>
						<exception cref="T:System.OverflowException">value is less than <see cref="F:System.UInt64.MinValue"/> . </exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(char value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Char"/> to a <see cref="T:System.UInt64"/> . </para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> to be converted interpreted as an unsigned value.</param>
						<returns>
							<para>
								<paramref name="value"/> as a 64-bit unsigned integer.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Char"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUInt64">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 ToUInt64(bool value)"/>
					<MemberSignature Language="C#" Value="public static ulong ToUInt64(bool value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Boolean"/> to a <see cref="T:System.UInt64"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to be converted. </param>
						<returns>
							<para> If <paramref name="value"/> is <see langword="true"/> returns 1; if
<paramref name="value"/> is <see langword="false"/> returns 0. </para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Convert.ToDecimal(System.Object)"/>(<see cref="T:System.Boolean"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="DateTime" FullName="System.DateTime" FullNameSP="System_DateTime">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable DateTime extends System.ValueType implements System.IComparable, System.IFormattable"/>
			<TypeSignature Language="C#" Value="public struct DateTime : IComparable, IFormattable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents an instant in time, expressed
      as a date and time of day.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.DateTime"/> value
   type represents dates and times with values ranging from 00:00:00, 1/1/0001 (Common Era)
   to 23:59:59 PM, 12/31/9999.</para>
					<block subset="none" type="note">
						<para>Time values are measured in 100-nanosecond units,
   <paramref name="ticks"/>, and a particular date is the number of ticks since 12:00
      Midnight, January 1, 1 in the Gregorian
      calendar. For example, a ticks value of 31241376000000000L represents the date, Friday, January
      01, 0100 12:00:00 AM.</para>
						<para>Time values can be added to, or subtracted from, an
      instance of <see cref="T:System.DateTime"/>. Time values can be negative or positive, and expressed
      in units such as ticks, seconds, or instances of <see cref="T:System.TimeSpan"/>. Methods and properties in this value
      type take into account details such as leap years and the number of
      days in a month.</para>
						<para> 12:00:00 AM is Midnight.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IFormattable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 year, int32 month, int32 day, int32 hour, int32 minute, int32 second, int32 millisecond)"/>
					<MemberSignature Language="C#" Value="public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="year" Type="System.Int32"/>
						<Parameter Name="month" Type="System.Int32"/>
						<Parameter Name="day" Type="System.Int32"/>
						<Parameter Name="hour" Type="System.Int32"/>
						<Parameter Name="minute" Type="System.Int32"/>
						<Parameter Name="second" Type="System.Int32"/>
						<Parameter Name="millisecond" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.DateTime"/> structure with a
   specified year, month, day, hour, minute, second, and millisecond.</para>
						</summary>
						<param name="year">A <see cref="T:System.Int32"/> containing the year (1 through 9999).</param>
						<param name="month">A <see cref="T:System.Int32"/> containing the month (1 through 12).</param>
						<param name="day">A <see cref="T:System.Int32"/> containing the day (1 through the number of days in <paramref name="month"/>).</param>
						<param name="hour">A <see cref="T:System.Int32"/> containing the hours (0 through 23).</param>
						<param name="minute">A <see cref="T:System.Int32"/> containing the minutes (0 through 59).</param>
						<param name="second">A <see cref="T:System.Int32"/> containing the seconds (0 through 59).</param>
						<param name="millisecond">A <see cref="T:System.Int32"/> containing the milliseconds.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="year "/>is less than 1 or greater than 9999 <para>-or-</para>
							<para>
								<paramref name="month"/> is less than 1 or greater than 12</para>
							<para>-or-</para>
							<para>
								<paramref name="day"/> is less than 1 or greater than the number of days in <paramref name="month"/>
							</para>
							<para>-or-</para>
							<para>
								<paramref name="hour "/>is less than 0 or greater than 23</para>
							<para>-or-</para>
							<para>
								<paramref name="minute "/>is less than 0 or greater than 59</para>
							<para>-or-</para>
							<para>
								<paramref name="second "/>is less than 0 or greater than 59</para>
							<para> -or-</para>
							<para>
								<paramref name="millisecond"/> is less than 0 or greater than 999</para>
						</exception>
						<exception cref="T:System.ArgumentException">The specified parameters evaluate to a date less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 year, int32 month, int32 day, int32 hour, int32 minute, int32 second)"/>
					<MemberSignature Language="C#" Value="public DateTime(int year, int month, int day, int hour, int minute, int second);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="year" Type="System.Int32"/>
						<Parameter Name="month" Type="System.Int32"/>
						<Parameter Name="day" Type="System.Int32"/>
						<Parameter Name="hour" Type="System.Int32"/>
						<Parameter Name="minute" Type="System.Int32"/>
						<Parameter Name="second" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.DateTime"/> structure with a
   specified year, month, day, hour, minute, and second.</para>
						</summary>
						<param name="year">A <see cref="T:System.Int32"/> containing the year (1 through 9999).</param>
						<param name="month">A <see cref="T:System.Int32"/> containing the month (1 through 12).</param>
						<param name="day">A <see cref="T:System.Int32"/> containing the day (1 through the number of days in <paramref name="month"/>).</param>
						<param name="hour">A <see cref="T:System.Int32"/> containing the hours (0 through 23).</param>
						<param name="minute">A <see cref="T:System.Int32"/> containing the minutes (0 through 59).</param>
						<param name="second">A <see cref="T:System.Int32"/> containing the seconds (0 through 59).</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="year "/>is less than 1 or greater than 9999 <para>-or-</para>
							<para>
								<paramref name="month"/> is less than 1 or greater than 12</para>
							<para>-or-</para>
							<para>
								<paramref name="day"/> is less than 1 or greater than the number of days in <paramref name="month"/>
							</para>
							<para>-or-</para>
							<para>
								<paramref name="hour "/> is less than 0 or greater than 23</para>
							<para>-or-</para>
							<para>
								<paramref name="minute "/> is less than 0 or greater than 59</para>
							<para>-or-</para>
							<para>
								<paramref name="second "/> is less than 0 or greater than 59</para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int64 ticks)"/>
					<MemberSignature Language="C#" Value="public DateTime(long ticks);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="ticks" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.DateTime"/> structure with
   the date and time expressed in 100-nanosecond units.</para>
						</summary>
						<param name="ticks">A <see cref="T:System.Int64"/>containing the date and time expressed in 100-nanosecond units.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">The date and time represented by <paramref name="ticks"/> is less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 year, int32 month, int32 day)"/>
					<MemberSignature Language="C#" Value="public DateTime(int year, int month, int day);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="year" Type="System.Int32"/>
						<Parameter Name="month" Type="System.Int32"/>
						<Parameter Name="day" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.DateTime"/> structure with a specified year, month, and day.</para>
						</summary>
						<param name="year">A <see cref="T:System.Int32"/> containing the year (1 through 9999).</param>
						<param name="month">A <see cref="T:System.Int32"/> containing the month (1 through 12).</param>
						<param name="day">A <see cref="T:System.Int32"/> containing the day (1 through the number of days in <paramref name="month"/>).</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="year"/> is less than 1 or greater than 9999</para>
							<para>-or-</para>
							<para>
								<paramref name="month"/> is less than 1 or greater than 12</para>
							<para>-or-</para>
							<para>
								<paramref name="day"/> is less than 1 or greater than the number of days in <paramref name="month"/>
							</para>
						</exception>
						<remarks>
							<para> The time of day for the resulting <see cref="T:System.DateTime"/> is midnight (00:00:00).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Add">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.DateTime Add(valuetype System.TimeSpan value)"/>
					<MemberSignature Language="C#" Value="public DateTime Add(TimeSpan value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Adds the value of a specified <see cref="T:System.TimeSpan"/> instance to the current instance.</para>
						</summary>
						<param name="value">A <see cref="T:System.TimeSpan"/> instance.</param>
						<returns>
							<para> A <see cref="T:System.DateTime"/> instance set to the sum of the date and time of the
   current instance and the time interval represented by <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">The resulting <see cref="T:System.DateTime"/> is less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</exception>
						<remarks>
							<para>A specified <see cref="T:System.TimeSpan"/> is added to the current instance of
<see cref="T:System.DateTime"/>, and 
   the result is returned as a new <see cref="T:System.DateTime"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddDays">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.DateTime AddDays(float64 value)"/>
					<MemberSignature Language="C#" Value="public DateTime AddDays(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds a specified number of days to the value of the current instance.</para>
						</summary>
						<param name="value">A <see cref="T:System.Double"/> containing the number of whole and fractional days. For example, 4.5 is equivalent to 4 days, 12 hours, 0 minutes, 0 seconds, 0 milliseconds, and 0 ticks. <paramref name="value"/> can be negative or positive.</param>
						<returns>
							<para> A <see cref="T:System.DateTime"/> instance set to the sum of the date and time represented
   by the current instance and the number of days represented by
<paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">The resulting <see cref="T:System.DateTime"/> is less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">
									<paramref name="value"/> is rounded to the nearest tick.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="AddHours">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.DateTime AddHours(float64 value)"/>
					<MemberSignature Language="C#" Value="public DateTime AddHours(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds a specified number of hours to the value of the current instance.</para>
						</summary>
						<param name=" value">A <see cref="T:System.Double"/> containing the number of whole and fractional hours. For example, 4.5 is equivalent to 4 hours, 30 minutes, 0 seconds, 0 milliseconds, and 0 ticks. <paramref name="value"/> can be negative or positive.</param>
						<returns>
							<para> A <see cref="T:System.DateTime"/> instance set to the sum of the date and time represented
   by the current instance and the number of hours represented by
<paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">The resulting <see cref="T:System.DateTime"/> is less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">
									<paramref name="value"/> is rounded to the nearest tick.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="AddMilliseconds">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.DateTime AddMilliseconds(float64 value)"/>
					<MemberSignature Language="C#" Value="public DateTime AddMilliseconds(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds a specified number of milliseconds to the value of the current instance.</para>
						</summary>
						<param name=" value">A <see cref="T:System.Double"/> containing the number of whole and fractional milliseconds. For example, 4.5 is equivalent to 4 milliseconds and 5,000 ticks. <paramref name="value"/> can be negative or positive.</param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> instance set to the sum of the date and time represented
   by the current instance and the number of milliseconds represented by
<paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">The resulting <see cref="T:System.DateTime"/> is less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">
									<paramref name="value"/> is rounded to the nearest tick.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="AddMinutes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.DateTime AddMinutes(float64 value)"/>
					<MemberSignature Language="C#" Value="public DateTime AddMinutes(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds a specified number of minutes to the value of the current instance.</para>
						</summary>
						<param name=" value">A <see cref="T:System.Double"/> containing the number of whole and fractional minutes. For example, 4.5 is equivalent to 4 minutes, 30 seconds, 0 milliseconds, and 0 ticks. <paramref name="value"/> can be negative or positive.</param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> instance set to the sum of the date and time represented
   by the current instance and the number of minutes represented by
<paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">The resulting <see cref="T:System.DateTime"/> is less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">
									<paramref name="value"/> is rounded to the nearest tick.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="AddMonths">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.DateTime AddMonths(int32 months)"/>
					<MemberSignature Language="C#" Value="public DateTime AddMonths(int months);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="months" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds a specified number of months to the value of the current instance.</para>
						</summary>
						<param name=" months">A <see cref="T:System.Int32"/> containing the number of months. <paramref name="months"/> can be positive or negative, and may be greater than the number of months in a year.</param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> instance set to the sum of the date and time represented
   by the current instance and <paramref name="months"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>The resulting <see cref="T:System.DateTime"/> is less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</para>
							<para>-or-</para>
							<para>The <paramref name="months"/> parameter is less than -120,000 or greater than 120,000</para>
						</exception>
						<remarks>
							<para>This method does not change the value of the current <see langword="DateTime"/> instance. Instead, a new <see langword="DateTime"/> instance is returned whose value is the result of this operation.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddSeconds">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.DateTime AddSeconds(float64 value)"/>
					<MemberSignature Language="C#" Value="public DateTime AddSeconds(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds a specified number of seconds to the value of the current instance.</para>
						</summary>
						<param name=" value">A <see cref="T:System.Double"/> containing the number of whole and fractional seconds. For example, 4.5 is equivalent to 4 seconds, 500 milliseconds, and 0 ticks. <paramref name="value"/> can be positive or negative.</param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> instance set to the sum of the date and time represented
   by the current instance and the number of seconds represented by
<paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">The resulting <see cref="T:System.DateTime"/> is less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">
									<paramref name=" value"/> is rounded to the nearest tick.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="AddTicks">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.DateTime AddTicks(int64 value)"/>
					<MemberSignature Language="C#" Value="public DateTime AddTicks(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Adds a specified number of ticks to the value of the current
      instance.</para>
						</summary>
						<param name="value">A <see cref="T:System.Int64"/> containing the number of 100-nanosecond ticks. <paramref name="value"/> can be positive or negative.</param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> instance set to the sum of the date and time represented
   by the current instance and the time represented by <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">The resulting <see cref="T:System.DateTime"/> is less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddYears">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.DateTime AddYears(int32 value)"/>
					<MemberSignature Language="C#" Value="public DateTime AddYears(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds a specified number of years to the value of the current instance.</para>
						</summary>
						<param name=" value">A <see cref="T:System.Int32"/> containing the number of years. <paramref name="value"/> can be positive or negative.</param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> instance set to the sum of the date and time represented
   by the current instance and the number of years represented by
<paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">The resulting <see cref="T:System.DateTime"/> is less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Compare">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Compare(valuetype System.DateTime t1, valuetype System.DateTime t2)"/>
					<MemberSignature Language="C#" Value="public static int Compare(DateTime t1, DateTime t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.DateTime"/>
						<Parameter Name="t2" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the two specified instances of
   <see cref="T:System.DateTime"/>
   .</para>
						</summary>
						<param name="t1">The first <see cref="T:System.DateTime"/>.</param>
						<param name="t2">The second <see cref="T:System.DateTime"/>.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value
   that reflects the sort order of the two specified instances of <see cref="T:System.DateTime"/>. The following table
   defines the conditions under which the returned value is a negative number,
   zero, or a positive number.</para>
							<list type="table">
								<listheader>
									<term>Value Type</term>
									<description>Condition</description>
								</listheader>
								<item>
									<term> Any
         negative
         number</term>
									<description>
										<paramref name="t1"/> &lt; <paramref name="t2"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>
										<paramref name="t1"/> == <paramref name="t2"/>.</description>
								</item>
								<item>
									<term> Any
      positive
      number</term>
									<description>
										<paramref name="t1"/> &gt;
<paramref name="t2"/>
.</description>
								</item>
							</list>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared
      to the specified <see cref="T:System.Object"/>
      .</para>
						</summary>
						<param name=" value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   current instance as compared to <paramref name="value"/>. The following table defines the conditions under
   which the returned value is a negative number, zero, or a positive number.
   </para>
							<list type="table">
								<listheader>
									<term>Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>Current instance &lt; <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>Current instance == <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>Current instance &gt; <paramref name="value"/>, or value is a
   null reference.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is not a <see cref="T:System.DateTime"/> and is not a null reference.</exception>
						<remarks>
							<para>Any instance of <see cref="T:System.DateTime"/>, regardless of its value, is considered
   greater than a null reference.</para>
							<para>
								<block subset="none" type="note"> This method is
   implemented to support the <see cref="T:System.IComparable"/> interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Date">
					<MemberSignature Language="ILASM" Value=".property valuetype System.DateTime Date { public hidebysig specialname instance valuetype System.DateTime get_Date() }"/>
					<MemberSignature Language="C#" Value="public DateTime Date { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the date component of the current instance.</para>
						</summary>
						<value>
							<para>A new <see cref="T:System.DateTime"/> instance with the same date as the current instance,
 and the time value set to midnight (00:00:00).</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Day">
					<MemberSignature Language="ILASM" Value=".property int32 Day { public hidebysig specialname instance int32 get_Day() }"/>
					<MemberSignature Language="C#" Value="public int Day { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the day of the month represented by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> between 1 and 31 set to the day of the month component of the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DayOfYear">
					<MemberSignature Language="ILASM" Value=".property int32 DayOfYear { public hidebysig specialname instance int32 get_DayOfYear() }"/>
					<MemberSignature Language="C#" Value="public int DayOfYear { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the day of the year represented by the current instance.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Int32"/> between 1 and 366 set to the day of the year component of the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DaysInMonth">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 DaysInMonth(int32 year, int32 month)"/>
					<MemberSignature Language="C#" Value="public static int DaysInMonth(int year, int month);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="year" Type="System.Int32"/>
						<Parameter Name="month" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the number of days in a specified month
      of a specified year.</para>
						</summary>
						<param name="year">A <see cref="T:System.Int32"/> containing the year.</param>
						<param name="month">The month (a <see cref="T:System.Int32"/> between 1 and 12).</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> set to the number of days in the specified month for the
   specified year. If the specified month is February, the return value is 28 or 29
   depending upon whether the specified year is a leap year.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="month"/> is less than 1 or greater than 12.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object value)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Boolean"/> indicating whether the current instance is equal to a specified
   object.</para>
						</summary>
						<param name=" value">A <see cref="T:System.Object"/> to compare with the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> is a specified
<see cref="T:System.DateTime"/> 
instance is equal to the current instance; otherwise,
<see langword="false"/>.</para>
							<para>
								<block subset="none" type="note"> This method overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool Equals(valuetype System.DateTime t1, valuetype System.DateTime t2)"/>
					<MemberSignature Language="C#" Value="public static bool Equals(DateTime t1, DateTime t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.DateTime"/>
						<Parameter Name="t2" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Boolean"/> indicating whether two specified
   instances of <see cref="T:System.DateTime"/> are equal.</para>
						</summary>
						<param name="t1">The first <see cref="T:System.DateTime"/>.</param>
						<param name="t2">The second <see cref="T:System.DateTime"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the two
<see cref="T:System.DateTime"/> values are
   equal; otherwise, <see langword="false"/>.</para>
						</returns>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code
   for this instance.</para>
						</returns>
						<remarks>
							<para> The algorithm used to
      generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Hour">
					<MemberSignature Language="ILASM" Value=".property int32 Hour { public hidebysig specialname instance int32 get_Hour() }"/>
					<MemberSignature Language="C#" Value="public int Hour { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the hour represented by the current instance.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Int32"/> between 0 and 23 set to the hour component
   of the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsLeapYear">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsLeapYear(int32 year)"/>
					<MemberSignature Language="C#" Value="public static bool IsLeapYear(int year);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="year" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Boolean"/> value indicating whether a specified year is a leap year.</para>
						</summary>
						<param name="year">A <see cref="T:System.Int32"/> representing the year. <paramref name="year"/> can be positive or negative.</param>
						<returns>
							<para>
								<see langword="true"/> if the specified year is a leap
   year; otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxValue">
					<MemberSignature Language="ILASM" Value=".field public static initOnly valuetype System.DateTime MaxValue"/>
					<MemberSignature Language="C#" Value="public static readonly DateTime MaxValue;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>A constant representing the largest possible value of
   <see cref="T:System.DateTime"/>.</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para>The value of this field is equivalent to
      23:59:59.9999999, 12/31/9999, exactly one 100-nanosecond tick before 00:00:00,
      01/01/10000.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Millisecond">
					<MemberSignature Language="ILASM" Value=".property int32 Millisecond { public hidebysig specialname instance int32 get_Millisecond() }"/>
					<MemberSignature Language="C#" Value="public int Millisecond { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the milliseconds component of the date represented by the current instance.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Int32"/> between 0 and 999 set to the milliseconds component of
   the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Minute">
					<MemberSignature Language="ILASM" Value=".property int32 Minute { public hidebysig specialname instance int32 get_Minute() }"/>
					<MemberSignature Language="C#" Value="public int Minute { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the minute component of the date represented by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> between 0 and 59 set to the minute component of the
   current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinValue">
					<MemberSignature Language="ILASM" Value=".field public static initOnly valuetype System.DateTime MinValue"/>
					<MemberSignature Language="C#" Value="public static readonly DateTime MinValue;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>A constant representing the smallest possible value of
   <see cref="T:System.DateTime"/>.</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para>The value of this field is equivalent to 00:00:00.0000000, 1/1/0001. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Month">
					<MemberSignature Language="ILASM" Value=".property int32 Month { public hidebysig specialname instance int32 get_Month() }"/>
					<MemberSignature Language="C#" Value="public int Month { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the month component of the date represented by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> between 1 and 12 set to the month component of the
   current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Now">
					<MemberSignature Language="ILASM" Value=".property valuetype System.DateTime Now { public hidebysig static specialname valuetype System.DateTime get_Now() }"/>
					<MemberSignature Language="C#" Value="public static DateTime Now { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.DateTime"/> representing the current local date and time.</para>
						</summary>
						<remarks>
							<para>The resolution of this property depends on the system timer.</para>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Addition">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname valuetype System.DateTime op_Addition(valuetype System.DateTime d, valuetype System.TimeSpan t)"/>
					<MemberSignature Language="C#" Value="public static DateTime operator +(DateTime d, TimeSpan t);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.DateTime"/>
						<Parameter Name="t" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Adds a specified <see cref="T:System.TimeSpan"/> value to a specified <see cref="T:System.DateTime"/>
value.</para>
						</summary>
						<altmember cref="M:System.DateTime.Add(System.TimeSpan)"/>
						<param name="d">A <see cref="T:System.DateTime"/> value. </param>
						<param name="t">A <see cref="T:System.TimeSpan"/> value. </param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> instance that is the sum of the values of <paramref name="d"/> and
<paramref name="t"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">The resulting date and time is less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</exception>
						<remarks>
							<para>The returned value is equivalent to
   <see langword="DateTime"/>( <paramref name="d"/>.Ticks + <paramref name="t"/>.Ticks ).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Equality">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_Equality(valuetype System.DateTime d1, valuetype System.DateTime d2)"/>
					<MemberSignature Language="C#" Value="public static bool operator ==(DateTime d1, DateTime d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.DateTime"/>
						<Parameter Name="d2" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> value indicating whether the two
   specified instances of <see cref="T:System.DateTime"/>
   are equal.</para>
						</summary>
						<altmember cref="M:System.DateTime.Equals(System.Object)"/>
						<param name="d1">The first <see cref="T:System.DateTime"/> to compare. </param>
						<param name="d2">The second <see cref="T:System.DateTime"/> to compare. </param>
						<returns>
							<para>
								<see langword="true"/> if
<paramref name="d1"/>.Ticks value is equal to the 
<paramref name="d2"/>.Ticks value; otherwise, 
<see langword="false"/>. </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_GreaterThan">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_GreaterThan(valuetype System.DateTime t1, valuetype System.DateTime t2)"/>
					<MemberSignature Language="C#" Value="public static bool operator &gt;(DateTime t1, DateTime t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.DateTime"/>
						<Parameter Name="t2" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> value indicating whether one specified
<see cref="T:System.DateTime"/> is 
   greater than another specified <see cref="T:System.DateTime"/>.</para>
						</summary>
						<altmember cref="M:System.DateTime.Compare(System.DateTime,System.DateTime)"/>
						<param name="t1">
							<para>A <see cref="T:System.DateTime"/>. </para>
						</param>
						<param name="t2">A <see cref="T:System.DateTime"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if
<paramref name="t1"/>.Ticks value is greater than the 
<paramref name="t2"/>.Ticks value; otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_GreaterThanOrEqual">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_GreaterThanOrEqual(valuetype System.DateTime t1, valuetype System.DateTime t2)"/>
					<MemberSignature Language="C#" Value="public static bool operator &gt;=(DateTime t1, DateTime t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.DateTime"/>
						<Parameter Name="t2" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> value indicating whether one specified
<see cref="T:System.DateTime"/> is 
   greater than or equal to another specified <see cref="T:System.DateTime"/>.</para>
						</summary>
						<param name="t1">
							<para>A <see cref="T:System.DateTime"/>. </para>
						</param>
						<param name="t2">A <see cref="T:System.DateTime"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if
<paramref name="t1"/>.Ticks value is greater than or equal to 
<paramref name="t2"/>.Ticks value; otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Inequality">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_Inequality(valuetype System.DateTime d1, valuetype System.DateTime d2)"/>
					<MemberSignature Language="C#" Value="public static bool operator !=(DateTime d1, DateTime d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.DateTime"/>
						<Parameter Name="d2" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> value indicating whether two specified
   instances of <see cref="T:System.DateTime"/>
   are not equal.</para>
						</summary>
						<param name="d1">A <see cref="T:System.DateTime"/>. </param>
						<param name="d2">A <see cref="T:System.DateTime"/>. </param>
						<returns>
							<para>
								<see langword="true"/> if
<paramref name="d1"/>.Ticks value is not equal to 
<paramref name="d2"/>.Ticks value; otherwise, <see langword="false"/>.
   </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_LessThan">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_LessThan(valuetype System.DateTime t1, valuetype System.DateTime t2)"/>
					<MemberSignature Language="C#" Value="public static bool operator  &lt;(DateTime t1, DateTime t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.DateTime"/>
						<Parameter Name="t2" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> value indicating whether one specified
<see cref="T:System.DateTime"/> is less 
   than another specified <see cref="T:System.DateTime"/>.</para>
						</summary>
						<altmember cref="M:System.DateTime.Compare(System.DateTime,System.DateTime)"/>
						<param name="t1">
							<para>A <see cref="T:System.DateTime"/>. </para>
						</param>
						<param name="t2">A <see cref="T:System.DateTime"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if
<paramref name="t1"/>.Ticks value is less than 
<paramref name="t2"/>.Ticks value; otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_LessThanOrEqual">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_LessThanOrEqual(valuetype System.DateTime t1, valuetype System.DateTime t2)"/>
					<MemberSignature Language="C#" Value="public static bool operator &lt;=(DateTime t1, DateTime t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.DateTime"/>
						<Parameter Name="t2" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> value indicating whether one specified
<see cref="T:System.DateTime"/> is less 
   than or equal to another specified <see cref="T:System.DateTime"/>.</para>
						</summary>
						<altmember cref="M:System.DateTime.Compare(System.DateTime,System.DateTime)"/>
						<param name="t1">
							<para>A <see cref="T:System.DateTime"/>. </para>
						</param>
						<param name="t2">A <see cref="T:System.DateTime"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if
<paramref name="t1"/>.Ticks value is less than or equal to 
<paramref name="t2"/>.Ticks value; otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Subtraction">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname valuetype System.DateTime op_Subtraction(valuetype System.DateTime d, valuetype System.TimeSpan t)"/>
					<MemberSignature Language="C#" Value="public static DateTime operator -(DateTime d, TimeSpan t);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.DateTime"/>
						<Parameter Name="t" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Subtracts a specified <see cref="T:System.TimeSpan"/> from a specified <see cref="T:System.DateTime"/>
.</para>
						</summary>
						<param name="d">A <see cref="T:System.DateTime"/>. </param>
						<param name="t">A <see cref="T:System.TimeSpan"/>. </param>
						<returns>
							<para> A <see cref="T:System.DateTime"/> whose value is the value of <paramref name="d"/> minus the value
   of <paramref name="t"/>
   .</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">The resulting date and time is less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</exception>
						<remarks>
							<para> The returned value is equivalent to <see cref="T:System.DateTime"/>( <paramref name="d"/>.Ticks -
<paramref name="t"/>.Ticks 
   ).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Subtraction">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname valuetype System.TimeSpan op_Subtraction(valuetype System.DateTime d1, valuetype System.DateTime d2)"/>
					<MemberSignature Language="C#" Value="public static TimeSpan operator -(DateTime d1, DateTime d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.DateTime"/>
						<Parameter Name="d2" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Subtracts a specified <see cref="T:System.DateTime"/> from another specified <see cref="T:System.DateTime"/>
value, producing a time interval.</para>
						</summary>
						<param name="d1">A <see cref="T:System.DateTime"/> (the minuend). </param>
						<param name="d2">A <see cref="T:System.DateTime"/> (the subtrahend). </param>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/> that is the time interval between <paramref name="d1"/> and
<paramref name="d2"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">The resulting date and time is less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</exception>
						<remarks>
							<para>The returned value is equivalent to <see cref="T:System.TimeSpan"/>( <paramref name="d1"/>.Ticks -
<paramref name="d2"/>.Ticks).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime Parse(string s)"/>
					<MemberSignature Language="C#" Value="public static DateTime Parse(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.DateTime"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing a value to convert. The string is interpreted using the <see cref="F:System.Globalization.DateTimeStyles.None"/> style.</param>
						<returns>
							<para> The <see cref="T:System.DateTime"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> does not contain a valid string representation of a time or date and time.</exception>
						<remarks>
							<para>This version of <see cref="M:System.DateTime.Parse(System.String)"/> is equivalent to <see cref="M:System.DateTime.Parse(System.String)"/>(<paramref name="s"/>, <see langword="null"/>, <see cref="F:System.Globalization.DateTimeStyles.None"/>
).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.DateTimeFormatInfo"/>
initialized for the current
system culture.</para>
							<para>In order for the string to be successfully parsed, it is
   required to represent a date and time value in one of the standard <see cref="T:System.DateTime"/> patterns
   described in <see cref="T:System.Globalization.DateTimeFormatInfo"/>
   .</para>
							<para>If the string contains only a time, and no date, then the
   current date (<see cref="P:System.DateTime.Now"/> ) is
   used. If the string contains only a date and no time, this method assumes
   12 a.m.</para>
							<para> Any leading, trailing, and inner white space characters
   are ignored.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime Parse(string s, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static DateTime Parse(string s, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.DateTime"/>
value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.DateTimeStyles.None"/> style.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.DateTimeFormatInfo"/> object containing culture-specific format information about <paramref name="s"/> .</param>
						<returns>
							<para>The <see cref="T:System.DateTime"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> does not contain a valid string representation of a time or date and time.</exception>
						<remarks>
							<para>This version of <see cref="M:System.DateTime.Parse(System.String)"/> is equivalent to <see cref="M:System.DateTime.Parse(System.String)"/>(<paramref name="s"/>, <paramref name="provider"/>, <see cref="F:System.Globalization.DateTimeStyles.None"/>
).</para>
							<para>The string <paramref name="s"/> is parsed using the
culture-specific formatting information from the <see cref="T:System.Globalization.DateTimeFormatInfo"/>
instance supplied by <paramref name="provider"/>. If <paramref name="provider"/>
is <see langword="null"/> or a <see cref="T:System.Globalization.DateTimeFormatInfo"/> cannot be
obtained from <paramref name="provider"/>, the formatting information for the current
system culture is used.</para>
							<para>In order for the string to be successfully parsed, it is
   required to represent a date and time value in one of the standard <see cref="T:System.DateTime"/> patterns
   described in <see cref="T:System.Globalization.DateTimeFormatInfo"/>
   .</para>
							<para>If the string contains only a time, and no date, then the
   current date (<see cref="P:System.DateTime.Now"/> ) is used. If the string
   contains only a date and no time, this method assumes 12 a.m.</para>
							<para> Any leading, trailing, and inner white space characters are ignored.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime Parse(string s, class System.IFormatProvider provider, valuetype System.Globalization.DateTimeStyles styles)"/>
					<MemberSignature Language="C#" Value="public static DateTime Parse(string s, IFormatProvider provider, DateTimeStyles styles);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
						<Parameter Name="styles" Type="System.Globalization.DateTimeStyles"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.DateTime"/>
value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.DateTimeFormatInfo"/> object containing culture-specific format information about <paramref name="s"/> .</param>
						<param name=" styles">One or more <see cref="T:System.Globalization.DateTimeStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="styles"/> using the bitwise OR operator.</param>
						<returns>
							<para>The <see cref="T:System.DateTime"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> does not contain a valid string representation of a time or date and time.</exception>
						<remarks>
							<para>The string <paramref name="s"/> is parsed using the culture-specific 
   formatting information from the <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance supplied by
<paramref name="provider"/>. If <paramref name="provider"/> is <see langword="null"/> or a <see cref="T:System.Globalization.DateTimeFormatInfo"/> cannot be obtained from <paramref name="provider"/>, 
   the formatting information for the current system culture is
   used.</para>
							<para>In order for the string to be successfully parsed, it is
   required to represent a date and time value in one of the standard <see cref="T:System.DateTime"/> patterns
   described in <see cref="T:System.Globalization.DateTimeFormatInfo"/>
   .</para>
							<para>If the string contains only a time, and no date, and if
   the <paramref name="styles"/> parameter is set to <see cref="F:System.Globalization.DateTimeStyles.NoCurrentDateDefault"/> the Gregorian year 1, month 1, day 1 are used. In all
   other cases where a date is not specified, the current date (<see cref="P:System.DateTime.Now"/>
   ) is used.</para>
							<para> If the string
   contains only a date and no time, this method assumes 12 a.m.</para>
							<para>For all settings of the <paramref name="styles"/>
parameter, any leading, trailing, and inner white space characters are ignored.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ParseExact">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime ParseExact(string s, string format, class System.IFormatProvider provider, valuetype System.Globalization.DateTimeStyles style)"/>
					<MemberSignature Language="C#" Value="public static DateTime ParseExact(string s, string format, IFormatProvider provider, DateTimeStyles style);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
						<Parameter Name="style" Type="System.Globalization.DateTimeStyles"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts the <see cref="T:System.String"/> representation of a date and time to
   its <see cref="T:System.DateTime"/>
   equivalent using a specified style, the expected format, and
   culture-specific format information.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing a date and time to convert. The format of the string is required to match the specified format exactly. </param>
						<param name="format">A <see cref="T:System.String"/> containing the expected format of <paramref name="s"/>. <block subset="none" type="note">For a list of valid <paramref name="format"/> values, see <see cref="T:System.Globalization.DateTimeFormatInfo"/> .</block>
						</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.DateTimeFormatInfo"/> object containing culture-specific format information about <paramref name="s"/> . </param>
						<param name="style">
							<para>One or more <see cref="T:System.Globalization.DateTimeStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="styles"/> using the bitwise OR operator.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> equivalent to the date and time contained in
<paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>or <paramref name="format"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<para>
								<paramref name="s"/> or format is an empty string.</para>
							<para> -or-</para>
							<para>
								<paramref name="s"/> does not contain a date and time that were recognized as the pattern specified in <paramref name="format."/>
							</para>
						</exception>
						<remarks>
							<para>
								<see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> constructs a <see cref="T:System.DateTime"/> from the string <paramref name="s"/>. The string is required to specify a date and,
   optionally, a time in the provided format.</para>
							<para>The string <paramref name="s"/> is parsed using the culture-specific
formatting information from the <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance supplied by
<paramref name="provider"/>. If <paramref name="provider"/> is <see langword="null"/> or a <see cref="T:System.Globalization.DateTimeFormatInfo"/> cannot be obtained from <paramref name="provider"/>, the formatting information 
for the current system culture is used.</para>
							<para>If the <paramref name="s"/> string contains only a time, and no date, and if
the <paramref name="styles"/> parameter is set to <see cref="F:System.Globalization.DateTimeStyles.NoCurrentDateDefault"/> the Gregorian year 1, month 1, day 1 are used, and no
leading, trailing, or inner white space characters are allowed. In all other
cases where a date is not specified, the current date (<see cref="P:System.DateTime.Now"/>) is
used.</para>
							<para>If the <paramref name="s"/> string contains only a date and no time,
this method assumes 12 a.m.</para>
							<para>
								<block subset="none" type="note"> For information
   on formatting system-supplied data types, see the <see cref="T:System.IFormattable"/>
   interface.</block>
							</para>
						</remarks>
						<example>
							<para>This example demonstrates the <see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> method.</para>
							<code lang="C#">using System;
using System.Globalization;

public class DateTimeTest {
 public static void Main() {
     DateTimeFormatInfo dtfi = new DateTimeFormatInfo();

     DateTime dt = DateTime.ParseExact(" January 22 ", dtfi.MonthDayPattern, null, DateTimeStyles.AllowWhiteSpaces);
     Console.WriteLine(dt);
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>1/22/2001
         12:00:00 AM</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ParseExact">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime ParseExact(string s, class System.String[] formats, class System.IFormatProvider provider, valuetype System.Globalization.DateTimeStyles style)"/>
					<MemberSignature Language="C#" Value="public static DateTime ParseExact(string s, string[] formats, IFormatProvider provider, DateTimeStyles style);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="formats" Type="System.String[]"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
						<Parameter Name="style" Type="System.Globalization.DateTimeStyles"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts the <see cref="T:System.String"/> representation of a date and time to
   its <see cref="T:System.DateTime"/>
   equivalent using a specified style, an array
   of expected formats, and culture-specific format information.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing one or more dates and times to convert. The format of the string is required to match the specified format exactly. </param>
						<param name="formats">A <see cref="T:System.String"/> array containing the expected formats of <paramref name="s. "/>
							<block subset="none" type="note">For a list of valid <paramref name="format"/> values, see <see cref="T:System.Globalization.DateTimeFormatInfo"/> .</block>
						</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.DateTimeFormatInfo"/> object containing culture-specific format information about <paramref name="s"/> . </param>
						<param name="style">
							<para>One or more <see cref="T:System.Globalization.DateTimeStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="styles"/> using the bitwise OR operator.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> equivalent to the date and time contained in
<paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>or <paramref name="formats"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<para>
								<paramref name="s"/> or <paramref name="format"/> is an empty string.</para>
							<para> -or-</para>
							<para>
								<paramref name="s"/> does not contain a date and time that were recognized as the pattern specified in <paramref name="format"/>
							</para>
						</exception>
						<remarks>
							<para>
								<see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/>
constructs a <see cref="T:System.DateTime"/> from the <paramref name="s"/>
								<see cref="T:System.String"/>. The string is
required to specify a date and, optionally, a
time in the provided format.</para>
							<para>The string <paramref name="s"/> is parsed using the culture-specific
formatting information from the <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance supplied by
<paramref name="provider"/>. If <paramref name="provider"/> is <see langword="null"/> or a <see cref="T:System.Globalization.DateTimeFormatInfo"/> cannot be obtained from <paramref name="provider"/>, 
the formatting information for the
current system culture is used.</para>
							<para>If the <paramref name="s"/> string contains only a time, and no date, and if the <paramref name="styles"/>
parameter is set to <see cref="F:System.Globalization.DateTimeStyles.NoCurrentDateDefault"/> the Gregorian year 1, month 1, day 1 are
used, and no leading, trailing, or inner white space characters are allowed. In
all other cases where a date is not specified, the current date (<see cref="P:System.DateTime.Now"/>) is
used.</para>
							<para>If the <paramref name="s"/> string contains only a date and no time, this method assumes
12 a.m.</para>
							<para>
								<block subset="none" type="note"> For information
   on formatting system-supplied data types, see the <see cref="T:System.IFormattable"/>
   interface.</block>
							</para>
						</remarks>
						<example>
							<para>This example demonstrates the <see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> method.</para>
							<code lang="C#">using System;
using System.Globalization;

public class DateTimeTest {
 public static void Main() {
     DateTimeFormatInfo dtfi = new DateTimeFormatInfo();
     string [] patterns = {dtfi.LongTimePattern, dtfi.ShortTimePattern}; 

     DateTime dt = DateTime.ParseExact("10:11:12", patterns, null, DateTimeStyles.NoCurrentDateDefault);
     Console.WriteLine(dt);
 }
}
   </code>
							<para>The output is</para>
							<para>
								<c>1/1/0001
      10:11:12 AM</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ParseExact">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime ParseExact(string s, string format, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static DateTime ParseExact(string s, string format, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts the specified <see cref="T:System.String"/> representation of a date and time to
   its <see cref="T:System.DateTime"/>
   equivalent using a specified format and <see cref="T:System.IFormatProvider"/>
   .</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing a date and time to convert. The format of the string is required to match the specified format exactly. </param>
						<param name="format">A <see cref="T:System.String"/> containing the expected format of <paramref name="s"/>. <block subset="none" type="note">For a list of valid <paramref name="format"/> values, see <see cref="T:System.Globalization.DateTimeFormatInfo"/> .</block>
						</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.DateTimeFormatInfo"/> object containing culture-specific format information about <paramref name="s"/> . </param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> equivalent to the date and time contained in
<paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>or <paramref name="format"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<para>
								<paramref name="s"/> or <paramref name="format"/> is an empty string.</para>
							<para> -or-</para>
							<para>
								<paramref name="s"/> does not contain a date and time that were recognized as the pattern specified in <paramref name="format"/> . </para>
						</exception>
						<remarks>
							<para>
								<see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> constructs a <see cref="T:System.DateTime"/> from the string <paramref name="s"/>. The string is required to specify a date and,
   optionally, a time in the specified format.</para>
							<para>The string <paramref name="s"/> is parsed using the culture-specific
formatting information from the <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance supplied by
<paramref name="provider"/>. If <paramref name="provider"/> is <see langword="null"/> or a <see cref="T:System.Globalization.DateTimeFormatInfo"/> cannot be obtained from <paramref name="provider"/>, the formatting information 
for the current system culture is
used.</para>
							<para>If the <paramref name="s "/> string contains only a time, and no date, then
the current date (<see cref="P:System.DateTime.Now"/> ) is used. If the string contains only a date and
no time, this method assumes 12
a.m.</para>
							<para>Leading, trailing, and inner white space characters are
   not
   allowed.</para>
							<para>
								<block subset="none" type="note"> For information on formatting system-supplied
   data types, see the <see cref="T:System.IFormattable"/>
   interface.</block>
							</para>
						</remarks>
						<example>
							<para>This example demonstrates the <see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> method.</para>
							<code lang="C#">using System;
using System.Globalization;

public class DateTimeTest {
 public static void Main() {
     DateTimeFormatInfo dtfi = new DateTimeFormatInfo();

     DateTime dt = DateTime.ParseExact("January 22", dtfi.MonthDayPattern, null);
     Console.WriteLine(dt);
 }
}
   </code>
							<para>The output is</para>
							<para>
								<c>1/22/2001
      12:00:00 AM</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Second">
					<MemberSignature Language="ILASM" Value=".property int32 Second { public hidebysig specialname instance int32 get_Second() }"/>
					<MemberSignature Language="C#" Value="public int Second { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the seconds component of the date represented by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> between 0 and 59 set to the seconds component of the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Subtract">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.DateTime Subtract(valuetype System.TimeSpan value)"/>
					<MemberSignature Language="C#" Value="public DateTime Subtract(TimeSpan value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Subtracts a specified <see cref="T:System.TimeSpan"/> from the current instance.</para>
						</summary>
						<param name="value">An instance of <see cref="T:System.TimeSpan"/>.</param>
						<returns>
							<para>A new <see cref="T:System.DateTime"/> instance equal to the date and time represented by the
   current instance minus the time interval of the specified <see cref="T:System.TimeSpan"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">The resulting date and time is less than <see cref="F:System.DateTime.MinValue"/> or greater than <see cref="F:System.DateTime.MaxValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Subtract">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.TimeSpan Subtract(valuetype System.DateTime value)"/>
					<MemberSignature Language="C#" Value="public TimeSpan Subtract(DateTime value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Subtracts a specified date and
      time from the current instance.</para>
						</summary>
						<param name="value">An instance of <see cref="T:System.DateTime"/>.</param>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/> interval equal to
   the date and time represented by the current instance minus the date and time
   represented by the specified <see cref="T:System.DateTime"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Ticks">
					<MemberSignature Language="ILASM" Value=".property int64 Ticks { public hidebysig specialname instance int64 get_Ticks() }"/>
					<MemberSignature Language="C#" Value="public long Ticks { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the number of 100-nanosecond ticks that represent the date and time of the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int64"/> set to the number of ticks that represent the date and
   time of the current instance.</para>
						</value>
						<remarks>
							<para> The value of this property is the number of
      100-nanosecond intervals that have elapsed since 00:00:00, 1/1/0001. The value
      of the property is between <see cref="F:System.DateTime.MinValue"/> and <see cref="F:System.DateTime.MaxValue"/>
      
      .</para>
							<para> This
      property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TimeOfDay">
					<MemberSignature Language="ILASM" Value=".property valuetype System.TimeSpan TimeOfDay { public hidebysig specialname instance valuetype System.TimeSpan get_TimeOfDay() }"/>
					<MemberSignature Language="C#" Value="public TimeSpan TimeOfDay { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the
      time of day of the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.TimeSpan"/> instance set to the
   time component of the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Today">
					<MemberSignature Language="ILASM" Value=".property valuetype System.DateTime Today { public hidebysig static specialname valuetype System.DateTime get_Today() }"/>
					<MemberSignature Language="C#" Value="public static DateTime Today { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets
 the current date.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.DateTime"/> instance set to the date of the current instance, with the time set to
 00:00:00.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToLocalTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.DateTime ToLocalTime()"/>
					<MemberSignature Language="C#" Value="public DateTime ToLocalTime();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Converts the universal time coordinate (UTC) time value in the current instance to local time.
      </para>
						</summary>
						<returns>
							<para>An instance of <see cref="T:System.DateTime"/> equivalent of the time value in the
   current instance, adjusted to the local time zone and daylight saving time. If
   the result is too large or too small to be represented as a <see cref="T:System.DateTime"/> , this
   method returns a <see cref="T:System.DateTime"/> set to <see cref="F:System.DateTime.MaxValue"/> or <see cref="F:System.DateTime.MinValue"/>
   
   .</para>
						</returns>
						<remarks>
							<para>This method assumes that the current instance of <see cref="T:System.DateTime"/> holds the
   UTC time value, and not a local time. Each time it is invoked, this method
   performs the necessary modifications on the <see cref="T:System.DateTime"/> to derive the local time, whether the
   current <see cref="T:System.DateTime"/> holds the UTC time or not.</para>
							<para>The local time zone information is obtained from the operating system.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToLongDateString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToLongDateString()"/>
					<MemberSignature Language="C#" Value="public string ToLongDateString();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Converts the date denoted by the current instance to its
      equivalent long date <see cref="T:System.String"/> representation.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> containing the same value as a <see cref="T:System.String"/> returned by
<see cref="M:System.DateTime.ToString"/> ("D", 
<see langword="null"/>
).</para>
						</returns>
						<remarks>
							<para>The value of the current instance is formatted using the 
      long date format
      specifier, 'D'.</para>
							<block subset="none" type="note">
								<para>This format uses the culture of the current thread. To
         specify formatting using a different culture, use <see cref="M:System.DateTime.ToString"/>
         .</para>
								<para>For more information regarding the long date specifier,
         see <see cref="T:System.Globalization.DateTimeFormatInfo"/>
         .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToLongTimeString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToLongTimeString()"/>
					<MemberSignature Language="C#" Value="public string ToLongTimeString();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Converts the time denoted by the current instance to its
      equivalent long time <see cref="T:System.String"/> representation.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> containing the same value as a <see cref="T:System.String"/> returned by
<see cref="M:System.DateTime.ToString"/> ("T", 
<see langword="null"/> 
).</para>
						</returns>
						<remarks>
							<para>The value of the current instance is formatted using the 
      long time format specifier, 'T'.</para>
							<block subset="none" type="note">
								<para>This format uses the culture of the current thread. To
         specify formatting using a different culture, use <see cref="M:System.DateTime.ToString"/> .</para>
								<para>For more information regarding the long time specifier,
         see <see cref="T:System.Globalization.DateTimeFormatInfo"/> .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToShortDateString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToShortDateString()"/>
					<MemberSignature Language="C#" Value="public string ToShortDateString();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Converts the date denoted by the current instance to its
      equivalent short date <see cref="T:System.String"/> representation.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> containing the same value as a <see cref="T:System.String"/> returned by
<see cref="M:System.DateTime.ToString"/> ("d", 
<see langword="null"/>
).</para>
						</returns>
						<remarks>
							<para>The value of the current instance is formatted using the 
      short date format specifier,
      'd'.</para>
							<block subset="none" type="note">
								<para>This format uses the culture of the current thread. To specify formatting
         using a different culture, use <see cref="M:System.DateTime.ToString"/> .</para>
								<para>For more information regarding the short date specifier, see <see cref="T:System.Globalization.DateTimeFormatInfo"/> .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToShortTimeString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToShortTimeString()"/>
					<MemberSignature Language="C#" Value="public string ToShortTimeString();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Converts the time denoted by this instance to its
      equivalent short time <see cref="T:System.String"/> representation.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> containing the same value as a <see cref="T:System.String"/> returned by
<see cref="M:System.DateTime.ToString"/> ("t", 
<see langword="null"/> 
).</para>
						</returns>
						<remarks>
							<para>The value of the current instance is formatted using the 
      short time format specifier,
      't'.</para>
							<block subset="none" type="note">
								<para>This format uses the culture of the current thread. To specify formatting
         using a different culture, use <see cref="M:System.DateTime.ToString"/> .</para>
								<para>For more information regarding the short time specifier, see <see cref="T:System.Globalization.DateTimeFormatInfo"/> .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(string format)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of
   the current instance.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format of the returned string. <block subset="none" type="note"> For a list of valid values, see <see cref="T:System.Globalization.DateTimeFormatInfo"/> .</block>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the current system
   culture.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<para>The length of the <paramref name="format"/> string is 1, and it is not one of the format specifier characters defined for <see cref="T:System.Globalization.DateTimeFormatInfo"/>.</para>
							<para>-or-</para>
							<para>The <paramref name="format"/> string does not contain a valid custom format pattern.</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.DateTime.ToString"/> is equivalent to <see cref="M:System.DateTime.ToString"/> (<paramref name="format"/> ,
<see langword="null"/>
).</para>
							<para>If <paramref name="format"/> is a null reference, the general
format specifier "G" is used.</para>
							<block subset="none" type="note">
								<para>This method uses the culture information of the current
      thread.</para>
								<para> For information on formatting system-supplied data 
      types, see the <see cref="T:System.IFormattable"/> interface.</para>
							</block>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string takes
   into account the current system culture.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.DateTime.ToString"/> is equivalent to <see cref="M:System.DateTime.ToString"/> ("G", <see langword="null"/> 
).</para>
							<block subset="none" type="note">
								<para>For more information about the general format specifier
      ("G") see <see cref="T:System.Globalization.DateTimeFormatInfo"/>.</para>
								<para>This method overrides <see cref="M:System.Object.ToString"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(string format, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of
   the current instance.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing a character that specifies the format of the returned string. <block subset="none" type="note">For a list of valid values, see <see cref="T:System.Globalization.DateTimeFormatInfo"/> .</block>
						</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the information in
   the <see cref="T:System.Globalization.DateTimeFormatInfo"/> supplied by <paramref name="provider"/>.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<para>The length of the <paramref name="format"/> string is 1, and it is not one of the format specifier characters defined for <see cref="T:System.Globalization.DateTimeFormatInfo"/>.</para>
							<para>-or-</para>
							<para>The <paramref name="format"/> string does not contain a valid custom format pattern.</para>
						</exception>
						<remarks>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.DateTimeFormatInfo"/>
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
							<para>If <paramref name="format"/> is a null reference, the general
format specifier "G" is used.</para>
							<block subset="none" type="note">
								<para>For more information regarding the standard format
      specifier, see <see cref="T:System.Globalization.DateTimeFormatInfo"/>. For
      information on formatting system-supplied data types, see the <see cref="T:System.IFormattable"/>
      interface.</para>
								<para>This method is implemented to support the <see cref="T:System.IFormattable"/>
interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of
   the current instance.</para>
						</summary>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.DateTimeFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string takes into account the
   formatting information in the <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance supplied by
<paramref name="provider"/>.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.DateTime.ToString"/> is equivalent to <see cref="M:System.DateTime.ToString"/>
("<paramref name="G"/>", <paramref name="provider"/>
).</para>
							<para>If <paramref name="provider"/> is
<see langword="null"/> or the <see cref="T:System.Globalization.DateTimeFormatInfo"/>
cannot be obtained from <paramref name="provider"/>, the formatting information for the current system culture
is
used.</para>
							<block subset="none" type="note">
								<para>The general format specifier ("G") provides the general
      date pattern including the long time form, equivalent to <see cref="P:System.Globalization.DateTimeFormatInfo.ShortDatePattern"/> combined with <see cref="P:System.Globalization.DateTimeFormatInfo.LongTimePattern"/>. For more information on format specifiers, see <see cref="T:System.Globalization.DateTimeFormatInfo"/> . For
      information on formatting system-supplied data types, see the <see cref="T:System.IFormattable"/>
      interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUniversalTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.DateTime ToUniversalTime()"/>
					<MemberSignature Language="C#" Value="public DateTime ToUniversalTime();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Converts the current <see cref="T:System.DateTime"/> value to coordinated universal time (UTC). </para>
						</summary>
						<returns>
							<para>The UTC <see cref="T:System.DateTime"/> equivalent of the current <see cref="T:System.DateTime"/> value. If the
   result is too large or too small to be represented as a <see cref="T:System.DateTime"/>, the current
   function returns a <see cref="T:System.DateTime"/> set to <see cref="F:System.DateTime.MaxValue"/> or <see cref="F:System.DateTime.MinValue"/>
   .</para>
						</returns>
						<remarks>
							<para> This method assumes that the current instance of <see cref="T:System.DateTime"/> holds the
   local time value, and not a UTC time. Therefore each time it is run, this
   method performs the necessary modifications on the <see cref="T:System.DateTime"/> to derive the
   UTC time, whether the current <see cref="T:System.DateTime"/> holds the local time or not.
   </para>
							<para> The local time zone information is obtained from the
   operating system.
   </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="UtcNow">
					<MemberSignature Language="ILASM" Value=".property valuetype System.DateTime UtcNow { public hidebysig static specialname valuetype System.DateTime get_UtcNow() }"/>
					<MemberSignature Language="C#" Value="public static DateTime UtcNow { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the current
      time converted to coordinated
      universal time (UTC).</para>
						</summary>
						<value>
							<para>A <see cref="T:System.DateTime"/> instance set to the current date and time in coordinated universal time (UTC). </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Year">
					<MemberSignature Language="ILASM" Value=".property int32 Year { public hidebysig specialname instance int32 get_Year() }"/>
					<MemberSignature Language="C#" Value="public int Year { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the year component of the date represented by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> between 1 and 9999 set to the year component of the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="DateTimeFormatInfo" FullName="System.Globalization.DateTimeFormatInfo" FullNameSP="System_Globalization_DateTimeFormatInfo">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable DateTimeFormatInfo extends System.Object implements System.ICloneable, System.IFormatProvider"/>
			<TypeSignature Language="C#" Value="public sealed class DateTimeFormatInfo : ICloneable, IFormatProvider"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Defines culture-specific formats and patterns for
   <see cref="T:System.DateTime"/> values.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.DateTime"/> values are formatted by the <see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> and
<see cref="M:System.DateTime.ToString"/> methods according to standard or custom patterns stored 
   in the properties of a <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance. The standard patterns can be
   accessed and modified through the associated <see cref="T:System.Globalization.DateTimeFormatInfo"/> properties.
   <block subset="none" type="note">The format patterns and properties of a
      read-only <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance cannot be changed. To determine
      whether a <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance is read-only, use the <see cref="P:System.Globalization.DateTimeFormatInfo.IsReadOnly"/> property.</block>
					</para>
					<para>Date and time format patterns are specified using
      strings called <paramref name="format specifiers"/>. A string is interpreted as standard
      format specifier if it contains exactly one standard format specifier character.
      If the string contains a single character and that character is not one of the
      standard format specifiers, an exception is thrown. If the string contains two
      or more characters, even if the extra characters are white spaces, the string is
      interpreted as a custom format specifier. Format specifiers and format patterns
      are case-sensitive; for example, 'g' and 'G' represent different
      
      patterns. </para>
					<para>The following table shows the standard format specifiers and the associated
      format pattern defined for the invariant culture. The exact pattern produced by
      a format specifier is influenced by culture-specific date and/or time settings
      on the current system; computers with different date and time settings might
      display different patterns. The asterisk at the end of a format pattern
      indicates that the preceding character may be repeated without changing the
      meaning of the pattern. For example, the pattern "HH*" indicates that the
      strings "HH", "HHH", "HHHH", and "HHHHH" produce the same result when used with
   <see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> and <see cref="M:System.DateTime.ToString"/> methods. </para>
					<list type="table">
						<listheader>
							<term>Format Specifier</term>
							<description>Format Pattern</description>
							<description>Description</description>
						</listheader>
						<item>
							<term> d</term>
							<description>MM/dd/yyyy</description>
							<description>The full date in numeric format (<see cref="P:System.Globalization.DateTimeFormatInfo.ShortDatePattern"/>
      ).</description>
						</item>
						<item>
							<term> D</term>
							<description>dddd*, dd MMMM* yyyy</description>
							<description>The full date including the day of the week and the
      name of the month (<see cref="P:System.Globalization.DateTimeFormatInfo.LongDatePattern"/>
      ).</description>
						</item>
						<item>
							<term> f</term>
							<description>dddd*, dd MMMM* yyyy HH*:mm*</description>
							<description>The full date and time, including the day of the week
      and the name of the month (<see cref="P:System.Globalization.DateTimeFormatInfo.LongDatePattern"/> combined with <see cref="P:System.Globalization.DateTimeFormatInfo.ShortTimePattern"/>
      ).</description>
						</item>
						<item>
							<term> F</term>
							<description>dddd*, dd MMMM* yyyy HH*:mm*:ss*</description>
							<description>The full date and time, including the seconds
      (<see cref="P:System.Globalization.DateTimeFormatInfo.FullDateTimePattern"/> equivalent to
   <see cref="P:System.Globalization.DateTimeFormatInfo.LongDatePattern"/> combined with <see cref="P:System.Globalization.DateTimeFormatInfo.LongTimePattern"/>
   ).</description>
						</item>
						<item>
							<term> g</term>
							<description>MM/dd/yyyy HH*:mm*</description>
							<description>A
      general date pattern including the short time form (<see cref="P:System.Globalization.DateTimeFormatInfo.ShortDatePattern"/> combined with
   <see cref="P:System.Globalization.DateTimeFormatInfo.ShortTimePattern"/>
   ).</description>
						</item>
						<item>
							<term> G</term>
							<description>MM/dd/yyyy HH*:mm*:ss*</description>
							<description>A
      general date pattern including the long time form (<see cref="P:System.Globalization.DateTimeFormatInfo.ShortDatePattern"/> combined with <see cref="P:System.Globalization.DateTimeFormatInfo.LongTimePattern"/>
      ).</description>
						</item>
						<item>
							<term> m, M</term>
							<description>MMMM* dd</description>
							<description>The full name of the month and the date (<see cref="P:System.Globalization.DateTimeFormatInfo.MonthDayPattern"/> ).</description>
						</item>
						<item>
							<term> t</term>
							<description>HH*:mm*</description>
							<description>The time in short format (<see cref="P:System.Globalization.DateTimeFormatInfo.ShortTimePattern"/> ).</description>
						</item>
						<item>
							<term> T</term>
							<description>HH*:mm*:ss*</description>
							<description>The time in long format (<see cref="P:System.Globalization.DateTimeFormatInfo.LongTimePattern"/> ).</description>
						</item>
						<item>
							<term> U</term>
							<description>dddd*, dd MMMM* yyyy HH*:mm*:ss*</description>
							<description>The
      full date and time, including the seconds, in the Gregorian calendar (
   <see cref="P:System.Globalization.DateTimeFormatInfo.FullDateTimePattern"/>
   ).</description>
						</item>
						<item>
							<term> y, Y</term>
							<description>yyyy MMMM*</description>
							<description>The full name of the month and the year in four-digit
      format (<see cref="P:System.Globalization.DateTimeFormatInfo.YearMonthPattern"/>
      ). </description>
						</item>
					</list>
The following table lists custom format specifiers that can be combined to
construct custom patterns. If the custom pattern contains white space
characters, characters enclosed in single or double quotation marks, or
characters not defined in the following table, these characters are considered
literals and are included in the output string unchanged.
<block subset="none" type="note"> See the <see cref="T:System.String"/> class for the 
list of white space characters.</block>
					<list type="table">
						<listheader>
							<term>Format Pattern</term>
							<description>Description</description>
							<description>Examples</description>
						</listheader>
						<item>
							<term> d</term>
							<description>The
         day of the month as a value in the range 1-31, inclusive. Single-digit days do
         not have a leading zero.</description>
							<description>
								<para>1</para>
								<para>22</para>
							</description>
						</item>
						<item>
							<term> dd</term>
							<description>The
            day of the month as a value in the range 1-31, inclusive. Single-digit days have a leading zero.</description>
							<description>
								<para>01</para>
								<para>22</para>
							</description>
						</item>
						<item>
							<term> ddd</term>
							<description>The abbreviated name of the day of the week, as
               defined in <see cref="P:System.Globalization.DateTimeFormatInfo.AbbreviatedDayNames"/>
               .</description>
							<description>Mon</description>
						</item>
						<item>
							<term> dddd*</term>
							<description>The full name of the day of the week, as defined in
            <see cref="P:System.Globalization.DateTimeFormatInfo.DayNames"/> .</description>
							<description>Monday</description>
						</item>
						<item>
							<term> M</term>
							<description>The
               numeric month as a value in the range 1-12, inclusive. Single-digit months do not have a leading zero.</description>
							<description>
								<para>2</para>
								<para>11</para>
							</description>
						</item>
						<item>
							<term> MM</term>
							<description>The
                  numeric month as a value in the range 1-12, inclusive. Single-digit months have a leading zero.</description>
							<description>
								<para>02</para>
								<para>11</para>
							</description>
						</item>
						<item>
							<term> MMM</term>
							<description>The abbreviated name of the month, as defined in
                  <see cref="P:System.Globalization.DateTimeFormatInfo.AbbreviatedMonthNames"/>
                  .</description>
							<description>Feb</description>
						</item>
						<item>
							<term> MMMM*</term>
							<description>The full name of the month, as defined in <see cref="P:System.Globalization.DateTimeFormatInfo.MonthNames"/> .</description>
							<description>February</description>
						</item>
						<item>
							<term> y</term>
							<description>The year without the century (two-digit). If the value is less than
               10, the year is displayed with no leading zero.</description>
							<description>
								<para>0</para>
								<para>3</para>
							</description>
						</item>
						<item>
							<term> yy</term>
							<description>The year without the century (two-digit). If the year without the
                  century is less than 10, the year is displayed with a leading zero.</description>
							<description>
								<para>00</para>
								<para>03</para>
							</description>
						</item>
						<item>
							<term> yyyy</term>
							<description>The year including the century in four digits.</description>
							<description>
								<para>2000</para>
								<para>2003</para>
							</description>
						</item>
						<item>
							<term> g*</term>
							<description>The name of a period or era (such as "A.D." or "B.C."). This pattern
                        is ignored if the date to be formatted does not have an associated period
                        or era string.</description>
							<description>A.D.</description>
						</item>
						<item>
							<term> h</term>
							<description>The hour
                        within a 12-hour range as a value in the range 1-12, inclusive. Single-digit
                        hours do not have a leading zero. <block subset="none" type="note"> The value represents whole hours passed since either midnight
                        (12) or noon (12). To distinguish between values occurring before and after noon, include the "t" or "tt*" custom
                        format specifier.</block>
							</description>
							<description>
								<para>3</para>
								<para>11</para>
							</description>
						</item>
						<item>
							<term> hh*</term>
							<description>The
                           hour within a 12-hour range as a value in the range 1-12, inclusive.
                           Single-digit hours have a leading zero. <block subset="none" type="note"> The value represents whole hours passed since either midnight
                           (12) or noon (12). To distinguish between values occurring before and after noon, include the "t" or "tt*" custom format
                           specifier.</block>
							</description>
							<description>
								<para>03</para>
								<para>11</para>
							</description>
						</item>
						<item>
							<term> H</term>
							<description>The hour as a value in the range 0-23, inclusive.
                              Single-digit hours do not have a leading zero. <block subset="none" type="note"> The value represents whole hours passed since
                              midnight.</block>
							</description>
							<description>
								<para>3</para>
								<para>13</para>
							</description>
						</item>
						<item>
							<term> HH*</term>
							<description>The hour as a value in the range 0 and 23, inclusive.
                                 Single-digit hours have a leading zero. <block subset="none" type="note"> The value represents whole hours passed since
                                 midnight.</block>
							</description>
							<description>
								<para>03</para>
								<para>13</para>
							</description>
						</item>
						<item>
							<term> m</term>
							<description>The minute
                                    as a value in the range 0-59, inclusive. Single-digit minutes do not
                                    have a leading zero. <block subset="none" type="note"> The value
                                    represents whole minutes passed since the last hour.</block>
							</description>
							<description>
								<para>5</para>
								<para>15</para>
							</description>
						</item>
						<item>
							<term> mm*</term>
							<description>The minute
                                       as a value in the range 0-59, inclusive. Single-digit minutes have a
                                       leading zero. <block subset="none" type="note"> The value represents
                                       whole minutes passed since the last hour.</block>
							</description>
							<description>
								<para>05</para>
								<para>15</para>
							</description>
						</item>
						<item>
							<term> s</term>
							<description>The
                                          second as a value in the range 0-59, inclusive. Single-digit seconds do
                                          not have a leading zero. <block subset="none" type="note"> The
                                          value represents whole seconds passed since the last minute.</block>
							</description>
							<description>
								<para>1</para>
								<para>30</para>
							</description>
						</item>
						<item>
							<term> ss*</term>
							<description>The
                                             second as a value in the range 0-59, inclusive. Single-digit seconds have
                                             a leading zero. <block subset="none" type="note">The value represents
                                             whole seconds passed since the last minute.</block>
							</description>
							<description>
								<para>01</para>
								<para>30</para>
							</description>
						</item>
						<item>
							<term> f</term>
							<description> Displays fractional
                                                seconds represented in one digit.</description>
							<description>1</description>
						</item>
						<item>
							<term> ff</term>
							<description> Displays fractional seconds represented in two digits.</description>
							<description>01</description>
						</item>
						<item>
							<term> fff</term>
							<description> Displays fractional seconds represented in three digits.</description>
							<description>001</description>
						</item>
						<item>
							<term> ffff</term>
							<description> Displays fractional seconds represented in four digits.</description>
							<description>0001</description>
						</item>
						<item>
							<term> fffff</term>
							<description> Displays fractional seconds represented in five digits.</description>
							<description>00001</description>
						</item>
						<item>
							<term> ffffff</term>
							<description> Displays fractional seconds represented in six digits.</description>
							<description>000001</description>
						</item>
						<item>
							<term> fffffff</term>
							<description> Displays fractional seconds represented in seven digits.</description>
							<description>0000001</description>
						</item>
						<item>
							<term> t</term>
							<description>The
                                                first character of the AM/PM designator defined in the <see cref="T:System.Globalization.DateTimeFormatInfo"/> property <see cref="P:System.Globalization.DateTimeFormatInfo.AMDesignator"/> or <see cref="P:System.Globalization.DateTimeFormatInfo.PMDesignator"/>. <block subset="none" type="note"> If the total number of hours passed since midnight is less
                                                than 12, the A.M. designator is used; otherwise the P.M. designator is
                                                used.</block>
							</description>
							<description>
								<para>A</para>
								<para>P</para>
							</description>
						</item>
						<item>
							<term> tt*</term>
							<description>The AM/PM designator defined in the <see cref="T:System.Globalization.DateTimeFormatInfo"/> property <see cref="P:System.Globalization.DateTimeFormatInfo.AMDesignator"/> or <see cref="P:System.Globalization.DateTimeFormatInfo.PMDesignator"/>. <block subset="none" type="note"> If the total number of hours passed since midnight is less
                                                than 12, the A.M. designator is used; otherwise the P.M. designator is
                                                used.</block>
							</description>
							<description>
								<para>AM</para>
								<para>PM</para>
							</description>
						</item>
						<item>
							<term> z</term>
							<description>The time zone offset (hour only) from the universal
                                                   time coordinate (UTC) time (Greenwich Mean Time) as a value in the range
                                                   -12 to +13, inclusive. Single-digit hours do not have a leading zero.
                                                   <block subset="none" type="note">The value always includes a leading sign (zero is '+0'), indicating hours ahead of UTC time (+) or hours behind UTC time
                                                      (-). The offset takes Daylight Savings Time into account.</block>
							</description>
							<description>-8</description>
						</item>
						<item>
							<term> zz</term>
							<description>The time zone offset (hour only) from the UTC time
                                                      (Greenwich Mean Time) as a value in the range -12 to +13, inclusive.
                                                      Single-digit hours have a leading zero. <block subset="none" type="note"> The value always includes a leading sign (zero is
                                                      '+0'), indicating hours ahead of UTC time (+) or hours behind UTC time (-). The
                                                      offset takes Daylight Savings Time into account.</block>
							</description>
							<description>-08</description>
						</item>
						<item>
							<term> zzz*</term>
							<description> The full time zone offset (hour and minutes) from the
                                                      UTC time (Greenwich Mean Time) as a value in the range -12:00 to +13:00,
                                                      inclusive. Single-digit hours and minutes have leading zeros. <block subset="none" type="note"> The value always includes a leading sign (zero is '+0'), indicating hours ahead of UTC time (+) or hours behind
                                                      UTC time (-). The offset takes Daylight Savings Time
                                                      into account.</block>
							</description>
							<description>-08:00</description>
						</item>
						<item>
							<term> :</term>
							<description>The
                                                      invariant culture time separator defined in <see cref="P:System.Globalization.DateTimeFormatInfo.TimeSeparator"/>
                                                      .</description>
							<description>:</description>
						</item>
						<item>
							<term> /</term>
							<description>The
                                                      invariant culture date separator defined in the <see cref="P:System.Globalization.DateTimeFormatInfo.DateSeparator"/>
                                                      .</description>
							<description>/</description>
						</item>
						<item>
							<term>
								<paramref name="%c"/>
							</term>
							<description>
								<paramref name="c"/> represents a single custom format character.
                                                Produces the custom format pattern associated with the format character
                                             <paramref name="c"/>. The %<paramref name="c"/> specifier provides a mechanism for specifying
                                                a single custom format character and having it recognized as a custom
                                                specifier. This format is intended for characters that define both a
                                                custom and a standard format. Note that a format string containing
                                                exactly one such character will be interpreted as a standard format
                                                specifier unless prefaced with the %. <block subset="none" type="note">For example, for the invariant culture, "%d" produces the
                                                single or double digit date, while "d" produces the date
                                                in "MM/dd/yyyy" format. Without the %, a format string containing one
                                                character would have to include leading or trailing white space
                                                to be interpreted as a custom specifier because custom formats are required to have two
                                                or more characters.</block>
							</description>
							<description>"%y" produces a two digit year without a leading zero, and not the
                                                "MMMM, yyyy" pattern.</description>
						</item>
						<item>
							<term>
								<paramref name="\c"/>
							</term>
							<description>
								<paramref name="c"/> represents any character predefined as part of
                                          a format specifier. Prevents the character from being interpreted as a
                                          format specifier (the character is treated as a literal). <block subset="none" type="note"> In
                                          programming languages where the backslash ('\') character is used to
                                          specify control sequences such as newline (\n), the backslash character is required to be
                                          specified twice. For example, in C#, "\d" is coded as
                                          "\\d".</block>
							</description>
							<description>"\d" produces the character 'd', and not the day of the
                                          month.</description>
						</item>
						<item>
							<term> '<paramref name="xx"/>' or "<paramref name="xx"/>"</term>
							<description>
								<paramref name="xx"/> represents a string of characters of any length. The
                                    characters are treated as literals.</description>
							<description>"'d'" produces the character 'd', and not the day of the
                                    month.</description>
						</item>
					</list>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.ICloneable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IFormatProvider</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public DateTimeFormatInfo();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Globalization.DateTimeFormatInfo"/> class that is culture-independent (invariant).</para>
						</summary>
						<remarks>
							<para> The new instance of <see cref="T:System.Globalization.DateTimeFormatInfo"/> is not read-only, and its properties can be modified with user-defined patterns.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AbbreviatedDayNames">
					<MemberSignature Language="ILASM" Value=".property class System.String[] AbbreviatedDayNames { public hidebysig specialname instance class System.String[] get_AbbreviatedDayNames() public hidebysig specialname instance void set_AbbreviatedDayNames(class System.String[] value) }"/>
					<MemberSignature Language="C#" Value="public string[] AbbreviatedDayNames { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets a one-dimensional array of type <see cref="T:System.String"/>
containing the
culture-specific abbreviated names of the days of the week.</para>
						</summary>
						<value>
							<para>A one-dimensional array of type <see cref="T:System.String"/>
containing the culture-specific abbreviated names of the days of the week.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.ArgumentException">The value specified for a set operation is not an array with exactly 7 elements.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para> The array specified in a set operation is required
      to be one-dimensional and have exactly seven elements. The first element of the
      array is the abbreviated day name for Sunday, and the last element is the name for Saturday.</para>
							<para> The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.AbbreviatedDayNames"/> is a <see cref="T:System.String"/> array that contains "Sun", "Mon", "Tue", "Wed", "Thu", "Fri" and "Sat".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AbbreviatedMonthNames">
					<MemberSignature Language="ILASM" Value=".property class System.String[] AbbreviatedMonthNames { public hidebysig specialname instance class System.String[] get_AbbreviatedMonthNames() public hidebysig specialname instance void set_AbbreviatedMonthNames(class System.String[] value) }"/>
					<MemberSignature Language="C#" Value="public string[] AbbreviatedMonthNames { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets a one-dimensional array of type <see cref="T:System.String"/>
containing the culture-specific abbreviated names of the months.</para>
						</summary>
						<value>
							<para>A one-dimensional array of type <see cref="T:System.String"/>
containing the abbreviated names of the months. For
cultures with 12-month calendars the 13th element of the array is an empty string.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.ArgumentException">The value specified for a set operation is not an array with exactly 13 elements.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para>The <see cref="T:System.Array"/> specified in a set operation is required
   to be one-dimensional and have exactly 13 elements.</para>
							<para> The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.AbbreviatedMonthNames"/> is a <see cref="T:System.String"/> array that contains
"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" and "".</para>
							<para>
								<block subset="none" type="note"> The array returned
   by this property has 13 elements to support calendars with 13 months.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AMDesignator">
					<MemberSignature Language="ILASM" Value=".property string AMDesignator { public hidebysig specialname instance string get_AMDesignator() public hidebysig specialname instance void set_AMDesignator(string value) }"/>
					<MemberSignature Language="C#" Value="public string AMDesignator { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the <see cref="T:System.String"/> culture-specific
   designator for hours that are "ante meridiem" (before noon).</para>
						</summary>
						<value>
							<para>The <see cref="T:System.String"/> designator for hours that are before noon.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para>The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.AMDesignator"/> returns the <see cref="T:System.String"/> "AM".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Clone">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual object Clone()"/>
					<MemberSignature Language="C#" Value="public object Clone();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Creates a copy of the current instance.</para>
						</summary>
						<returns>
							<para>A new <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance with property
   values equal to the property values of the original <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance.</para>
						</returns>
						<remarks>
							<para>The <see cref="M:System.Globalization.DateTimeFormatInfo.Clone"/> method creates a new instance of the same type as the
   current instance, and then copies the contents of each of the current instance's non-static fields.</para>
							<para>The new instance is not read-only, and its properties can be modified with user-defined patterns.</para>
							<para>
								<block subset="none" type="note"> This method is
   implemented to support the <see cref="T:System.ICloneable"/> interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CurrentInfo">
					<MemberSignature Language="ILASM" Value=".property class System.Globalization.DateTimeFormatInfo CurrentInfo { public hidebysig static specialname class System.Globalization.DateTimeFormatInfo get_CurrentInfo() }"/>
					<MemberSignature Language="C#" Value="public static DateTimeFormatInfo CurrentInfo { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.DateTimeFormatInfo</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a read-only <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance that formats values based on the current culture.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance based on the
   culture of the current thread.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DateSeparator">
					<MemberSignature Language="ILASM" Value=".property string DateSeparator { public hidebysig specialname instance string get_DateSeparator() public hidebysig specialname instance void set_DateSeparator(string value) }"/>
					<MemberSignature Language="C#" Value="public string DateSeparator { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the culture-specific <see cref="T:System.String"/> to use to separate the year, month, and day components of a date.</para>
						</summary>
						<value>
							<para>The <see cref="T:System.String"/> to use to separate the year, month and day components of a date.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para>The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.DateSeparator"/> is "/".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DayNames">
					<MemberSignature Language="ILASM" Value=".property class System.String[] DayNames { public hidebysig specialname instance class System.String[] get_DayNames() public hidebysig specialname instance void set_DayNames(class System.String[] value) }"/>
					<MemberSignature Language="C#" Value="public string[] DayNames { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets a one-dimensional array of type <see cref="T:System.String"/>
containing the culture-specific full names of the days of the week.</para>
						</summary>
						<value>
							<para>A one-dimensional array of type <see cref="T:System.String"/> containing the full names of the days of the week.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.ArgumentException">The value specified for a set operation is not an array with exactly 7 elements.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para>The array specified in a set operation is required
      to be one-dimensional and have exactly seven elements. The first element of the
      array is the abbreviated day name for Sunday, and the last element is the name for Saturday.</para>
							<para>The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.DayNames"/> is a <see cref="T:System.String"/> array that contains "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" and "Saturday".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FullDateTimePattern">
					<MemberSignature Language="ILASM" Value=".property string FullDateTimePattern { public hidebysig specialname instance string get_FullDateTimePattern() public hidebysig specialname instance void set_FullDateTimePattern(string value) }"/>
					<MemberSignature Language="C#" Value="public string FullDateTimePattern { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the format pattern for a long date and long time value.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing the format pattern for a long date and long time value.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para>The <see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> and <see cref="M:System.DateTime.ToString"/> methods associate the
   format pattern returned by this property with the 'F' format character.</para>
							<para>The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.FullDateTimePattern"/> is "dddd, dd MMMM yyyy HH:mm:ss".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetAbbreviatedMonthName">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string GetAbbreviatedMonthName(int32 month)"/>
					<MemberSignature Language="C#" Value="public string GetAbbreviatedMonthName(int month);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="month" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Gets the abbreviated name of the specified month based
      on the culture of the current thread.</para>
						</summary>
						<param name="month">A <see cref="T:System.Int32"/> from 1 through 13 representing the month name to retrieve.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing the abbreviated name of the month represented by
<paramref name="month"/>. For cultures with 12-month calendars, the empty string is
   returned as the name of the 13th month.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="month"/> is less than 1 or greater than 13.</exception>
						<remarks>
							<para>For the default (culture-invariant) <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance, this method returns one of the
   following strings:</para>
							<list type="table">
								<listheader>
									<term>
										<paramref name="month"/>
									</term>
									<description>Return Value</description>
								</listheader>
								<item>
									<term> 1</term>
									<description>"Jan"</description>
								</item>
								<item>
									<term> 2</term>
									<description>"Feb"</description>
								</item>
								<item>
									<term> 3</term>
									<description>"Mar"</description>
								</item>
								<item>
									<term> 4</term>
									<description>"Apr"</description>
								</item>
								<item>
									<term> 5</term>
									<description>"May"</description>
								</item>
								<item>
									<term> 6</term>
									<description>"Jun"</description>
								</item>
								<item>
									<term> 7</term>
									<description>"Jul"</description>
								</item>
								<item>
									<term> 8</term>
									<description>"Aug"</description>
								</item>
								<item>
									<term> 9</term>
									<description>"Sep"</description>
								</item>
								<item>
									<term> 10</term>
									<description>"Oct"</description>
								</item>
								<item>
									<term> 11</term>
									<description>"Nov"</description>
								</item>
								<item>
									<term> 12</term>
									<description>"Dec"</description>
								</item>
								<item>
									<term> 13</term>
									<description>""</description>
								</item>
							</list>
							<para>
								<block subset="none" type="note"> This method supports calendars with 13 months.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEra">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 GetEra(string eraName)"/>
					<MemberSignature Language="C#" Value="public int GetEra(string eraName);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="eraName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Int32"/> representing the specified era.</para>
						</summary>
						<param name="eraName">A <see cref="T:System.String"/> containing the name of the era. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> representing the era. If <paramref name="eraName"/> is invalid, returns -1.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="eraName"/> is a null reference.</exception>
						<remarks>
							<para>The value specified for <paramref name="eraName"/> is case-insensitive.</para>
							<para>
								<block subset="none" type="note"> An era name is a
   culturally specific name for a period of time marked by distinctive character or
   reckoned from a fixed point or event. For example "A.D." and "B.C." are two eras of the Gregorian calendar.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEraName">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string GetEraName(int32 era)"/>
					<MemberSignature Language="C#" Value="public string GetEraName(int era);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="era" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Gets the <see cref="T:System.String"/> containing the name of the specified era.</para>
						</summary>
						<param name="era">A <see cref="T:System.Int32"/> representing the era.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing the name of the era.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="era"/> does not represent a valid era in calendar for the current thread.</exception>
						<remarks>
							<para>
								<block subset="none" type="note"> An era name is a
      culturally specific name for a period of time marked by distinctive character or
      reckoned from a fixed point or event. For example "A.D." and "B.C." are two eras
      of the Gregorian calendar.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetFormat">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual object GetFormat(class System.Type formatType)"/>
					<MemberSignature Language="C#" Value="public object GetFormat(Type formatType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="formatType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns an object of the specified type that provides <see cref="T:System.DateTime"/> formatting services.</para>
						</summary>
						<param name="formatType">The <see cref="T:System.Type"/> of the formatting object to be returned.</param>
						<returns>
							<para>A formatting object of the specified <see cref="T:System.Type"/>. If no formatting
   object of the specified type is available, or <paramref name="formatType"/> is a null reference, returns the formatting object
   for the current culture.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method is
      implemented to support the <see cref="T:System.IFormatProvider"/>
      interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetMonthName">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string GetMonthName(int32 month)"/>
					<MemberSignature Language="C#" Value="public string GetMonthName(int month);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="month" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Gets the full name of the specified month based on the
      culture of the current thread.</para>
						</summary>
						<param name="month">A <see cref="T:System.Int32"/> from 1 through 13 representing the month name to retrieve.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing the full name of the month represented by
<paramref name="month"/>. For cultures with 12-month calendars the empty string is
   returned as the name of the 13th month.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="month"/> is less than 1 or greater than 13.</exception>
						<remarks>
							<para>For the default (culture invariant) <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance, this method returns one of the
   following strings:</para>
							<list type="table">
								<listheader>
									<term>
										<paramref name="month"/>
									</term>
									<description>Return Value</description>
								</listheader>
								<item>
									<term> 1</term>
									<description>"January"</description>
								</item>
								<item>
									<term> 2</term>
									<description>"February"</description>
								</item>
								<item>
									<term> 3</term>
									<description>"March"</description>
								</item>
								<item>
									<term> 4</term>
									<description>"April"</description>
								</item>
								<item>
									<term> 5</term>
									<description>"May"</description>
								</item>
								<item>
									<term> 6</term>
									<description>"June"</description>
								</item>
								<item>
									<term> 7</term>
									<description>"July"</description>
								</item>
								<item>
									<term> 8</term>
									<description>"August"</description>
								</item>
								<item>
									<term> 9</term>
									<description>"September"</description>
								</item>
								<item>
									<term> 10</term>
									<description>"October"</description>
								</item>
								<item>
									<term> 11</term>
									<description>"November"</description>
								</item>
								<item>
									<term> 12</term>
									<description>"December"</description>
								</item>
								<item>
									<term> 13</term>
									<description>""</description>
								</item>
							</list>
							<para>
								<block subset="none" type="note"> This method supports calendars with 13 months.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="InvariantInfo">
					<MemberSignature Language="ILASM" Value=".property class System.Globalization.DateTimeFormatInfo InvariantInfo { public hidebysig static specialname class System.Globalization.DateTimeFormatInfo get_InvariantInfo() }"/>
					<MemberSignature Language="C#" Value="public static DateTimeFormatInfo InvariantInfo { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.DateTimeFormatInfo</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a culture invariant instance of <see cref="T:System.Globalization.DateTimeFormatInfo"/> that is read-only.</para>
						</summary>
						<value>
							<para>A read-only <see cref="T:System.Globalization.DateTimeFormatInfo"/> instance.</para>
						</value>
						<remarks>
							<para> This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsReadOnly">
					<MemberSignature Language="ILASM" Value=".property bool IsReadOnly { public hidebysig specialname instance bool get_IsReadOnly() }"/>
					<MemberSignature Language="C#" Value="public bool IsReadOnly { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current
<see cref="T:System.Globalization.DateTimeFormatInfo"/> instance is read-only.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Globalization.DateTimeFormatInfo"/> is read-only; otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LongDatePattern">
					<MemberSignature Language="ILASM" Value=".property string LongDatePattern { public hidebysig specialname instance string get_LongDatePattern() public hidebysig specialname instance void set_LongDatePattern(string value) }"/>
					<MemberSignature Language="C#" Value="public string LongDatePattern { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the format pattern for a long date value.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing the format pattern for a long date value.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para>The <see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> and <see cref="M:System.DateTime.ToString"/> methods associate the format
   pattern returned by this property with the 'D' format character.</para>
							<para>The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.LongDatePattern"/> is "dddd, dd MMMM yyyy".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LongTimePattern">
					<MemberSignature Language="ILASM" Value=".property string LongTimePattern { public hidebysig specialname instance string get_LongTimePattern() public hidebysig specialname instance void set_LongTimePattern(string value) }"/>
					<MemberSignature Language="C#" Value="public string LongTimePattern { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the format pattern for a long time value.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing the format pattern for a long time value.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para>The <see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> and <see cref="M:System.DateTime.ToString"/> methods associate the format
   pattern returned by this property with the 'T' format character.</para>
							<para>The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.LongTimePattern"/> is "HH:mm:ss".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MonthDayPattern">
					<MemberSignature Language="ILASM" Value=".property string MonthDayPattern { public hidebysig specialname instance string get_MonthDayPattern() public hidebysig specialname instance void set_MonthDayPattern(string value) }"/>
					<MemberSignature Language="C#" Value="public string MonthDayPattern { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the format pattern for a month and day value.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing the format pattern for a month and day value.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para>The <see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> and <see cref="M:System.DateTime.ToString"/> methods associate the format
   pattern returned by this property with the 'm' and 'M' format characters.</para>
							<para>The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.MonthDayPattern"/> is "MMMM dd". </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MonthNames">
					<MemberSignature Language="ILASM" Value=".property class System.String[] MonthNames { public hidebysig specialname instance class System.String[] get_MonthNames() public hidebysig specialname instance void set_MonthNames(class System.String[] value) }"/>
					<MemberSignature Language="C#" Value="public string[] MonthNames { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets a one-dimensional array of type <see cref="T:System.String"/>
containing the culture-specific full names of the months.</para>
						</summary>
						<value>
							<para>A one-dimensional array of type <see cref="T:System.String"/>
containing the full names of the months. For
cultures with 12-month calendars the 13th element of the array is an empty string.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.ArgumentException">The value specified for a set operation is not an array with exactly 13 elements.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para> The array specified in a set operation is required
      be one-dimensional and have exactly 13 elements.</para>
							<para> The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.MonthNames"/> is a <see cref="T:System.String"/> array that contains
   "January", "February", "March", "April", "May", "June", "July", "August",
   "September", "October", "November", "December" and "".</para>
							<para>
								<block subset="none" type="note"> The array
   returned by this property has 13 elements to support calendars with 13 months.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PMDesignator">
					<MemberSignature Language="ILASM" Value=".property string PMDesignator { public hidebysig specialname instance string get_PMDesignator() public hidebysig specialname instance void set_PMDesignator(string value) }"/>
					<MemberSignature Language="C#" Value="public string PMDesignator { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the culture-specific <see cref="T:System.String"/> designator for hours that are "post meridiem" (after noon).</para>
						</summary>
						<value>
							<para>The <see cref="T:System.String"/> designator for hours that are after noon.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para>The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.PMDesignator"/> is "PM".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadOnly">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Globalization.DateTimeFormatInfo ReadOnly(class System.Globalization.DateTimeFormatInfo dtfi)"/>
					<MemberSignature Language="C#" Value="public static DateTimeFormatInfo ReadOnly(DateTimeFormatInfo dtfi);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.DateTimeFormatInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="dtfi" Type="System.Globalization.DateTimeFormatInfo"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a read-only copy of the specified instance of
   <see cref="T:System.Globalization.DateTimeFormatInfo"/> .</para>
						</summary>
						<param name="dtfi">The <see cref="T:System.Globalization.DateTimeFormatInfo"/> to copy.</param>
						<returns>
							<para>A read-only instance of <see cref="T:System.Globalization.DateTimeFormatInfo"/> that is a copy of <paramref name="dtfi"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="dtfi"/> is a null reference.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">Use a read-only <see cref="T:System.Globalization.DateTimeFormatInfo"/> copy to prevent modifications to the
   specified instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ShortDatePattern">
					<MemberSignature Language="ILASM" Value=".property string ShortDatePattern { public hidebysig specialname instance string get_ShortDatePattern() public hidebysig specialname instance void set_ShortDatePattern(string value) }"/>
					<MemberSignature Language="C#" Value="public string ShortDatePattern { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the format pattern for a short date value.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing the format pattern for a short date value.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para>The <see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> and <see cref="M:System.DateTime.ToString"/> methods associate the format
   pattern returned by this property with the 'd' format character.</para>
							<para>The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.ShortDatePattern"/> is "MM/dd/yyyy".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ShortTimePattern">
					<MemberSignature Language="ILASM" Value=".property string ShortTimePattern { public hidebysig specialname instance string get_ShortTimePattern() public hidebysig specialname instance void set_ShortTimePattern(string value) }"/>
					<MemberSignature Language="C#" Value="public string ShortTimePattern { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the format pattern for a short time value.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing the format pattern for a short time value.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para>The <see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> and <see cref="M:System.DateTime.ToString"/> methods associate the format
   pattern returned by this property with the 't' format character.</para>
							<para>The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.ShortTimePattern"/> is "HH:mm". </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TimeSeparator">
					<MemberSignature Language="ILASM" Value=".property string TimeSeparator { public hidebysig specialname instance string get_TimeSeparator() public hidebysig specialname instance void set_TimeSeparator(string value) }"/>
					<MemberSignature Language="C#" Value="public string TimeSeparator { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the culture-specific <see cref="T:System.String"/> to use to separate the components of time values (hour, minutes, seconds).</para>
						</summary>
						<value>
							<para>The <see cref="T:System.String"/> to use to separate the components of time; that is, the hour, the minutes and the seconds.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para>The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.TimeSeparator"/> is ":".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="YearMonthPattern">
					<MemberSignature Language="ILASM" Value=".property string YearMonthPattern { public hidebysig specialname instance string get_YearMonthPattern() public hidebysig specialname instance void set_YearMonthPattern(string value) }"/>
					<MemberSignature Language="C#" Value="public string YearMonthPattern { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the format pattern for a year and month value.</para>
						</summary>
						<value>
							<para> The format pattern for a year and month value.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted. </exception>
						<remarks>
							<para>The <see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> and <see cref="M:System.DateTime.ToString"/>
methods associate the format pattern returned by this property with the
'y' and 'Y' format character.</para>
							<para>The property value of the culture invariant <see cref="P:System.Globalization.DateTimeFormatInfo.YearMonthPattern"/> is "yyyy MMMM". </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="DateTimeStyles" FullName="System.Globalization.DateTimeStyles" FullNameSP="System_Globalization_DateTimeStyles">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable DateTimeStyles extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum DateTimeStyles"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Defines the formatting options that customize how the
   <see cref="M:System.DateTime.Parse(System.String)"/>
   and <see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> methods parse a string.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>See the <see cref="T:System.String"/> class for the list of white space characters.</para>
						<para>Only the <see cref="F:System.Globalization.DateTimeStyles.NoCurrentDateDefault"/> option affects the <see cref="M:System.DateTime.Parse(System.String)"/> method.
<see cref="M:System.DateTime.Parse(System.String)"/> always 
   ignores leading, inner, and trailing white spaces.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>FlagsAttribute</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="AdjustToUniversal">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.DateTimeStyles AdjustToUniversal = 0x10"/>
					<MemberSignature Language="C#" Value="AdjustToUniversal = 0x10;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.DateTimeStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AdjustToUniversal</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that the date and time must be converted to 
      universal time coordinate time or Greenwich mean time (GMT)</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowInnerWhite">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.DateTimeStyles AllowInnerWhite = 0x4"/>
					<MemberSignature Language="C#" Value="AllowInnerWhite = 0x4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.DateTimeStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllowInnerWhite</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that extra white space characters not specified
      in the <see cref="T:System.Globalization.DateTimeFormatInfo"/> format patterns are allowed.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowLeadingWhite">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.DateTimeStyles AllowLeadingWhite = 0x1"/>
					<MemberSignature Language="C#" Value="AllowLeadingWhite = 0x1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.DateTimeStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllowLeadingWhite</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that leading white space characters are allowed.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowTrailingWhite">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.DateTimeStyles AllowTrailingWhite = 0x2"/>
					<MemberSignature Language="C#" Value="AllowTrailingWhite = 0x2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.DateTimeStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllowTrailingWhite</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that trailing white space characters are allowed.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowWhiteSpaces">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.DateTimeStyles AllowWhiteSpaces = AllowLeadingWhite | AllowTrailingWhite | AllowInnerWhite"/>
					<MemberSignature Language="C#" Value="AllowWhiteSpaces = AllowLeadingWhite | AllowTrailingWhite | AllowInnerWhite;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.DateTimeStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllowWhiteSpaces</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that white space characters anywhere in the
      string are allowed.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NoCurrentDateDefault">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.DateTimeStyles NoCurrentDateDefault = 0x8"/>
					<MemberSignature Language="C#" Value="NoCurrentDateDefault = 0x8;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.DateTimeStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NoCurrentDateDefault</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that there is no current date default. If a
      string contains only the time and not the date, and this option is used with the
   <see cref="M:System.DateTime.Parse(System.String)"/> or <see cref="M:System.DateTime.ParseExact(System.String,System.String,System.IFormatProvider)"/> methods, a Gregorian year 1, month 1, day
      1 date is assumed. In all other cases the methods assume the current local system date.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="None">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.DateTimeStyles None = 0x0"/>
					<MemberSignature Language="C#" Value="None = 0x0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.DateTimeStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>None</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that the default formatting options are to be used.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Decoder" FullName="System.Text.Decoder" FullNameSP="System_Text_Decoder">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable Decoder extends System.Object"/>
			<TypeSignature Language="C#" Value="public abstract class Decoder"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Converts blocks of bytes into blocks of characters,
      maintaining state across successive calls for reading from a <see cref="T:System.IO.Stream"/>.
      </para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">Following instantiation of a decoder,
      sequential blocks of bytes are converted into blocks of characters through calls
      to the <see cref="M:System.Text.Decoder.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/> method. The decoder maintains state between the
      conversions, allowing it to correctly decode a character whose bytes span
      multiple blocks. This greatly assists decoding streams of bytes into
      characters. An instance of a specific implementation of the
   <see cref="T:System.Text.Decoder"/>
   class is typically obtained through a call to the <see cref="M:System.Text.Encoding.GetDecoder"/>
   method of a <see cref="T:System.Text.Encoding"/> object.</block>
					</para>
				</remarks>
				<example>
					<para> The following example demonstrates using the <see cref="T:System.Text.UTF8Encoding"/>
implementation of the <see cref="T:System.Text.Decoder"/> class to convert two byte arrays to a character
array, where one character's bytes span multiple byte arrays. This demonstrates
how to use a <see cref="T:System.Text.Decoder"/>
in streaming-like situations.</para>
					<code lang="C#">
using System;
using System.Text;

public class DecoderExample 
{
   public static void Main() 
   {
      // These bytes in UTF-8 correspond to 3 different
      // Unicode characters - A (U+0041), # (U+0023),
      // and the biohazard symbol (U+2623). Note the 
      // biohazard symbol requires 3 bytes in UTF-8 
      // (in hex, e2, 98, a3). Decoders store state across
      // multiple calls to GetChars, handling the case 
      // when one char spans multiple byte arrays.

      byte[] bytes1 = { 0x41, 0x23, 0xe2 };
      byte[] bytes2 = { 0x98, 0xa3 };
      char[] chars = new char[3]; 

      Decoder d = Encoding.UTF8.GetDecoder();
      int charLen = d.GetChars(bytes1, 0, bytes1.Length,
                               chars, 0);
      // charLen is 2.

      charLen += d.GetChars(bytes2, 0, bytes2.Length,
                            chars, charLen);
      // charLen is now 3. 

      foreach(char c in chars) 
         Console.Write("U+{0:x} ", (ushort)c);
   }
}
</code>
					<para>The output is </para>
					<c>
						<para>U+41 U+23 U+2623</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="protected Decoder();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs a new instance of the <see cref="T:System.Text.Decoder"/> class.
   </para>
						</summary>
						<remarks>
							<para>This constructor is called only by classes that inherit from the <see cref="T:System.Text.Decoder"/> class.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetCharCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 GetCharCount(class System.Byte[] bytes, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public abstract int GetCharCount(byte[] bytes, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines the exact number of characters that will be produced by
      decoding the specified range of the specified array of
      bytes.
      </para>
						</summary>
						<param name="bytes">A <see cref="T:System.Byte"/> array to decode. </param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the first index in <paramref name="bytes"/> to decode. </param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number elements in <paramref name="bytes"/> to decode. </param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing 
   the number of characters the next call to <see cref="M:System.Text.Decoder.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/> will produce if presented with the
   specified range of <paramref name="bytes"/>
   .</para>
							<para>
								<block subset="none" type="note">This value takes into account the state in which the current instance was
   left following the last call to <see cref="M:System.Text.Decoder.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)" qualify="true"/>. This
   contrasts with <see cref="M:System.Text.Encoding.GetChars(System.Byte[])" qualify="true"/>, which does not maintain state information
   across subsequent calls.</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="bytes"/> is <see langword="null"/> . </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="count"/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="index "/>and <paramref name="count "/>do not specify a valid range in <paramref name="bytes"/> (i.e. (<paramref name="index"/> + <paramref name="count"/>) &gt; <paramref name="bytes"/>.Length).</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this
      method
      
      to return the appropriate value for a
      particular encoding.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to
      determine the appropriate size of a buffer to contain the
      decoded values.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetChars">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 GetChars(class System.Byte[] bytes, int32 byteIndex, int32 byteCount, class System.Char[] chars, int32 charIndex)"/>
					<MemberSignature Language="C#" Value="public abstract int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
						<Parameter Name="byteCount" Type="System.Int32"/>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="charIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Decodes the specified range of the specified array of bytes into the specified range
      of the specified array of characters for a particular encoding.
      </para>
						</summary>
						<param name="bytes">A <see cref="T:System.Byte"/> array to decode. </param>
						<param name="byteIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="bytes"/> from which to decode. </param>
						<param name="byteCount">A <see cref="T:System.Int32"/> that specifies the number elements in <paramref name="bytes"/> to decode. </param>
						<param name="chars">A <see cref="T:System.Char"/> array of characters to decode into. </param>
						<param name="charIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="chars"/> to store the decoded bytes. </param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing
   the number of characters decoded into <paramref name="chars"/> for a
   particular encoding.
   </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="chars"/> does not contain sufficient space to store the decoded characters.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="bytes "/>is <see langword="null"/> . </para>
							<para>-or- </para>
							<para>
								<paramref name="chars "/>is <see langword="null"/> . </para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="byteIndex"/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="byteCount "/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="charIndex "/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="byteIndex"/> and <paramref name="byteCount"/> do not specify a valid range in <paramref name="bytes"/> (i.e. (<paramref name="byteIndex "/>+ <paramref name="byteCount "/> ) &gt; <paramref name="bytes"/>.Length). </para>
							<para>-or- </para>
							<para>
								<paramref name="charIndex"/> &gt; <paramref name="chars"/>.Length.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">
									<see cref="M:System.Text.Decoder.GetCharCount(System.Byte[],System.Int32,System.Int32)"/> can be used to determine the exact number of
   characters that will be produced for a specified range of bytes.
   Alternatively, <see cref="M:System.Text.Encoding.GetMaxCharCount(System.Int32)"/> of the <see cref="T:System.Text.Encoding"/> object that produced the current instance can be used to
   determine the maximum number of characters that may be produced for a specified
   number of bytes, regardless of the actual byte values.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this method to decode the values of a <see cref="T:System.Byte"/> array for a
particular encoding.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to
   decode the elements of a byte array for a particular encoding.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Delegate" FullName="System.Delegate" FullNameSP="System_Delegate">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable Delegate extends System.Object implements System.ICloneable"/>
			<TypeSignature Language="C#" Value="public abstract class Delegate : ICloneable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> A class used to create types that invoke methods.</para>
				</summary>
				<remarks>
					<para>Delegate types derive from the <see cref="T:System.Delegate"/> class. The declaration of a delegate type
   establishes a contract that specifies the signature of one or more methods. <block subset="none" type="note"> For an example of a delegate type
   declaration, see the examples at the end of this topic.</block>
					</para>
					<para>Delegate types are implicitly sealed: it is not permissible to derive a new
   type from a delegate type. <block subset="none" type="note"> The <see cref="T:System.Delegate"/> class is not
   considered a delegate type; it is a class used to derive delegate
   types.</block>
					</para>
					<para>
						<block subset="none" type="note"> For information on subclassing the Delegate class,
   see Partition II of the CLI Specification.</block>
					</para>
					<para>A delegate is an instance of a delegate type. A non-null
   delegate references an <paramref name="invocation list"/>, which is made up of one or more
   entries. Each entry consists of a pair of values: a non-null method, and a
   corresponding object, called the <paramref name="target"/>. If the method is static, the
   corresponding target is <see langword=" null"/>
   , otherwise the target is the instance
   on which the method is to be called.</para>
					<para>The signature of each method in the invocation list is required to exactly
   match the signature specified by the delegate's type.</para>
					<para>When a delegate is invoked, the methods in the corresponding invocation list
   are invoked in the order in which they appear in that list. A delegate attempts
   to invoke every method in its invocation list, with duplicate methods being
   invoked once for each occurrence in that list.</para>
					<para>Delegates are immutable; once created, the invocation list of a delegate does
   not change. Combining operations, such as <see cref="M:System.Delegate.Combine(System.Delegate,System.Delegate)"/> and
<see cref="M:System.Delegate.Remove(System.Delegate,System.Delegate)"/>, cannot alter existing delegates. Instead, such operations 
   result in the return of either a new delegate that contains the results
   of the operation, an existing delegate, or the null value. <block subset="none" type="note"> A combining operation returns the null value when the
   result of the operation is an empty invocation list. A combining operation
   returns an existing delegate when the requested operation has no effect (for
   example, if an attempt is made to remove a nonexistent entry).</block>
					</para>
					<para> If an invoked method throws an exception, the
   method stops executing and the exception is passed back to the caller of the
   delegate. The delegate does not continue invoking methods from its invocation
   list. Catching the exception in the caller does not alter this behavior. It is
   possible that non-standard methods that implement combining operations allow the
   creation of delegates with different behavior. When this is the case, the
   non-standard methods are required to specify the behavior.</para>
					<para>When the signature of the methods invoked by a delegate includes a return value,
   the delegate returns the return value of the last element in the invocation
   list. When the signature includes a parameter that is passed by reference,
   the final value of the parameter is the result of every method in the invocation
   list executing sequentially and updating the parameter's value.
   <block subset="none" type="note"> For an example that
      demonstrates this behavior, see Example 2.</block>
					</para>
				</remarks>
				<example>
					<para>
						<see langword="Example1: "/>
					</para>
					<para>The following example creates two delegates. The first
   delegate invokes a static method, and the second invokes an instance method on a target object.</para>
					<code lang="C#">using System;
public delegate string DelegatedMethod(string s);
class MyClass {
 public static string StaticMethod(string s) {
 return ("Static method Arg=" + s);
 }
 public string InstanceMethod(string s) {
 return ("Instance method Arg=" + s);
 }
}
class TestClass {
 public static void Main() {
 MyClass myInstance = new MyClass();
 //Create delegates from delegate type DelegatedMethod.
 DelegatedMethod delStatic = new DelegatedMethod(MyClass.StaticMethod); 
 DelegatedMethod delInstance = new DelegatedMethod(myInstance.InstanceMethod);
 //Invoke the methods referenced by the delegates.
 Console.WriteLine (delStatic("Call 1"));
 Console.WriteLine (delInstance ("Call 2"));
 }
}
</code>
					<para> The output is</para>
					<c>
						<para>Static method Arg=Call 1</para>
						<para>Instance method Arg=Call 2</para>
					</c>
					<para>
						<see langword="Example2:"/>
					</para>
					<para>The following example shows the return value and the
   final value of a parameter that is passed by reference to a delegate that invokes multiple methods.</para>
					<code lang="C#">using System;
class MyClass {
 public int Increment(ref int i) {
   Console.WriteLine("Incrementing {0}",i);
   return (i++);
 }
 public int Negate(ref int i) {
   Console.WriteLine("Negating {0}",i);
   i = i * -1;
   return i;
 }
}

public delegate int DelegatedMethod(ref int i);
class TestClass {
 public static void Main() {
   MyClass myInstance = new MyClass();
   DelegatedMethod delIncrementer = new DelegatedMethod(myInstance.Increment);
   DelegatedMethod delNegater = new DelegatedMethod(myInstance.Negate);
   DelegatedMethod d = (DelegatedMethod) Delegate.Combine(delIncrementer, delNegater);
   int i = 1;
   Console.WriteLine("Invoking delegate using ref value {0}",i);
   int retvalue = d(ref i); 
   Console.WriteLine("After Invoking delegate i = {0} return value is {1}",i, retvalue);
  }
}
</code>
					<para> The output is</para>
					<c>
						<para>Invoking delegate using ref value 1</para>
						<para>Incrementing 1</para>
						<para>Negating 2</para>
						<para>After Invoking delegate i = -2 return value is -2</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.ICloneable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Attributes/>
			<Members>
				<Member MemberName="Clone">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual object Clone()"/>
					<MemberSignature Language="C#" Value="public virtual object Clone();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Creates a copy of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Object"/> that is a copy of the current instance.</para>
						</returns>
						<remarks>
							<para>The <see cref="M:System.Delegate.Clone"/> method creates a new instance of the
   same type as the current instance and then copies the contents of each of the current instance's non-static fields.</para>
							<para>
								<block subset="none" type="note"> This method is
   implemented to support the <see cref="T:System.ICloneable"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">The returned object must have the exact same type and invocation list as the current instance.</block>
							</para>
							<para>
								<block subset="none" type="default">
   The default implementation of the <see cref="M:System.Delegate.Clone"/> method creates a new instance, which is the
   exact same type as the current instance, and then copies the contents of each of
   the current instance's non-static fields. If the field is a value type, a
   bit-by-bit copy of the field is performed. If the field is a reference type, the
   object referenced by the field is not copied; instead, the returned object
   contains a copy of the reference. This behavior is identical to <see cref="M:System.Object.MemberwiseClone"/> .
</block>
							</para>
							<para>
								<block subset="none" type="overrides">
   Subclasses of
<see cref="T:System.Delegate"/> should
   override <see cref="M:System.Delegate.Clone"/> to customize the way in which copies of the subclass are constructed.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Combine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Delegate Combine(class System.Delegate a, class System.Delegate b)"/>
					<MemberSignature Language="C#" Value="public static Delegate Combine(Delegate a, Delegate b);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Delegate</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="a" Type="System.Delegate"/>
						<Parameter Name="b" Type="System.Delegate"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Concatenates the invocation lists of the specified
      delegates.</para>
						</summary>
						<param name="a">The delegate whose invocation list will be first in the invocation list of the new delegate.</param>
						<param name="b">The delegate whose invocation list will be last in the invocation list of the new delegate.</param>
						<returns>
							<para>A delegate, or <see langword="null"/> .</para>
							<para>The following table describes the value returned
   when <paramref name="a"/> or <paramref name="b"/> is
<see langword="null"/>
.</para>
							<list type="table">
								<listheader>
									<term>a</term>
									<description>b</description>
									<description>Return Value</description>
								</listheader>
								<item>
									<term> null</term>
									<description>null</description>
									<description>null</description>
								</item>
								<item>
									<term> null</term>
									<description>non-null</description>
									<description>
										<paramref name="b"/>
									</description>
								</item>
								<item>
									<term> non-null</term>
									<description>null</description>
									<description>
										<paramref name="a"/>
									</description>
								</item>
							</list>
							<para>When <paramref name="a"/> and <paramref name="b"/> are non-null, this method
returns a new delegate with the concatenated invocation lists of <paramref name="a"/> and
<paramref name="b"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="a"/> and <paramref name="b"/> are not of the same type.</para>
						</exception>
						<remarks>
							<para>Unless <paramref name="a"/> or <paramref name="b"/> is <see langword="null"/> , <paramref name="a"/> and
<paramref name="b"/> are required 
   to be the exact same type.</para>
							<para>Consider the following situation, in which D1, D2, D3, D4, and D5 are
   delegate instances of the same type, D1's invocation list has one entry, E1, and
   D2's invocation list has one entry, E2.</para>
							<para>Then, D3 = Combine(D1, D2) results in D3's having an invocation list of E1 +
   E2.</para>
							<para>Then, D4 = Combine(D2, D1) results in D4's having an invocation list of E2 +
   E1.</para>
							<para>Then, D5 = Combine(D3, D4) results in D5's having an invocation list of E1 +
   E2 + E2 + E1.</para>
							<block subset="none" type="note">
								<para> The invocation list of the returned
      delegate may contain duplicate methods.
      </para>
								<para>
									<see cref="M:System.Delegate.Combine(System.Delegate,System.Delegate)"/> is useful for creating event handlers that call multiple
   methods each time an event occurs.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Combine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Delegate Combine(class System.Delegate[] delegates)"/>
					<MemberSignature Language="C#" Value="public static Delegate Combine(Delegate[] delegates);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Delegate</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="delegates" Type="System.Delegate[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Concatenates the invocation lists of the specified
      delegates.</para>
						</summary>
						<param name="delegates">An array of delegates of the exact same type.</param>
						<returns>
							<para>A new delegate, or <see langword="null"/> if <paramref name="delegates"/> is <see langword="null"/> or has only
<see langword="null"/> 
elements.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>The delegates in <paramref name="delegates"/> are not of the same type.</para>
						</exception>
						<remarks>
							<para>The invocation list of the returned delegate is
      constructed by concatenating the invocation lists of the delegates in
      <paramref name="delegates"/>, in increasing subscript order. For example, consider the
      following situation, in which the elements of delegates have the following
      invocation lists (where En represents an entry in an invocation list, and null
      represents an empty invocation list): [0] = E1, [1] = null, [2] = E2 + E3, and
      [3] = E4 + E5 + E6. When these elements are combined, the resulting delegate
      contains the invocation list E1 + E2 + E3 + E4 + E5 + E6. </para>
							<para>Null elements in <paramref name="delegates"/> are not included in the returned
   delegate. </para>
							<para>
								<block subset="none" type="note"> The invocation list of the returned
   delegate may contain duplicate methods.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CreateDelegate">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Delegate CreateDelegate(class System.Type type, object target, string method)"/>
					<MemberSignature Language="C#" Value="public static Delegate CreateDelegate(Type type, object target, string method);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Delegate</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="type" Type="System.Type"/>
						<Parameter Name="target" Type="System.Object"/>
						<Parameter Name="method" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a new delegate with the specified target
      and instance method as its invocation list.</para>
						</summary>
						<param name="type">The <see cref="T:System.Type"/> of the delegate to return. This <see cref="T:System.Type"/> is required to derive from <see cref="T:System.Delegate"/> .</param>
						<param name="target">An instance of an object that implements <paramref name="method"/> .</param>
						<param name="method">A <see cref="T:System.String"/> containing the name of the instance method to be invoke on <paramref name="target"/> .</param>
						<returns>
							<para>A <see cref="T:System.Delegate"/> of type
<paramref name="type"/> that invokes <paramref name="method"/> on <paramref name="target"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="type, target, or method"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="type"/> does not derive from <see cref="T:System.Delegate"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="method"/> is not an instance method.</para>
							<para>-or-</para>
							<para>
								<paramref name="target"/> does not implement <paramref name="method"/>.</para>
						</exception>
						<exception cref="T:System.MethodAccessException">
							<para>The caller does not have the required permission.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is used to dynamically
      create delegates that invoke instance methods. To create a delegate that invokes
      static methods, see <see cref="M:System.Delegate.CreateDelegate(System.Type,System.Object,System.String)"/>(<see cref="T:System.Type"/>, <see cref="T:System.Type"/>, <see cref="T:System.String"/>).</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to access type information. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.MemberAccess"/>
						</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="CreateDelegate">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Delegate CreateDelegate(class System.Type type, class System.Type target, string method)"/>
					<MemberSignature Language="C#" Value="public static Delegate CreateDelegate(Type type, Type target, string method);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Delegate</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="type" Type="System.Type"/>
						<Parameter Name="target" Type="System.Type"/>
						<Parameter Name="method" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a new delegate with the specified
      static method as its invocation list.</para>
						</summary>
						<param name="type">The <see cref="T:System.Type"/> of delegate to return. This <see cref="T:System.Type"/> is required to derive from <see cref="T:System.Delegate"/> .</param>
						<param name="target">A <see cref="T:System.Type"/> representing the class that implements <paramref name="method"/> .</param>
						<param name="method">A <see cref="T:System.String"/> containing the name of the static method implemented by <paramref name="target"/> .</param>
						<returns>
							<para>A <see cref="T:System.Delegate"/> of type <paramref name="type"/> that invokes <paramref name="method."/>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="type, target, or method"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="type"/> does not derive from <see cref="T:System.Delegate"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="method"/> is not a static method.</para>
							<para> -or-</para>
							<para>
								<paramref name="target"/> does not implement <paramref name="method"/> .</para>
						</exception>
						<exception cref="T:System.MethodAccessException">
							<para>The caller does not have the required permission.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is used to dynamically
      create delegates that invoke static methods. To create a delegate that invokes
      instance methods, see <see cref="M:System.Delegate.CreateDelegate(System.Type,System.Object,System.String)"/>(<see cref="T:System.Type"/>, <see cref="T:System.Object"/>, <see cref="T:System.String"/>).</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to access type information. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.MemberAccess"/>
						</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="CreateDelegate">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Delegate CreateDelegate(class System.Type type, class System.Reflection.MethodInfo method)"/>
					<MemberSignature Language="C#" Value="public static Delegate CreateDelegate(Type type, MethodInfo method);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Delegate</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="type" Type="System.Type"/>
						<Parameter Name="method" Type="System.Reflection.MethodInfo"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a new delegate with the specified static
      method as its invocation list.</para>
						</summary>
						<param name="type">The <see cref="T:System.Type"/> of <see cref="T:System.Delegate"/> to return. This <see cref="T:System.Type"/> is required to derive from <see cref="T:System.Delegate"/> .</param>
						<param name="method">A <see cref="T:System.Reflection.MethodInfo"/> that reflects a static method.</param>
						<returns>
							<para>A <see cref="T:System.Delegate"/> of type <paramref name="type"/> that invokes <paramref name="method."/>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="type"/> or <paramref name="method"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="type"/> does not derive from <see cref="T:System.Delegate"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="method"/> does not reflect a static method.</para>
						</exception>
						<exception cref="T:System.ExecutionEngineException">
							<para>The <see langword="Invoke"/> method of the <paramref name="type"/> delegate was not found.</para>
						</exception>
						<exception cref="T:System.MethodAccessException">
							<para>The caller does not have the required permission.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is used to dynamically
      create delegates that invoke static methods. To create a delegate that invokes
      instance methods, see <see cref="M:System.Delegate.CreateDelegate(System.Type,System.Object,System.String)"/>(<see cref="T:System.Type"/>, <see cref="T:System.Object"/>, <see cref="T:System.String"/>).</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to access type information. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.MemberAccess"/>
						</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="DynamicInvoke">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance object DynamicInvoke(class System.Object[] args)"/>
					<MemberSignature Language="C#" Value="public object DynamicInvoke(object[] args);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="args" Type="System.Object[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Causes a delegate to invoke the methods in its invocation
      list using the specified arguments.</para>
						</summary>
						<param name="args">
							<para>An array of <see cref="T:System.Object"/> instances that are to be passed to the methods in the invocation list of the current instance. Specify <see langword="null"/> if the methods invoked by the current instance do not take arguments.</para>
						</param>
						<returns>
							<para>The <see cref="T:System.Object"/> returned by the
   last method in the invocation list of the current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>The type of one or more elements in <paramref name="args"/> is invalid as a parameter to the methods implemented by the current instance.</para>
						</exception>
						<exception cref="T:System.MethodAccessException">
							<para>The caller does not have the required permissions.</para>
							<para>-or-</para>
							<para>The number, order or type of parameters listed in <paramref name="args"/> is invalid.</para>
						</exception>
						<exception cref="T:System.Reflection.TargetException">
							<para>A method in the invocation list of the current instance is an instance method and its target object is <see langword="null"/>.</para>
							<para>-or-</para>
							<para>A method in the invocation list of the current instance was invoked on a target object or a class that does not implement it.</para>
						</exception>
						<exception cref="!:System.Reflection.TargetParamterCountException">
							<para> The number of elements in <paramref name="args"/> is not equal to the number of parameters required by the methods invoked by the current instance.</para>
						</exception>
						<exception cref="T:System.Reflection.TargetInvocationException">A method in the invocation list of the current instance threw an exception.</exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the
      specified object is equal to the current instance.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> to compare with the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> is equal to the
   current instance, otherwise <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>Two delegates are equal if they are not null and are of
      the exact same type, their invocation lists contain the same number of elements,
      and every element in the invocation list of the first delegate is equal to
      the element in the corresponding position in the invocation list of the second delegate.</para>
							<para> Two invocation list elements are equal if they invoke the same
      instance method on the same target instance, or they invoke the same static method.</para>
							<para>
								<block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/>
      .</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for this instance.</para>
						</returns>
						<remarks>
							<para> The algorithm used to
      generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.GetHashCode"/>
      
      .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetInvocationList">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Delegate[] GetInvocationList()"/>
					<MemberSignature Language="C#" Value="public virtual Delegate[] GetInvocationList();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Delegate[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns the invocation list of the current delegate.</para>
						</summary>
						<returns>
							<para>An ordered set of <see cref="T:System.Delegate"/> instances whose invocation lists collectively match those of the current delegate.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">
      The
      array contains a set of delegates, each having an invocation list of one
      entry. Invoking these delegates sequentially, in the order in which they appear in the
      array, produces the same results as invoking the current delegate.
   </block>
							</para>
							<para>
								<block subset="none" type="overrides">
      Override <see cref="M:System.Delegate.GetInvocationList"/>
      when subclassing Delegate.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Method">
					<MemberSignature Language="ILASM" Value=".property class System.Reflection.MethodInfo Method { public hidebysig specialname instance class System.Reflection.MethodInfo get_Method() }"/>
					<MemberSignature Language="C#" Value="public MethodInfo Method { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.MethodInfo</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the last method in a delegate's invocation 
      list.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Reflection.MethodInfo"/>
.</para>
						</value>
						<exception cref="T:System.MemberAccessException">The caller does not have the required permissions.</exception>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to access type information. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="op_Equality">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_Equality(class System.Delegate d1, class System.Delegate d2)"/>
					<MemberSignature Language="C#" Value="public static bool operator ==(Delegate d1, Delegate d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Delegate"/>
						<Parameter Name="d2" Type="System.Delegate"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the specified delegates are equal.</para>
						</summary>
						<param name="d1">The first delegate to compare.</param>
						<param name="d2">The second delegate to compare.</param>
						<returns>
							<para>
								<see langword="true"/> if
<paramref name="d1"/>.Equals(<paramref name="d2"/>) returns <see langword="true"/>; 
   otherwise, <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Delegate.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Inequality">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_Inequality(class System.Delegate d1, class System.Delegate d2)"/>
					<MemberSignature Language="C#" Value="public static bool operator !=(Delegate d1, Delegate d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Delegate"/>
						<Parameter Name="d2" Type="System.Delegate"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the specified Delegates are not equal.</para>
						</summary>
						<param name="d1">The first delegate to compare.</param>
						<param name="d2">The second delegate to compare.</param>
						<returns>
							<para>
								<see langword="true"/> if
<paramref name="d1"/>.Equals(<paramref name="d2"/>) returns 
<see langword="false"/>; otherwise, <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> See <see cref="M:System.Delegate.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Remove">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Delegate Remove(class System.Delegate source, class System.Delegate value)"/>
					<MemberSignature Language="C#" Value="public static Delegate Remove(Delegate source, Delegate value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Delegate</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="source" Type="System.Delegate"/>
						<Parameter Name="value" Type="System.Delegate"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Removes the invocation list of a <see cref="T:System.Delegate"/> from the
   invocation list of another delegate.</para>
						</summary>
						<param name="source">The delegate from which to remove the invocation list of <paramref name="value"/>.</param>
						<param name="value">The delegate that supplies the invocation list to remove from <paramref name="source"/>.</param>
						<returns>
							<para>Returns a new delegate, <paramref name="source"/>, or <see langword="null"/> . </para>
							<para>If <paramref name="source"/> and <paramref name="value"/> are not <see langword="null"/> , are not equal, and the
invocation list of <paramref name="value"/> is contained in the invocation list of source,
returns a new delegate with the invocation list of <paramref name="value"/> removed from
the invocation list of <paramref name="source"/>.</para>
							<para>If the invocation lists of <paramref name="source"/> and <paramref name="value"/> are equal,
returns <see langword="null"/>
.</para>
							<para>If the invocation list of <paramref name="value"/> is not found in the invocation list
of <paramref name="source"/>, returns <paramref name="source"/>.</para>
							<para>The following table describes the value returned when <paramref name="source"/> or
<paramref name="value"/> is 
<see langword="null"/> .</para>
							<list type="table">
								<listheader>
									<term>
										<paramref name="source"/>
									</term>
									<description>
										<paramref name="value"/>
									</description>
									<description>Return value</description>
								</listheader>
								<item>
									<term> null</term>
									<description>null</description>
									<description>null</description>
								</item>
								<item>
									<term> null</term>
									<description>non-null</description>
									<description>null</description>
								</item>
								<item>
									<term> non-null</term>
									<description>null</description>
									<description>
										<paramref name="source"/>
									</description>
								</item>
							</list>
						</returns>
						<remarks>
							<para>The invocation list of <paramref name="value"/> is required to be
   an exact match of a contiguous set of elements in the invocation list of
 <paramref name="source"/>. If the invocation list of <paramref name="value"/> occurs more than once 
   in the invocation list of <paramref name="source"/>, the last occurrence is removed.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Delegate.Remove(System.Delegate,System.Delegate)"/> method.</para>
							<code lang="C#">using System;
class MyClass {
    public string InstanceMethod(string s) {
    return ("Instance String " + s);
    }
}
class MyClass2 {
    public string InstanceMethod2(string s) {
    return ("Instance String2 " + s);
    }
}
public delegate string DelegatedMethod(string s);

class TestClass {
    public static void WriteDelegate (string label, Delegate d) {
    Console.WriteLine("Invocation list targets for {0}:",label);
    foreach(Delegate x in d.GetInvocationList())
        Console.WriteLine("{0}",x.Target);
    }

    public static void Main() {
    MyClass myInstance = new MyClass();
    DelegatedMethod delInstance = new DelegatedMethod(myInstance.InstanceMethod);
    MyClass2 myInstance2 = new MyClass2();
    DelegatedMethod delInstance2 = new DelegatedMethod(myInstance2.InstanceMethod2);
    DelegatedMethod [] sourceArray = {delInstance, delInstance2, delInstance2, delInstance};
    DelegatedMethod [] remove1 = {delInstance};
    DelegatedMethod [] remove2 = {delInstance2, delInstance2};
    DelegatedMethod [] remove3 = {delInstance2, delInstance};
    DelegatedMethod [] remove4 = {delInstance, delInstance2};
    DelegatedMethod [] remove5 = {delInstance, delInstance};
    Delegate source = Delegate.Combine(sourceArray);
    // Display invocation list of source
    TestClass.WriteDelegate("source", source);
    //Test 1: value occurs in source twice.
    Delegate value1 = Delegate.Combine(remove1);
    Delegate result1 = Delegate.Remove(source, value1);
    TestClass.WriteDelegate("value1", value1);
    if (result1==null) {
        Console.WriteLine("removal test 1 result is null");
    } else {
        TestClass.WriteDelegate("result1", result1);
    }
    //Test 2: value matches the middle two elements of source.
    Delegate value2 = Delegate.Combine(remove2);
    Delegate result2 = Delegate.Remove(source, value2);
    TestClass.WriteDelegate("value2", value2);
    if (result2==null) {
        Console.WriteLine("removal test 2 result2 is null");
    } else {
        TestClass.WriteDelegate("result2", result2);
    }
    //Test 3: value matches the last two elements of source.
    Delegate value3 = Delegate.Combine(remove3);
    Delegate result3 = Delegate.Remove(source, value3);
    TestClass.WriteDelegate("value3", value3);
    if (result3==null) {
        Console.WriteLine("removal test 3 result3 is null");
    } else {
        TestClass.WriteDelegate("result3", result3);
    }
    //Test 4: value matches the first two elements of source.
    Delegate value4 = Delegate.Combine(remove4);
    Delegate result4 = Delegate.Remove(source, value4);
    TestClass.WriteDelegate("value4", value4);
    if (result4==null) {
        Console.WriteLine("removal test 4 result4 is null");
    } else {
        TestClass.WriteDelegate("result4", result4);
    }
    //Test 5: value does not occur in source.
    Delegate value5 = Delegate.Combine(remove5);
    Delegate result5 = Delegate.Remove(source, value5);
    TestClass.WriteDelegate("value5", value5);
    if (result5==null) {
        Console.WriteLine("removal test 5 result5 is null");
    } else {
        TestClass.WriteDelegate("result5", result5);
    }
    //Test 6: value exactly matches source.
    Delegate result6 = Delegate.Remove(source, source);
    TestClass.WriteDelegate("value=source", source);
    if (result6==null) {
        Console.WriteLine("removal test 6 result6 is null");
    } else {

        TestClass.WriteDelegate("result6", result6);
    }
}
}
</code>
							<para>The output is</para>
							<c>
								<para>Invocation list targets for source:</para>
								<para>MyClass</para>
								<para>MyClass2</para>
								<para>MyClass2</para>
								<para>MyClass</para>
								<para>Invocation list targets for value1:</para>
								<para>MyClass</para>
								<para>Invocation list targets for result1:</para>
								<para>MyClass</para>
								<para>MyClass2</para>
								<para>MyClass2</para>
								<para>Invocation list targets for value2:</para>
								<para>MyClass2</para>
								<para>MyClass2</para>
								<para>Invocation list targets for result2:</para>
								<para>MyClass</para>
								<para>MyClass</para>
								<para>Invocation list targets for value3:</para>
								<para>MyClass2</para>
								<para>MyClass</para>
								<para>Invocation list targets for result3:</para>
								<para>MyClass</para>
								<para>MyClass2</para>
								<para>Invocation list targets for value4:</para>
								<para>MyClass</para>
								<para>MyClass2</para>
								<para>Invocation list targets for result4:</para>
								<para>MyClass2</para>
								<para>MyClass</para>
								<para>Invocation list targets for value5:</para>
								<para>MyClass</para>
								<para>MyClass</para>
								<para>Invocation list targets for result5:</para>
								<para>MyClass</para>
								<para>MyClass2</para>
								<para>MyClass2</para>
								<para>MyClass</para>
								<para>Invocation list targets for value=source:</para>
								<para>MyClass</para>
								<para>MyClass2</para>
								<para>MyClass2</para>
								<para>MyClass</para>
								<para>removal test 6 result6 is null</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RemoveAll">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Delegate RemoveAll(class System.Delegate source, class System.Delegate value)"/>
					<MemberSignature Language="C#" Value="public static Delegate RemoveAll(Delegate source, Delegate value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Delegate
  </ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="source" Type="System.Delegate"/>
						<Parameter Name="value" Type="System.Delegate"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Removes all matching occurrences of the invocation list of a <see cref="T:System.Delegate"/> from the     invocation list of another delegate.
    </para>
						</summary>
						<param name="source">The delegate from which to remove all matching occurrences of the invocation list of <paramref name="value"/>.</param>
						<param name="value">The delegate that supplies the invocation list to remove from <paramref name="source"/>.</param>
						<returns>
							<para>Returns a new delegate, <paramref name="source"/>, or <see langword="null"/>.</para>
							<para>If <paramref name="source"/> and <paramref name="value"/> are not <see langword="null"/> , are not equal, and the invocation list of <paramref name="value"/> is contained in the invocation list of source, returns a new delegate with all matching occurrences of the invocation list of <paramref name="value"/> removed from the invocation list of <paramref name="source"/>.
    </para>
							<para>If the invocation lists of <paramref name="source"/> and <paramref name="value"/> are equal, or if <paramref name="source"/> contains only a succession of invocation lists equal to <paramref name="value"/>, returns <see langword="null"/>.</para>
							<para>If the invocation list of <paramref name="value"/> is not found in the invocation list of <paramref name="source"/>, returns <paramref name="source"/>.</para>
							<para>The following table describes the value returned when <paramref name="source"/> or <paramref name="value"/> is <see langword="null"/> .</para>
							<list type="table">
								<listheader>
									<term>
										<paramref name="source"/>
									</term>
									<description>
										<paramref name="value"/>
									</description>
									<description>Return value</description>
								</listheader>
								<item>
									<term> null</term>
									<description>null</description>
									<description>null</description>
								</item>
								<item>
									<term> null</term>
									<description>non-null</description>
									<description>null</description>
								</item>
								<item>
									<term> non-null</term>
									<description>null</description>
									<description>
										<paramref name="source"/>
									</description>
								</item>
							</list>
						</returns>
						<remarks>
							<para>The invocation list of <paramref name="value"/> is required to be   an exact match of a contiguous set of elements in the invocation list of<paramref name="source"/>. If the invocation list of <paramref name="value"/> occurs more than once    in the invocation list of <paramref name="source"/>, all occurrences are removed.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Target">
					<MemberSignature Language="ILASM" Value=".property object Target { public hidebysig specialname instance object get_Target() }"/>
					<MemberSignature Language="C#" Value="public object Target { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the last object upon which a delegate invokes an
      instance method.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Object"/> instance, or 
<see langword="null"/> if the delegate invokes only static methods.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>If the delegate invokes only static methods, this 
      property returns <see langword="null"/>
      . If the delegate invokes one or more instance methods, this property returns the target of the last instance method/target pair in the invocation list.</para>
						</remarks>
						<example>
							<para>Example 1:</para>
							<para>The following example gets the <see cref="P:System.Delegate.Target"/> property values
   for two delegates. The first delegate invokes a static method, and the second
   invokes an instance method.</para>
							<code lang="C#">using System;
public delegate string DelegatedMethod(string s);
class MyClass {
  public static string StaticMethod(string s) {
    return ("Static method Arg=" + s);
  }
  public string InstanceMethod(string s) {
    return ("Instance method Arg=" + s);
  }
}
class TestClass {
  public static void Main() {
    MyClass myInstance = new MyClass();
     //Create  delegates from delegate type DelegatedMethod.
    DelegatedMethod delStatic = new DelegatedMethod(MyClass.StaticMethod);        
    DelegatedMethod delInstance = new DelegatedMethod(myInstance.InstanceMethod);
    object t = delStatic.Target; 
    Console.WriteLine ("Static target is {0}", t==null ? "null":t);    
    t = delInstance.Target;
    Console.WriteLine ("Instance target is {0}", t==null ? "null":t);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>Static target is null</para>
								<para>Instance target is MyClass</para>
							</c>
							<para>Example 2: </para>
							<para>The following example gets the <see cref="P:System.Delegate.Target"/> property value for three delegates
created using instance methods, static methods, and a combination of the two. </para>
							<code lang="C#">using System;
class MyClass {
  public static string StaticMethod(string s) {
    return ("Static String " + s);
  }
  public string InstanceMethod(string s) {
    return ("Instance String " + s);
  }
}
class MyClass2 {
  public static string StaticMethod2(string s) {
    return ("Static String2 " + s);
  }
  public string InstanceMethod2(string s) {
    return ("Instance String2 " + s);
  }
}
public delegate string DelegatedMethod(string s);

class TestClass {
    public static void Main() {
    DelegatedMethod delStatic = new DelegatedMethod(MyClass.StaticMethod);
    DelegatedMethod delStatic2 = new DelegatedMethod(MyClass2.StaticMethod2);
    
    MyClass myInstance = new MyClass();
    DelegatedMethod delInstance = new DelegatedMethod(myInstance.InstanceMethod);

    MyClass2 myInstance2 = new MyClass2();
    DelegatedMethod delInstance2 = new DelegatedMethod(myInstance2.InstanceMethod2);

    Delegate d = Delegate.Combine(delStatic, delInstance );
    Delegate e = Delegate.Combine(delInstance,delInstance2);
    Delegate f = Delegate.Combine(delStatic, delStatic2 );
    if (d!=null) {
        Console.WriteLine("Combined 1 static, 1 instance, same class:");
        Console.WriteLine("target...{0}", d.Target == null ? "null" : d.Target);
        foreach(Delegate x in d.GetInvocationList())
            Console.WriteLine("invoke element target: {0}",x.Target);

    }
    Console.WriteLine("");
    if (e!=null) {
        Console.WriteLine("Combined 2 instance methods, different classes:");
        Console.WriteLine("target...{0}", e.Target == null ? "null" : e.Target);
        foreach(Delegate x in e.GetInvocationList())
            Console.WriteLine("invoke element target: {0}",x.Target);
    }
    Console.WriteLine("");
    if (f!=null) {
        Console.WriteLine("Combined 2 static methods, different classes:");
        Console.WriteLine("target...{0}", f.Target == null ? "null" : f.Target);
        foreach(Delegate x in f.GetInvocationList())
            Console.WriteLine("invoke element target: {0}",x.Target);
    }

    }
}
</code>
							<para>The output is</para>
							<c>
								<para>Combined 1 static, 1 instance, same class:</para>
								<para>target...MyClass</para>
								<para>invoke element target:</para>
								<para>invoke element target: MyClass</para>
								<para>Combined 2 instance methods, different classes:</para>
								<para>target...MyClass2</para>
								<para>invoke element target: MyClass</para>
								<para>invoke element target: MyClass2</para>
								<para>Combined 2 static methods, different classes:</para>
								<para>target...null</para>
								<para>invoke element target:</para>
								<para>invoke element target:</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="DictionaryEntry" FullName="System.Collections.DictionaryEntry" FullNameSP="System_Collections_DictionaryEntry">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable DictionaryEntry extends System.ValueType"/>
			<TypeSignature Language="C#" Value="public struct DictionaryEntry"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents a dictionary entry consisting of a
   <see cref="P:System.Collections.DictionaryEntry.Key"/>
   and an associated <see cref="P:System.Collections.DictionaryEntry.Value"/>.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para> Some types that manage or access collections of
         objects, such as <see cref="T:System.Collections.Hashtable"/> and <see cref="T:System.Collections.IDictionaryEnumerator"/>, rely on the use
         of one or more pairs of a key object and an associated value object. <see cref="T:System.Collections.DictionaryEntry"/> provides this functionality.</para>
						<para> This structure supports the C#
      <see langword="foreach"/> semantics for <see cref="T:System.Collections.Hashtable"/>.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(object key, object value)"/>
					<MemberSignature Language="C#" Value="public DictionaryEntry(object key, object value);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="key" Type="System.Object"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Collections.DictionaryEntry"/> class with the 
   specified key and value objects.
   </para>
						</summary>
						<param name="key">The <see cref="T:System.Object"/> defined to reference a dictionary entry.</param>
						<param name="value">The <see cref="T:System.Object"/> that contains the content associated with <paramref name="key"/>.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="key"/> is <see langword="null"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Key">
					<MemberSignature Language="ILASM" Value=".property object Key { public hidebysig specialname instance object get_Key() public hidebysig specialname instance void set_Key(object value) }"/>
					<MemberSignature Language="C#" Value="public object Key { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets an object representing the key of the current <see cref="T:System.Collections.DictionaryEntry"/>
.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Object"/> representing the
   key of the current <see cref="T:System.Collections.DictionaryEntry"/> .</para>
						</value>
						<exception cref="T:System.ArgumentNullException">Set <paramref name="value"/> is <see langword="null"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Value">
					<MemberSignature Language="ILASM" Value=".property object Value { public hidebysig specialname instance object get_Value() public hidebysig specialname instance void set_Value(object value) }"/>
					<MemberSignature Language="C#" Value="public object Value { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets an object representing the content of the current <see cref="T:System.Collections.DictionaryEntry"/> .</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Object"/> representing the
   content of the current <see cref="T:System.Collections.DictionaryEntry"/> .</para>
						</value>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Directory" FullName="System.IO.Directory" FullNameSP="System_IO_Directory">
			<TypeSignature Language="ILASM" Value=".class public sealed Directory extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class Directory"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Provides information and performs operations
      on directories.</para>
				</summary>
				<remarks>
					<para>Implementations are required to preserve
      the case of file and directory path strings, and to be case
      sensitive if and only if the current platform is case-sensitive. </para>
					<para>
						<block subset="none" type="note">In most
   <see langword=" Directory"/> methods that accept <paramref name="path"/>
   arguments, the path can refer to a file or a directory. </block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Delete">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Delete(string path, bool recursive)"/>
					<MemberSignature Language="C#" Value="public static void Delete(string path, bool recursive);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="recursive" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Deletes the specified directory and, if indicated, any subdirectories in the directory.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the directory to delete. This directory must be writable and cannot contain files unless <paramref name="recursive"/> is true.</param>
						<param name="recursive">Specify <see langword="true"/> to delete subdirectories and files in <paramref name="path"/>; otherwise, specify <see langword="false"/>.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The specified <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.IOException">The directory specified by <paramref name="path"/> is read-only, or <paramref name="recursive"/> is <see langword="false"/> and <paramref name="path"/> is not an empty directory.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>The <paramref name="path"/> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Delete">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Delete(string path)"/>
					<MemberSignature Language="C#" Value="public static void Delete(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Deletes the empty directory
      specified in <paramref name="path"/>.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the directory to delete. This directory must be writable and empty.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The specified <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.IOException">The directory specified by <paramref name="path"/> is read-only or is not empty.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para> This method behaves identically to <see cref="M:System.IO.Directory.Delete(System.String)"/>(<paramref name="path"/>, <see langword="false"/> ).</para>
							<para>The <paramref name="path"/>
argument is permitted to specify relative or absolute path
information. Relative path information is interpreted as relative to the current
working directory. <block subset="none" type="note">To obtain the current
working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Exists">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool Exists(string path)"/>
					<MemberSignature Language="C#" Value="public static bool Exists(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> indicating whether
   the
   specified directory exists.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the directory to check.</param>
						<returns>
							<para>
								<see langword="true "/>if the caller
   has the required permissions and <paramref name="path"/> contains the name of an existing directory; otherwise, <see langword="false"/>. If <paramref name="path"/> is <see langword="null"/>, a zero-length string, or contains the
   name of
   a file, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>If the caller does not have sufficient permissions to read the files
      in the directory specified by <paramref name="path"/>, no
      exception is thrown and the method returns <see langword="false"/>
      regardless of the existence of <paramref name="path"/>.</para>
							<para>The <paramref name="path"/> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the specified directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetCreationTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime GetCreationTime(string path)"/>
					<MemberSignature Language="C#" Value="public static DateTime GetCreationTime(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the creation date and time of the specified file or directory.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file or directory for which to obtain creation date and time information.</param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> structure set to
   the creation date and time for the specified directory. This value is expressed in local time.</para>
							<para>Platforms that do not
   support this feature return <see cref="F:System.DateTime.MinValue"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">The directory specified by <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.IO.File.GetCreationTime(System.String)"/>
(<paramref name="path"/>).</para>
							<para>The <paramref name="path"/> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetCurrentDirectory">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string GetCurrentDirectory()"/>
					<MemberSignature Language="C#" Value="public static string GetCurrentDirectory();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the application's current working directory.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> containing the path of the current working directory.</para>
							<para>Platforms that do not
   support this feature return <see cref="F:System.String.Empty"/>.</para>
						</returns>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks/>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the current directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true"/>
						</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetDirectories">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetDirectories(string path)"/>
					<MemberSignature Language="C#" Value="public static string[] GetDirectories(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the names of subdirectories in the specified directory.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the directory for which an array of subdirectory names is returned.</param>
						<returns>
							<para>A <see cref="T:System.String"/> array containing the names
   of subdirectories in <paramref name="path"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path "/>is <see langword="null"/>. </exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains implementation-defined invalid characters.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is a file name.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para> This method is identical to <see cref="M:System.IO.Directory.GetDirectories(System.String)"/> (<paramref name="path"/>
, "*").</para>
							<para>The <paramref name="path"/> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
							<para>The names returned by this method are prefixed with the directory information
provided in <paramref name="path"/>.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the specified directory and its subdirectories. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetDirectories">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetDirectories(string path, string searchPattern)"/>
					<MemberSignature Language="C#" Value="public static string[] GetDirectories(string path, string searchPattern);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="searchPattern" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the names of subdirectories in the specified
      directory that match the specified search pattern.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the starting location for the search.</param>
						<param name="searchPattern">A <see cref="T:System.String"/> containing the text pattern to match against the names of subdirectories of <paramref name="path"/>. <paramref name="searchPattern"/> cannot contain <see cref="F:System.IO.Path.DirectorySeparatorChar"/> or <see cref="F:System.IO.Path.AltDirectorySeparatorChar"/>.</param>
						<returns>
							<para>A <see langword="String"/> array
   containing the names of subdirectories of <paramref name="path"/> that match
<paramref name="searchPattern"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path "/>or<paramref name=" searchPattern "/>is <see langword="null"/>. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="path "/>is a zero-length string, contains only white space, or contains implementation-defined invalid characters.</para>
							<para>
								<paramref name="searchPattern"/> does not contain a valid pattern.</para>
						</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is a file name.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have permission to access the requested information.</exception>
						<remarks>
							<para>The following wild card specifiers are permitted in
      <paramref name="searchPattern"/>:</para>
							<list type="table">
								<listheader>
									<term>Wild card</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> *</term>
									<description>Zero or more characters.</description>
								</item>
								<item>
									<term> ?</term>
									<description>Exactly one character.</description>
								</item>
							</list>
							<para>The period (".") character, if immediately followed by a wild card specifier,
      indicates that the period or the empty string matches the
      pattern. For example, "foo.*" and "foo.?" match "foo". Note that
      "foo.*" and "foo*" behave identically. If the period is not immediately followed
      by a wildcard, it has no special meaning (it represents a period).</para>
							<para>Characters other than the wild card specifiers represent themselves, for example, the<paramref name=" searchPattern "/> string "*t" searches for all names in<paramref name="path"/> ending with the letter "t". The <paramref name="searchPattern"/> string
   "s*" searches for all names in <paramref name="path"/> beginning with the letter "s".</para>
							<para>The <paramref name="path"/> argument is permitted to specify relative or absolute path
information. Relative path information is interpreted as relative to the current
working directory. <block subset="none" type="note">To obtain the current
working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the specified directory and its subdirectories. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetDirectoryRoot">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string GetDirectoryRoot(string path)"/>
					<MemberSignature Language="C#" Value="public static string GetDirectoryRoot(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the
      path root component of the specified path.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of a file or directory.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing
   the root information for the specified path.</para>
							<para>Platforms that do not
   support this feature return <see cref="F:System.String.Empty"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="path"/> is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters. </para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para> This method obtains the full path information for <paramref name="path"/>, as returned by <see cref="M:System.IO.Path.GetFullPath(System.String)"/> (<paramref name="path"/>) and returns the path root component. The specified path is not required to exist.</para>
							<para>The <paramref name="path"/> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/> .</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true"/>
						</permission>
						<example>
							<para>The following example demonstrates the <see cref="M:System.IO.Directory.GetDirectoryRoot(System.String)"/> method.</para>
							<code lang="C#">using System;
using System.IO;
class GetDirectoryTest {
  public static void Main() {
    string [] paths = {                                          

@"\ecmatest\examples\pathtests.txt",
      "pathtests.xyzzy",
      @"\",
      @"C:\",
      @"\\myserver\myshare\foo\bar\baz.txt"
    };
    foreach (string pathString in paths) {
      string s = Directory.GetDirectoryRoot(pathString);
      Console.WriteLine("Path: {0} Directory Root is {1}",pathString, s== null? "null":s);
    }
  }
}
</code>
							<para>The output is </para>
							<c>
								<para>Path: \ecmatest\examples\pathtests.txt Directory Root is C:\</para>
								<para>Path: pathtests.xyzzy Directory Root is C:\</para>
								<para>Path: \ Directory Root is C:\</para>
								<para>Path: C:\ Directory Root is C:\</para>
								<para>Path: \\myserver\myshare\foo\bar\baz.txt 
   Directory Root is \\myserver\myshare</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetFiles">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetFiles(string path, string searchPattern)"/>
					<MemberSignature Language="C#" Value="public static string[] GetFiles(string path, string searchPattern);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="searchPattern" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the names of files in
      the specified directory that match the
      specified search pattern.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the directory to search.</param>
						<param name="searchPattern">A <see cref="T:System.String"/> containing the text pattern to match against the names of files in <paramref name="path"/>. <paramref name="searchPattern"/> cannot contain <see cref="F:System.IO.Path.DirectorySeparatorChar"/> or <see cref="F:System.IO.Path.AltDirectorySeparatorChar"/>.</param>
						<returns>
							<para>A <see cref="T:System.String"/>
array containing the names of files in the specified directory that match the
specified search pattern.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="searchPattern "/>or <paramref name="path"/> is <see langword="null"/> .</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="path"/> is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</para>
						</exception>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is a file name.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>The following wild card specifiers are permitted in <paramref name="searchPattern"/>:</para>
							<list type="table">
								<listheader>
									<term>Wild
         card</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> *</term>
									<description>Zero
         or more characters.</description>
								</item>
								<item>
									<term> ?</term>
									<description>Exactly one character.</description>
								</item>
							</list>
							<para> The period (".") character, if immediately followed by a wild card specifier,
   indicates that the period or the empty string matches the
   pattern. For example, "foo.*" and "foo.?" match "foo". Note that
   "foo.*" and "foo*" behave identically. If the period is not immediately followed
   by a wildcard, it has no special meaning (it represents a period). </para>
							<para>Characters other than the wild card specifiers and the period always represent themselves, for example, the
<paramref name="searchPattern"/> string "*t" searches for all 
   names in <paramref name="path"/> ending with the letter "t". The <paramref name="searchPattern"/> string "s*" searches for all
   names in <paramref name="path"/> beginning with the
   letter "s".</para>
							<para>The <paramref name="path"/> argument is permitted to specify relative or absolute path
information. Relative path information is interpreted as relative to the current
working directory. <block subset="none" type="note">To obtain the current
working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the specified directory and the files in that directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true"/>
						</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetFiles">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetFiles(string path)"/>
					<MemberSignature Language="C#" Value="public static string[] GetFiles(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the names of all files in the specified directory.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the directory for which file names are returned.</param>
						<returns>
							<para>A <see cref="T:System.String"/> array
   containing the names of the files in the specified directory.</para>
							<para>Platforms that do not support this feature
   return <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="path "/>is null.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>path is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters. </para>
						</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is a file name.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para> This method is identical to <see cref="M:System.IO.Directory.GetFiles(System.String)"/> (<paramref name="path"/>, "*").</para>
							<para>The <paramref name="path"/> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the specified directory and the files in that directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetFileSystemEntries">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetFileSystemEntries(string path)"/>
					<MemberSignature Language="C#" Value="public static string[] GetFileSystemEntries(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the names of all files and subdirectories in the specified directory.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the directory for which file and subdirectory names are returned.</param>
						<returns>
							<para> A <see cref="T:System.String"/> array containing the names of file system entries in the specified directory.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/> .</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path"/> is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is a file name.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para> This method is identical to <see cref="M:System.IO.Directory.GetFileSystemEntries(System.String)"/>
(<paramref name="path"/>, "*").</para>
							<para>The names returned by this method are prefixed with the
   directory information provided in <paramref name="path"/>. The <paramref name="path"/> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>
   
   .</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the specified directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true"/>
						</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetFileSystemEntries">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetFileSystemEntries(string path, string searchPattern)"/>
					<MemberSignature Language="C#" Value="public static string[] GetFileSystemEntries(string path, string searchPattern);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="searchPattern" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an
      array of file and directory names matching the specified search criteria.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the directory to search.</param>
						<param name="searchPattern">A <see cref="T:System.String"/> containing the text pattern for which to search. <paramref name="searchPattern"/> cannot contain <see cref="F:System.IO.Path.DirectorySeparatorChar"/> or <see cref="F:System.IO.Path.AltDirectorySeparatorChar"/> .</param>
						<returns>
							<para>A <see langword="String"/> array
   containing
   file and directory names matching the specified search criteria.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="searchPattern "/>or <paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path"/> is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is a file name.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>The following wild card specifiers are permitted in <paramref name="searchPattern"/>:</para>
							<list type="table">
								<listheader>
									<term>Wild
         card</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> * </term>
									<description>Zero
         or more characters. </description>
								</item>
								<item>
									<term> ?</term>
									<description>Exactly one character.</description>
								</item>
							</list>
							<para>The period (".") character, if immediately followed by a wild card specifier,
   indicates that the period or the empty string matches the
   pattern. For example, "foo.*" and "foo.?" match "foo". Note that
   "foo.*" and "foo*" behave identically. If the period is not immediately followed
   by a wildcard, it has no special meaning (it represents a period).</para>
							<para>Characters other than the wild card specifiers represent themselves, for example, the
<paramref name="searchPattern"/> string "*t" searches for all names in 
<paramref name="path"/> ending with the letter "t". The <paramref name="searchPattern"/> string "s*" searches for all names in <paramref name="path"/> beginning with the letter "s".</para>
							<para>The names returned by this method are prefixed with the
   directory information provided in <paramref name="path"/>. The <paramref name="path"/> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information for the specified directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery" qualify="true"/>
						</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetLastAccessTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime GetLastAccessTime(string path)"/>
					<MemberSignature Language="C#" Value="public static DateTime GetLastAccessTime(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the date and time the specified file or directory was last accessed.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file or directory for which to obtain access date and time information.</param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> structure set to
   the date and time the specified file or directory was last accessed. This value is expressed in local time.</para>
							<para>Platforms that do not
   support this feature return <see cref="F:System.DateTime.MinValue"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">The specified path was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.IO.File.GetLastAccessTime(System.String)"/> (<paramref name="path"/>).</para>
							<para>The <paramref name="path"/> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetLastWriteTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime GetLastWriteTime(string path)"/>
					<MemberSignature Language="C#" Value="public static DateTime GetLastWriteTime(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the date and time the specified file or directory was last written to.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file or directory for which to obtain modification date and time information.</param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> structure set to
   the date and time the specified file or directory was last written to. This value is expressed in local time.</para>
							<para>Platforms that do not
   support this feature return <see cref="F:System.DateTime.MinValue"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">The specified path was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para> This method is equivalent to <see cref="M:System.IO.File.GetLastWriteTime(System.String)"/>
(<paramref name="path"/> ).</para>
							<para>The <paramref name="path"/> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Move">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Move(string sourceDirName, string destDirName)"/>
					<MemberSignature Language="C#" Value="public static void Move(string sourceDirName, string destDirName);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="sourceDirName" Type="System.String"/>
						<Parameter Name="destDirName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Moves a file or a directory and its contents to a new location.</para>
						</summary>
						<param name="sourceDirName">A <see cref="T:System.String"/> containing the name of the file or directory to move.</param>
						<param name="destDirName">A <see cref="T:System.String"/> containing the new location for <paramref name="sourceDirName"/>. This string cannot identify an existing file or directory.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="sourceDirName "/>or <paramref name="destDirName "/>is a zero-length string, contains only white space, or contains implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="sourceDirName "/>or <paramref name="destDirName "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<exception cref="T:System.IO.IOException">An attempt was made to move a directory to a different volume, or <paramref name="destDirName"/> already exists.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">
							<paramref name="sourceDirName "/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length or absolute path information for <paramref name="sourceDirName"/> or <paramref name="destDirName"/> exceeds the system-defined maximum length.</exception>
						<remarks>
							<para>The <paramref name="destDirName"/> argument
   cannot specify a location on a different disk or volume than
<paramref name="sourceDirName"/>. The <paramref name="sourceDirName"/> 
and <paramref name="destDirName"/> arguments cannot identify the same file
or directory.</para>
							<para>
								<block subset="none" type="note">This method throws
   a <see cref="T:System.IO.IOException"/> if, for example, you try
   to move "\mydir" to "\public", and "\public" already exists. You must specify
   "\public\mydir" as the <paramref name="destDirName"/>.</block>
							</para>
							<para>The <paramref name="sourceDirName "/>and
<paramref name="destDirName"/> arguments are permitted to specify 
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read from <paramref name="sourceDirName,"/>
							<paramref name=" "/>and write to <paramref name="sourceDirName "/> and <paramref name="destDirName"/>. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetCreationTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void SetCreationTime(string path, valuetype System.DateTime creationTime)"/>
					<MemberSignature Language="C#" Value="public static void SetCreationTime(string path, DateTime creationTime);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="creationTime" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the creation date and time for the specified file or directory.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file or directory for which to set the creation date and time information.</param>
						<param name=" creationTime">A <see cref="T:System.DateTime"/> containing the value to set for the creation date and time of <paramref name="path"/>. This value is expressed in local time.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="creationTime "/> specifies a value outside the range of date/times permitted for this operation.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred while performing the operation.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<remarks>
							<para>The <paramref name="path"/> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
							<para>On platforms that do not
   support this feature, this method has no effect. If this feature is
   supported, the range of dates that is valid for this operation
   is implementation-specific. </para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetCurrentDirectory">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void SetCurrentDirectory(string path)"/>
					<MemberSignature Language="C#" Value="public static void SetCurrentDirectory(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the application's current working directory to the specified directory.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the path to which the current working directory is set.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred while performing the operation.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<remarks>
							<para> When the application terminates, the working directory is restored
      to its original location (the directory where the process was started).</para>
							<para>The <paramref name="path"/> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
							<para>On platforms that do not support this feature,
   this method has no effect.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetLastAccessTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void SetLastAccessTime(string path, valuetype System.DateTime lastAccessTime)"/>
					<MemberSignature Language="C#" Value="public static void SetLastAccessTime(string path, DateTime lastAccessTime);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="lastAccessTime" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the date and time the specified file or directory was last accessed.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file or directory for which to set the access date and time information.</param>
						<param name="lastAccessTime">A <see cref="T:System.DateTime"/> containing the value to set for the access date and time of <paramref name="path"/>. This value is expressed in local time.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>The <paramref name="path"/> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
							<para>On platforms that do not
   support this feature, this method has no effect. If this feature is
   supported, the range of dates that is valid for this operation
   is implementation-specific. </para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetLastWriteTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void SetLastWriteTime(string path, valuetype System.DateTime lastWriteTime)"/>
					<MemberSignature Language="C#" Value="public static void SetLastWriteTime(string path, DateTime lastWriteTime);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="lastWriteTime" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the date and time a directory was last written to.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the directory for which to set the date and time information.</param>
						<param name=" lastWriteTime">A <see cref="T:System.DateTime"/> containing the value to set for the last write date and time of <paramref name="path"/>. This value is expressed in local time.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para> 
      Relative path information is interpreted as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
							<para>On platforms that do not
      support this feature, this method has no effect. If this feature is
      supported, the range of dates that is valid for this operation
      is implementation-specific. </para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="DirectoryNotFoundException" FullName="System.IO.DirectoryNotFoundException" FullNameSP="System_IO_DirectoryNotFoundException">
			<TypeSignature Language="ILASM" Value=".class public serializable DirectoryNotFoundException extends System.IO.IOException"/>
			<TypeSignature Language="C#" Value="public class DirectoryNotFoundException : IOException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when part of a file or directory argument
 cannot be found.</para>
				</summary>
				<example>
					<para>The following example demonstrates an error that causes
 the <see cref="T:System.IO.DirectoryNotFoundException"/> exception to be
 thrown. <SPAN>
							<SPAN/>In this case, the /Mistake/examples/
 directory does not exist and therefore cannot be
 located.</SPAN>
					</para>
					<code lang="C#">using System;
using System.IO;
class DirectoryNotFoundExample {
 public static void Main () {
 string badPath = "/Mistake/examples/";
 try {
 Directory.GetFiles(badPath);
 }
 catch (DirectoryNotFoundException e) {
 Console.WriteLine("Caught: {0}",e.Message);
 }
 }
}
</code>
					<para>The output is </para>
					<c>
						<para> Caught: Could not find a
 part of the path "C:\Mistake\examples". </para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.IO.IOException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public DirectoryNotFoundException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.DirectoryNotFoundException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.IO.DirectoryNotFoundException.Message"/>
property of the new instance to a system-supplied message
that describes the error, such as "Could not find the specified
directory." This message takes into account the current system culture.</para>
							<para>The <see cref="!:System.IO.DirectoryNotFoundException.InnerException"/> property of the new instance is
initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public DirectoryNotFoundException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.DirectoryNotFoundException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.IO.DirectoryNotFoundException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.IO.DirectoryNotFoundException.Message"/> property is initialized to 
   the system-supplied message provided by the constructor that takes no arguments.</para>
							<para> 
   The <see cref="!:System.IO.DirectoryNotFoundException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public DirectoryNotFoundException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.DirectoryNotFoundException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/>.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.IO.DirectoryNotFoundException.Message"/> property of
   the new instance using <paramref name="message"/> and the <see cref="!:System.IO.DirectoryNotFoundException.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.IO.DirectoryNotFoundException.Message"/> property is initialized to the system-supplied 
   message provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For more
   information on inner exceptions, see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="DivideByZeroException" FullName="System.DivideByZeroException" FullNameSP="System_DivideByZeroException">
			<TypeSignature Language="ILASM" Value=".class public serializable DivideByZeroException extends System.ArithmeticException"/>
			<TypeSignature Language="C#" Value="public class DivideByZeroException : ArithmeticException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that is caused by an attempt to divide a
      number by zero.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>The following IL instructions throw <see cref="T:System.DivideByZeroException"/>:</para>
						<list type="bullet">
							<item>
								<term>
         div</term>
							</item>
							<item>
								<term>
         div.un</term>
							</item>
							<item>
								<term>
         rem</term>
							</item>
							<item>
								<term>rem.un</term>
							</item>
						</list>
					</block>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes
      a <see cref="T:System.DivideByZeroException"/> exception.</para>
					<code lang="C#">using System;
public class DivideZeroTest {
 public static void Main() {
   int x = 0;
   try { 
     int y = 100/x;
   }
   catch (DivideByZeroException e) {
     Console.WriteLine("Error: {0}",e);
   }
 }
}
   </code>
					<para>The output is</para>
					<code>
Error: System.DivideByZeroException: Attempted to divide by zero.
   at DivideZeroTest.Main()
 </code>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.ArithmeticException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public DivideByZeroException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.DivideByZeroException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.DivideByZeroException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "Attempted to divide by zero." This
   message takes into account the current system culture.</para>
							<para>The <see cref="!:System.DivideByZeroException.InnerException"/> property is initialized to <see langword="null"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public DivideByZeroException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.DivideByZeroException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.DivideByZeroException.Message"/> property of the new instance using
<paramref name="message"/> . If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.DivideByZeroException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments. The <see cref="!:System.DivideByZeroException.InnerException"/> property is initialized to <see langword="null"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public DivideByZeroException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.DivideByZeroException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.DivideByZeroException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="!:System.DivideByZeroException.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.DivideByZeroException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note"> For information on inner exceptions,
   see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="DuplicateWaitObjectException" FullName="System.DuplicateWaitObjectException" FullNameSP="System_DuplicateWaitObjectException">
			<TypeSignature Language="ILASM" Value=".class public serializable DuplicateWaitObjectException extends System.ArgumentException"/>
			<TypeSignature Language="C#" Value="public class DuplicateWaitObjectException : ArgumentException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents the error that occurs when an object appears
      more than once in an array of <see cref="T:System.Threading.WaitHandle"/>
      instances.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">It is generally
      unnecessary for applications to throw <see cref="T:System.DuplicateWaitObjectException"/>
      . This exception is thrown by
      thread synchronization methods, such as <see cref="M:System.Threading.WaitHandle.WaitAll(System.Threading.WaitHandle[],System.Int32,System.Boolean)"/> and
   <see cref="M:System.Threading.WaitHandle.WaitAny(System.Threading.WaitHandle[],System.Int32,System.Boolean)"/>.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ArgumentException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public DuplicateWaitObjectException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.DuplicateWaitObjectException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.DuplicateWaitObjectException.Message"/> property of the new
   instance to a system-supplied message that describes the error, such as
   "Duplicate objects in argument." This message takes into account the current
   system culture. The <see cref="!:System.DuplicateWaitObjectException.InnerException"/> and <see cref="!:System.DuplicateWaitObjectException.ParamName"/> properties are initialized
   to <see langword="null"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string parameterName)"/>
					<MemberSignature Language="C#" Value="public DuplicateWaitObjectException(string parameterName);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="parameterName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.DuplicateWaitObjectException"/>
class.</para>
						</summary>
						<param name="parameterName">A <see cref="T:System.String"/> that contains the name of the parameter that caused the exception. The content of <paramref name="parameterName"/> is intended to be understood by humans.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.DuplicateWaitObjectException.Message"/> property of the new instance to a system-supplied
   message that describes the error. This message takes into account the current
   system culture. The <see cref="!:System.DuplicateWaitObjectException.InnerException"/> property is initialized to
<see langword="null"/> .</para>
							<para>This constructor initializes the <see cref="!:System.DuplicateWaitObjectException.ParamName"/> property of the new instance using
<paramref name="parameterName"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string parameterName, string message)"/>
					<MemberSignature Language="C#" Value="public DuplicateWaitObjectException(string parameterName, string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="parameterName" Type="System.String"/>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.DuplicateWaitObjectException"/>
class.</para>
						</summary>
						<param name="parameterName">A <see cref="T:System.String"/> that contains the name of the parameter that caused the exception. The content of <paramref name="parameterName"/> is intended to be understood by humans.</param>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.DuplicateWaitObjectException.ParamName"/> property of the new
   instance using <paramref name="parameterName"/>, and the <see cref="!:System.DuplicateWaitObjectException.Message"/> property using <paramref name="message"/> . If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.DuplicateWaitObjectException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments.</para>
							<para> The <see cref="!:System.DuplicateWaitObjectException.InnerException"/> property is initialized to 
<see langword="null"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Encoder" FullName="System.Text.Encoder" FullNameSP="System_Text_Encoder">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable Encoder extends System.Object"/>
			<TypeSignature Language="C#" Value="public abstract class Encoder"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Converts blocks of characters into blocks of bytes. </para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">Following instantiation of a <see cref="T:System.Text.Encoder"/>, sequential
   blocks of characters are converted into blocks of bytes through calls to the
<see cref="M:System.Text.Encoder.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Boolean)"/> method. The encoder maintains state between the 
   conversions, allowing it to correctly encode character sequences that span
   adjacent blocks. An instance of a specific implementation of the
<see cref="T:System.Text.Encoder"/>
class is typically obtained
through a call to the <see cref="M:System.Text.Encoding.GetEncoder"/> .</block>
					</para>
				</remarks>
				<example>
					<para>The following example demonstrates using the <see cref="T:System.Text.UTF8Encoding"/>
implementation of the <see cref="T:System.Text.Encoding"/> class to convert one character array to two byte
arrays.</para>
					<code lang="C#">using System;
using System.Text;

public class EncoderExample
{

   public static void Main()
   {

      string str = "Encoder";
      char[] cAry = str.ToCharArray();
      UTF8Encoding utf = new UTF8Encoding();
    
      Encoder e = utf.GetEncoder();
      int count1 = 
         e.GetByteCount(cAry,0,cAry.Length-4,false);
      int count2 = 
         e.GetByteCount(cAry,cAry.Length-4,4,true);
      byte[] bytes1 = new byte[count1];
      byte[] bytes2 = new byte[count2];
      
      e.GetBytes(cAry,0,cAry.Length-4,bytes1,0,false);
      e.GetBytes(cAry,cAry.Length-4,4,bytes2,0,true);

      Console.Write("Bytes1: ");
      foreach (byte b in bytes1)
         Console.Write(" '{0}' ", b);
      Console.WriteLine();

      Console.Write("Bytes2: ");
      foreach (byte b in bytes2)
         Console.Write(" '{0}' ", b);
      Console.WriteLine();
            
   }

}
</code>
					<para>The output is</para>
					<c>
						<para>Bytes1: '69' '110' '99' </para>
						<para>Bytes2: '111' '100' '101' '114'</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="protected Encoder();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs a new instance of the <see cref="T:System.Text.Encoder"/> class.
   </para>
						</summary>
						<remarks>
							<para>This constructor is called only by classes that inherit from the <see cref="T:System.Text.Encoder"/> class.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetByteCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 GetByteCount(class System.Char[] chars, int32 index, int32 count, bool flush)"/>
					<MemberSignature Language="C#" Value="public abstract int GetByteCount(char[] chars, int index, int count, bool flush);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
						<Parameter Name="flush" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines the exact number of bytes required to
      encode the specified range in the specified array of
      
      characters.
      </para>
						</summary>
						<param name="chars">A <see cref="T:System.Char"/> array of characters to encode. </param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="chars"/> to encode. </param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of elements in <paramref name="chars"/> to encode. </param>
						<param name="flush">A <see cref="T:System.Boolean"/> value that determines whether the current instance flushes its internal state following a conversion. Specify <see langword="true"/> to flush the internal state of the current instance following a conversion; otherwise, specify <see langword="false"/> . </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the
   number of bytes required to encode the range in <paramref name="chars"/> from
<paramref name="index"/> to 
<paramref name=" index"/>
+ <paramref name="count"/> -1 for a particular encoding.</para>
							<para>
								<block subset="none" type="note">This value takes
   into account the state in which the current instance was left following the last
   call to <see cref="M:System.Text.Encoder.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Boolean)"/>
   .</block>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="chars "/> is <see langword="null"/>. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>Return value is greater than <see cref="F:System.Int32.MaxValue"/>. </para>
							<para>-or- </para>
							<para>
								<paramref name="index"/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="count"/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="index"/> and <paramref name="count"/> do not specify a valid range in <paramref name="chars"/> (i.e. (<paramref name="index"/> + <paramref name="count"/>) &gt; <paramref name="chars"/>.Length).</para>
						</exception>
						<remarks>
							<para> The state of the current instance is not affected by a call to this
      method.
      </para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this
   method to retrieve the exact number of bytes required to encode a
   specified range of an array of <see cref="T:System.Char"/> objects
   for a particular encoding.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to determine the
   exact number of bytes required to encode the specified range of an array
   of <see cref="T:System.Char"/> objects for a particular
   encoding.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 GetBytes(class System.Char[] chars, int32 charIndex, int32 charCount, class System.Byte[] bytes, int32 byteIndex, bool flush)"/>
					<MemberSignature Language="C#" Value="public abstract int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex, bool flush);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="charIndex" Type="System.Int32"/>
						<Parameter Name="charCount" Type="System.Int32"/>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
						<Parameter Name="flush" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Encodes the specified range of the specified array
      of characters into the specified range of the specified array of bytes. </para>
						</summary>
						<param name="chars">A <see cref="T:System.Char"/> array of characters to encode. </param>
						<param name="charIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="chars"/> to encode. </param>
						<param name="charCount">A <see cref="T:System.Int32"/> that specifies the number of elements in <paramref name="chars"/> to encode. </param>
						<param name="bytes">A <see cref="T:System.Byte"/> array to encode into. </param>
						<param name="byteIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="bytes"/> to encode into. </param>
						<param name="flush">
							<para>A <see cref="T:System.Boolean"/> value. Specify <see langword="true"/> to flush the internal state of the current instance following a conversion; otherwise, specify <see langword="false"/> . <block subset="none" type="note">To ensure correct termination of a sequence of blocks of encoded bytes, it is recommended that the last call to <see cref="M:System.Text.Encoder.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Boolean)"/> specify <see langword="true"/> .</block>
							</para>
						</param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the number of bytes encoded into <paramref name="bytes"/> for a
   particular encoding.
   </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="bytes"/> does not contain sufficient space to store the encoded characters.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="chars "/>is <see langword="null"/> . </para>
							<para>-or- </para>
							<para>
								<paramref name="bytes "/>is <see langword="null"/> . </para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="charIndex"/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="charCount "/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="byteIndex "/> &lt; 0. </para>
							<para> -or- </para>
							<para>(<paramref name="chars"/>.Length - <paramref name="charIndex"/>) &lt; <paramref name="charCount"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="byteIndex"/> &gt; <paramref name="bytes"/>.Length.</para>
						</exception>
						<remarks>
							<para>The encoding takes into account the state in which the
      current instance was left following the last call to this method if
   <paramref name="flush"/> was specified as <see langword="true"/>
   for that call.</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override
   this method to encode the values of an array of <see cref="T:System.Char"/> objects as an array of <see cref="T:System.Byte"/> objects for a particular
   encoding.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to encode the values of an array
   of <see cref="T:System.Char"/> objects as an array
   of <see cref="T:System.Byte"/>
   objects for a particular encoding.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Encoding" FullName="System.Text.Encoding" FullNameSP="System_Text_Encoding">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable Encoding extends System.Object"/>
			<TypeSignature Language="C#" Value="public abstract class Encoding"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents a character
      encoding.</para>
				</summary>
				<remarks>
					<para> Characters are abstract entities that can be represented using
      many different character schemes or codepages. For example, Unicode UTF-16 encoding
      represents, or encodes, characters as sequences of 16-bit integers while
      Unicode UTF-8 represents the same characters as sequences of 8-bit bytes.</para>
					<para>The BCL includes the following types derived
      from <see cref="T:System.Text.Encoding"/>:</para>
					<list type="bullet">
						<item>
							<term>
								<para>
									<see cref="T:System.Text.ASCIIEncoding"/> - encodes Unicode characters as
         7-bit ASCII characters. This encoding only supports code points between U+0000
         and U+007F inclusive.</para>
							</term>
						</item>
						<item>
							<term>
								<para>
									<see cref="T:System.Text.UnicodeEncoding"/> - encodes each
         Unicode character as two consecutive bytes. Both little-endian and big-endian byte
         orders are supported.</para>
							</term>
						</item>
						<item>
							<term>
								<para>
									<see cref="T:System.Text.UTF8Encoding"/> - encodes Unicode characters using
         the UTF-8 (UCS Transformation Format, 8-bit form) encoding. This encoding
         supports all Unicode character values.</para>
							</term>
						</item>
					</list>
					<para> An application can use the
   properties of this class such as <see cref="P:System.Text.Encoding.ASCII"/>, <see cref="P:System.Text.Encoding.Default"/>, <see cref="P:System.Text.Encoding.Unicode"/>,
   and <see cref="P:System.Text.Encoding.UTF8"/> to obtain encodings. Applications can
   initialize new instances of <see cref="T:System.Text.Encoding"/> objects through the
<see cref="T:System.Text.ASCIIEncoding"/>, <see cref="T:System.Text.UnicodeEncoding"/>, and <see cref="T:System.Text.UTF8Encoding"/> 
classes.</para>
					<para>Through an encoding, the <see cref="M:System.Text.Encoding.GetBytes(System.Char[])"/> method is used to convert
arrays of Unicode characters to arrays of bytes, and the <see cref="M:System.Text.Encoding.GetChars(System.Byte[])"/> method is used to convert arrays of bytes
to arrays of Unicode characters. The <see cref="M:System.Text.Encoding.GetBytes(System.Char[])"/> and <see cref="M:System.Text.Encoding.GetChars(System.Byte[])"/> methods maintain no state between
conversions. When the data to be converted is only available in sequential
blocks (such as data read from a stream) or when the amount of data is so large
that it needs to be divided into smaller blocks, an application can choose to
use a <see cref="T:System.Text.Decoder"/> or a
<see cref="T:System.Text.Encoder"/> to perform 
the conversion. Decoders and encoders allow sequential blocks of data to be
converted and they maintain the state required to support conversions of data
that spans adjacent blocks. Decoders and encoders are obtained using
the <see cref="M:System.Text.Encoding.GetDecoder"/> and <see cref="M:System.Text.Encoding.GetEncoder"/> methods.</para>
					<para>The core <see cref="M:System.Text.Encoding.GetBytes(System.Char[])"/> and <see cref="M:System.Text.Encoding.GetChars(System.Byte[])"/> methods require the caller to provide the 
destination buffer and ensure that the buffer is large enough to hold the entire
result of the conversion. When using these methods, either directly on a
<see cref="T:System.Text.Encoding"/> object or on an associated <see cref="T:System.Text.Decoder"/> or 
<see cref="T:System.Text.Encoder"/>, an
application can use one of two methods to allocate destination buffers.</para>
					<list type="number">
						<item>
							<term>
								<para>The <see cref="M:System.Text.Encoding.GetByteCount(System.Char[])"/> and <see cref="M:System.Text.Encoding.GetCharCount(System.Byte[])"/> methods can be used to
      compute the exact size of the result of a particular conversion, and an
      appropriately sized buffer for that conversion can then be allocated.</para>
							</term>
						</item>
						<item>
							<term>
								<para>The <see cref="M:System.Text.Encoding.GetMaxByteCount(System.Int32)"/> and <see cref="M:System.Text.Encoding.GetMaxCharCount(System.Int32)"/> methods can 
      be used to compute the maximum possible size of a conversion of a given
      number of characters or bytes, regardless of the actual character or byte values, and a
      buffer of that size can then be reused for multiple conversions. </para>
							</term>
						</item>
					</list>
					<para>The first method generally uses less memory, whereas the second method
   generally executes faster. </para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="protected Encoding();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs a new instance of the <see cref="T:System.Text.Encoding"/> class.
   </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ASCII">
					<MemberSignature Language="ILASM" Value=".property class System.Text.Encoding ASCII { public hidebysig static specialname class System.Text.Encoding get_ASCII() }"/>
					<MemberSignature Language="C#" Value="public static Encoding ASCII { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.Encoding</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets an encoding for the ASCII (7-bit) character set.
      </para>
						</summary>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>ASCII characters can represent Unicode characters from U+0000 to U+007f, 
         inclusive.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BigEndianUnicode">
					<MemberSignature Language="ILASM" Value=".property class System.Text.Encoding BigEndianUnicode { public hidebysig static specialname class System.Text.Encoding get_BigEndianUnicode() }"/>
					<MemberSignature Language="C#" Value="public static Encoding BigEndianUnicode { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.Encoding</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets an encoding for the Unicode format in big-endian
      byte order.
      </para>
						</summary>
						<value>
							<para>A <see cref="T:System.Text.Encoding"/> for the Unicode format in big-endian byte order. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>Unicode characters can be stored in two different byte orders, big-endian and little-endian. On little-endian platforms such as those
         implemented on Intel processors, it is generally more efficient to
         store Unicode characters in little-endian byte order. However, many other
         platforms can store Unicode characters in big-endian byte order. Unicode files
         can be distinguished by the presence of the byte order mark (U+FEFF), which will
         be written as either 0xfe 0xff or 0xff 0xfe. </para>
								<para> This encoding automatically detects a byte order mark and, if necessary,
         switches byte orders.
         </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Convert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Byte[] Convert(class System.Text.Encoding srcEncoding, class System.Text.Encoding dstEncoding, class System.Byte[] bytes, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public static byte[] Convert(Encoding srcEncoding, Encoding dstEncoding, byte[] bytes, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="srcEncoding" Type="System.Text.Encoding"/>
						<Parameter Name="dstEncoding" Type="System.Text.Encoding"/>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts the specified range of the specified <see cref="T:System.Byte"/> array from one specified encoding to another specified
   encoding.
   </para>
						</summary>
						<param name="srcEncoding">The <see cref="T:System.Text.Encoding"/> that <paramref name="bytes"/> is in. </param>
						<param name="dstEncoding">The <see cref="T:System.Text.Encoding"/> desired for the returned <see cref="T:System.Byte"/> array. </param>
						<param name="bytes">The <see cref="T:System.Byte"/> array containing the values to convert. </param>
						<param name="index">A <see cref="T:System.Int32"/> containing the first index of <paramref name="bytes"/> from which to convert. </param>
						<param name="count">A <see cref="T:System.Int32"/> containing the number of bytes to convert. </param>
						<returns>
							<para>A <see cref="T:System.Byte"/> array
   containing the result of the conversion. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="srcEncoding"/>, <paramref name="dstEncoding "/>, or <paramref name="bytes"/> is <see langword="null"/>. </para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> and <paramref name="count"/> do not denote a valid range in <paramref name="bytes"/> . </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Convert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Byte[] Convert(class System.Text.Encoding srcEncoding, class System.Text.Encoding dstEncoding, class System.Byte[] bytes)"/>
					<MemberSignature Language="C#" Value="public static byte[] Convert(Encoding srcEncoding, Encoding dstEncoding, byte[] bytes);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="srcEncoding" Type="System.Text.Encoding"/>
						<Parameter Name="dstEncoding" Type="System.Text.Encoding"/>
						<Parameter Name="bytes" Type="System.Byte[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts the specified <see cref="T:System.Byte"/> array from one specified encoding to another specified encoding.
   </para>
						</summary>
						<param name="srcEncoding">The <see cref="T:System.Text.Encoding"/> that <paramref name="bytes"/> is in. </param>
						<param name="dstEncoding">The <see cref="T:System.Text.Encoding"/> desired for the returned <see cref="T:System.Byte"/> array. </param>
						<param name="bytes">The <see cref="T:System.Byte"/> array containing the values to convert. </param>
						<returns>
							<para> A <see cref="T:System.Byte"/> array containing the result
   of the conversion.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="srcEncoding"/>, <paramref name="dstEncoding"/> or <paramref name="bytes"/> is <see langword="null"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Default">
					<MemberSignature Language="ILASM" Value=".property class System.Text.Encoding Default { public hidebysig static specialname class System.Text.Encoding get_Default() }"/>
					<MemberSignature Language="C#" Value="public static Encoding Default { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.Encoding</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets an encoding for the ANSI code page of the current system.
      </para>
						</summary>
						<value>
							<para>A <see cref="T:System.Text.Encoding"/> for the ANSI code page of the current system.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object value)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the specified
   <see cref="T:System.Object"/> represent the same
      type and value.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> represents the same type and value as
   the current instance. If <paramref name="obj"/> is a null reference or is not an
   instance of <see cref="T:System.Text.Encoding"/>, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Object.Equals(System.Object)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetByteCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetByteCount(class System.Char[] chars)"/>
					<MemberSignature Language="C#" Value="public virtual int GetByteCount(char[] chars);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.Char[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the number of bytes required to encode the
      specified <see cref="T:System.Char"/>
      array.
      </para>
						</summary>
						<param name="chars">The <see cref="T:System.Char"/> array to encode. </param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the number of bytes needed to encode
<paramref name="chars"/>.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="chars "/>is <see langword="null"/>. </exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">This
      method is overridden by types derived from <see cref="T:System.Text.Encoding"/> to return the
      appropriate number of bytes for the particular encoding.
   </block>
							</para>
							<block subset="none" type="usage">
								<para>
									<see cref="M:System.Text.Encoding.GetByteCount(System.Char[])"/> can be used to determine the
      exact number of bytes that will be produced from encoding the given array of
      characters. An appropriately sized buffer for that conversion can then be
      allocated. </para>
								<para> Alternatively, <see cref="M:System.Text.Encoding.GetMaxByteCount(System.Int32)"/> can be used to determine the maximum number of bytes that will
   be produced from converting a given number of characters, regardless of the actual character
   values. A buffer of that size can then be reused for multiple conversions. </para>
								<para>
									<see cref="M:System.Text.Encoding.GetByteCount(System.Char[])"/> generally uses less memory and
<see cref="M:System.Text.Encoding.GetMaxByteCount(System.Int32)"/> generally executes faster. </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetByteCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetByteCount(string s)"/>
					<MemberSignature Language="C#" Value="public virtual int GetByteCount(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the number of bytes required to encode the specified <see cref="T:System.String"/>. </para>
						</summary>
						<param name="s">The <see cref="T:System.String"/> to decode.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the number of bytes needed to encode <paramref name="s"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/> is <see langword="null"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">This
      method is overridden by types derived from <see cref="T:System.Text.Encoding"/> to return the
      appropriate number of bytes for the particular encoding.
   </block>
							</para>
							<block subset="none" type="usage">
								<para>
									<see cref="M:System.Text.Encoding.GetByteCount(System.Char[])"/> can
      be used to determine the exact number of bytes that will be produced from
      encoding the given <see cref="T:System.String"/>
      . An appropriately sized buffer for that conversion can then be
      allocated. </para>
								<para> Alternatively, <see cref="M:System.Text.Encoding.GetMaxByteCount(System.Int32)"/> can be used to determine the maximum number of bytes that will
   be produced from converting a given number of characters, regardless of the actual character
   values. A buffer of that size can then be reused for multiple conversions. </para>
								<para>
									<see cref="M:System.Text.Encoding.GetByteCount(System.Char[])"/> generally uses less memory and
<see cref="M:System.Text.Encoding.GetMaxByteCount(System.Int32)"/> generally executes faster. </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetByteCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 GetByteCount(class System.Char[] chars, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public abstract int GetByteCount(char[] chars, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the number of bytes required to encode the specified range of
      characters in the specified Unicode character array. </para>
						</summary>
						<param name="chars">The <see cref="T:System.Char"/> array to encode. </param>
						<param name="index">A <see cref="T:System.Int32"/> containing the first index of <paramref name="chars"/> to encode. </param>
						<param name="count">A <see cref="T:System.Int32"/> containing the number of characters to encode. </param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the number of bytes required to encode the range
   in <paramref name="chars"/> from <paramref name="index"/> to <paramref name="index"/> +
<paramref name="count"/> - 1.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="chars "/>is <see langword="null"/> . </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>The number of bytes required to encode the specified elements in <paramref name="chars"/> is greater than <see cref="F:System.Int32.MaxValue"/>. </para>
							<para>-or- </para>
							<para>
								<paramref name="index"/> or <paramref name="count"/> is less than zero. </para>
							<para> -or- </para>
							<para>
								<paramref name="index"/> and <paramref name="count"/> do not specify a valid range in <paramref name="chars"/> (i.e. (<paramref name="index"/> + <paramref name="count"/>) &gt; <paramref name="chars"/>.Length).</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">
      As described above.
   </block>
							</para>
							<para>
								<block subset="none" type="overrides"> This
      method is overridden by types derived from <see cref="T:System.Text.Encoding"/> to return the
      appropriate number of bytes for the particular encoding.
   </block>
							</para>
							<block subset="none" type="usage">
								<para>
									<see cref="M:System.Text.Encoding.GetByteCount(System.Char[])"/> can be used to determine the exact
      the number of bytes that will be produced from encoding a given range of
      characters. An appropriately sized buffer for that conversion can
      then be allocated.
      </para>
								<para> Alternatively, <see cref="M:System.Text.Encoding.GetMaxByteCount(System.Int32)"/> can be used to determine the maximum number of bytes that will
   be produced from converting a given number of characters, regardless of the actual character
   values. A buffer of that size can then be reused
   for multiple conversions.</para>
								<para>
									<see cref="M:System.Text.Encoding.GetByteCount(System.Char[])"/>
generally uses less memory and <see cref="M:System.Text.Encoding.GetMaxByteCount(System.Int32)"/>
generally executes faster.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Byte[] GetBytes(class System.Char[] chars)"/>
					<MemberSignature Language="C#" Value="public virtual byte[] GetBytes(char[] chars);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.Char[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Encodes the specified <see cref="T:System.Char"/>
array.</para>
						</summary>
						<param name="chars">The <see cref="T:System.Char"/> array to encode. </param>
						<returns>
							<para> A <see cref="T:System.Byte"/> array containing
   the encoded representation of <paramref name="chars"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="chars"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides"> This method is overridden by 
      types derived from <see cref="T:System.Text.Encoding"/> to perform the encoding.
   </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Byte[] GetBytes(class System.Char[] chars, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public virtual byte[] GetBytes(char[] chars, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Encodes the specified range of the
      specified <see cref="T:System.Char"/>
      array.
      </para>
						</summary>
						<param name="chars">The <see cref="T:System.Char"/> array to encode. </param>
						<param name="index">A <see cref="T:System.Int32"/> containing the first index of <paramref name="chars"/> to encode. </param>
						<param name="count">A <see cref="T:System.Int32"/> containing the number of characters to encode. </param>
						<returns>
							<para> A <see cref="T:System.Byte"/> array containing
   the encoded representation of the range in <paramref name="chars"/>
   from <paramref name="index"/> to <paramref name="index"/> + <paramref name="count"/> - 1.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="chars"/> is <see langword="null"/>. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> and <paramref name="count"/> do not denote a valid range in <paramref name="chars"/>. </exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides"> This method is overridden by 
      types derived from <see cref="T:System.Text.Encoding"/> to perform the encoding. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 GetBytes(class System.Char[] chars, int32 charIndex, int32 charCount, class System.Byte[] bytes, int32 byteIndex)"/>
					<MemberSignature Language="C#" Value="public abstract int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="charIndex" Type="System.Int32"/>
						<Parameter Name="charCount" Type="System.Int32"/>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Encodes the specified range of the
      specified <see cref="T:System.Char"/> array into the specified range of the
      specified <see cref="T:System.Byte"/>
      array.
      </para>
						</summary>
						<param name="chars">A <see cref="T:System.Char"/> array to encode. </param>
						<param name="charIndex">A <see cref="T:System.Int32"/> containing the first index of <paramref name="chars"/> to encode. </param>
						<param name="charCount">A <see cref="T:System.Int32"/> containing the number of characters to encode. </param>
						<param name="bytes">A <see cref="T:System.Byte"/> array to encode into. </param>
						<param name="byteIndex">A <see cref="T:System.Int32"/> containing the first index of <paramref name="bytes"/> to encode into. </param>
						<returns>
							<para> The number of bytes encoded into <paramref name="bytes"/> .
   </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="bytes"/> does not contain sufficient space to store the encoded characters.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="chars "/>is <see langword="null"/>. </para>
							<para>-or- </para>
							<para>
								<paramref name="bytes "/>is <see langword="null"/>. </para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="charIndex"/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="charCount "/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="byteIndex "/> &lt; 0. </para>
							<para> -or- </para>
							<para>(<paramref name="chars"/>.Length - <paramref name="charIndex"/>) &lt; <paramref name="charCount"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="byteIndex"/> &gt; <paramref name="bytes"/>.Length.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">This
   method is overridden by types derived from <see cref="T:System.Text.Encoding"/>
   to perform the encoding.
</block>
							</para>
							<para>
								<block subset="none" type="usage">
									<see cref="M:System.Text.Encoding.GetByteCount(System.Char[])"/> can be used to determine the exact number of bytes
   that will be produced for a given range of characters. Alternatively, <see cref="M:System.Text.Encoding.GetMaxByteCount(System.Int32)"/> can be used to
   determine the maximum number of bytes that will be produced for a given number
   of characters, regardless of the actual character values.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Byte[] GetBytes(string s)"/>
					<MemberSignature Language="C#" Value="public virtual byte[] GetBytes(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Encodes the specified <see cref="T:System.String"/>.
   </para>
						</summary>
						<param name="s">The <see cref="T:System.String"/> to encode. </param>
						<returns>
							<para>A <see cref="T:System.Byte"/> array
   containing the encoded representation of <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">This 
      method is overridden by types derived from <see cref="T:System.Text.Encoding"/>
      to perform the encoding.
   </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetBytes(string s, int32 charIndex, int32 charCount, class System.Byte[] bytes, int32 byteIndex)"/>
					<MemberSignature Language="C#" Value="public virtual int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="charIndex" Type="System.Int32"/>
						<Parameter Name="charCount" Type="System.Int32"/>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Encodes the specified range of the
      specified <see cref="T:System.String"/> into the specified range of the specified <see cref="T:System.Byte"/>
      array.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> to encode.</param>
						<param name=" charIndex">A <see cref="T:System.Int32"/> containing the first index of <paramref name="s"/> from which to encode.</param>
						<param name="charCount">A <see cref="T:System.Int32"/> containing the number of characters of <paramref name="s"/> to encode.</param>
						<param name=" bytes">The <see cref="T:System.Byte"/> array to encode into.</param>
						<param name=" byteIndex">A <see cref="T:System.Int32"/> containing the first index of <paramref name="bytes"/> to encode into.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the number of bytes encoded into <paramref name="bytes"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="bytes"/> does not contain sufficient space to store the encoded characters.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="s "/>is <see langword="null"/>. </para>
							<para>-or- </para>
							<para>
								<paramref name="bytes "/>is <see langword="null"/>. </para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="charIndex"/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="charCount "/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="byteIndex "/> &lt; 0. </para>
							<para> -or- </para>
							<para>(<paramref name="s"/>.Length - <paramref name="charIndex"/>) &lt; <paramref name="charCount"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="byteIndex"/> &gt;= <paramref name="bytes"/>.Length.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">This
      method is overridden by types derived from <see cref="T:System.Text.Encoding"/>
      to perform the encoding.
   </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetCharCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetCharCount(class System.Byte[] bytes)"/>
					<MemberSignature Language="C#" Value="public virtual int GetCharCount(byte[] bytes);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines the exact number of characters that will
      be produced by decoding the specified <see cref="T:System.Byte"/> array. </para>
						</summary>
						<param name="bytes">The <see cref="T:System.Byte"/> array to decode. </param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the number of characters produced by decoding
<paramref name="bytes"/>.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="bytes"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">This
      method is overridden by types derived from <see cref="T:System.Text.Encoding"/> to return the appropriate number of bytes for
      the particular encoding.</block>
							</para>
							<block subset="none" type="usage">
								<para>Use <see cref="M:System.Text.Encoding.GetCharCount(System.Byte[])"/> to determine the exact number
      of characters that will be produced from converting a given byte array. An
      appropriately sized buffer for that conversion can then be allocated. </para>
								<para>Alternatively, use <see cref="M:System.Text.Encoding.GetMaxCharCount(System.Int32)"/> to determine the maximum number of 
   characters that will be produced for
   a given number of bytes, regardless of the actual byte values. A buffer of that
   size can then be reused for multiple conversions. </para>
								<para>
									<see cref="M:System.Text.Encoding.GetCharCount(System.Byte[])"/> generally uses less memory and <see cref="M:System.Text.Encoding.GetMaxCharCount(System.Int32)"/> generally executes faster.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetCharCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 GetCharCount(class System.Byte[] bytes, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public abstract int GetCharCount(byte[] bytes, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines the exact number of characters that will be produced by decoding
      the specified range of the specified <see cref="T:System.Byte"/> array. </para>
						</summary>
						<param name="bytes">The <see cref="T:System.Byte"/> array to decode. </param>
						<param name="index">The first index in <paramref name="bytes"/> to decode. </param>
						<param name="count">The number of bytes to decode. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the number of characters the next call to <see cref="M:System.Text.Decoder.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/> will produce if presented with the 
   specified range of <paramref name="bytes"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="bytes"/> is <see langword="null"/>. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index "/>and <paramref name="count "/>do not specify a valid range in <paramref name="bytes"/> (i.e. (<paramref name="index"/> + <paramref name="count"/>) &gt; <paramref name="bytes"/>.Length).</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">This
   method is overridden by types derived from <see cref="T:System.Text.Encoding"/> to return the appropriate number of bytes for
   the particular encoding.</block>
							</para>
							<block subset="none" type="usage">
								<para> Use <see cref="M:System.Text.Encoding.GetCharCount(System.Byte[])"/> to determine the exact number
   of characters that will be produced from converting a given range of bytes. An
   appropriately sized buffer for that conversion can
   then be
   allocated.
   </para>
								<para> Alternatively, use <see cref="M:System.Text.Encoding.GetMaxCharCount(System.Int32)"/> to determine the maximum number of 
characters that will be produced for
a given number of bytes, regardless of the actual byte values. A buffer of that size
can then be reused
for multiple
conversions.</para>
								<para>
									<see cref="M:System.Text.Encoding.GetCharCount(System.Byte[])"/> generally uses less memory and <see cref="M:System.Text.Encoding.GetMaxCharCount(System.Int32)"/>
generally executes
faster.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetChars">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Char[] GetChars(class System.Byte[] bytes)"/>
					<MemberSignature Language="C#" Value="public virtual char[] GetChars(byte[] bytes);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Decodes a <see cref="T:System.Byte"/> array.
 </para>
						</summary>
						<param name="bytes">The <see cref="T:System.Byte"/> array to decode. </param>
						<returns>
							<para> A <see cref="T:System.Char"/> array produced by
 decoding <paramref name="bytes"/>
 
 .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="bytes"/> is <see langword="null"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetChars">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Char[] GetChars(class System.Byte[] bytes, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public virtual char[] GetChars(byte[] bytes, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Decodes the specified range of the
      specified <see cref="T:System.Byte"/> array.
      </para>
						</summary>
						<param name="bytes">The <see cref="T:System.Byte"/> array to decode. </param>
						<param name="index">A <see cref="T:System.Int32"/> containing the first index of <paramref name="bytes "/> to decode. </param>
						<param name="count">A <see cref="T:System.Int32"/> containing the number of bytes to decode. </param>
						<returns>
							<para> A <see cref="T:System.Char"/> array containing the
   decoded representation of the range in <paramref name="bytes "/>between <paramref name="index "/>to
<paramref name="index "/>+ <paramref name="count"/>
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="bytes "/>is <see langword="null"/> . </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index "/>and <paramref name="count "/>do not denote a valid range in the byte array. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetChars">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 GetChars(class System.Byte[] bytes, int32 byteIndex, int32 byteCount, class System.Char[] chars, int32 charIndex)"/>
					<MemberSignature Language="C#" Value="public abstract int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
						<Parameter Name="byteCount" Type="System.Int32"/>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="charIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Decodes the specified range of the specified <see cref="T:System.Byte"/> array into the specified range of the specified <see cref="T:System.Char"/> array. </para>
						</summary>
						<param name="bytes">The <see cref="T:System.Byte"/> array to decode. </param>
						<param name="byteIndex">A <see cref="T:System.Int32"/> containing the first index of <paramref name="bytes"/> to decode. </param>
						<param name="byteCount">A <see cref="T:System.Int32"/> containing the number of bytes to decode. </param>
						<param name="chars">The <see cref="T:System.Char"/> array to decode into. </param>
						<param name="charIndex">A <see cref="T:System.Int32"/> containing the first index of <paramref name="chars"/> to decode into. </param>
						<returns>
							<para> The number of characters stored in <paramref name="chars"/>.
   </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="chars"/> does not contain sufficient space to store the decoded characters.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="bytes "/>is <see langword="null"/> . </para>
							<para>-or- </para>
							<para>
								<paramref name="chars "/>is <see langword="null"/> . </para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="byteIndex"/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="byteCount "/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="charIndex "/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="byteIndex"/> and <paramref name="byteCount"/> do not specify a valid range in <paramref name="bytes"/> (i.e. (<paramref name="byteIndex "/>+ <paramref name="byteCount "/> ) &gt; <paramref name="bytes"/>.Length). </para>
							<para>-or- </para>
							<para>
								<paramref name="charIndex"/> &gt; <paramref name="chars"/>.Length.</para>
						</exception>
						<remarks>
							<block subset="none" type="behaviors">
								<para>This method requires the caller to provide the destination
         buffer and ensure that the buffer is large enough to hold the entire result of
         the conversion.</para>
							</block>
							<para>
								<block subset="none" type="overrides">This
      method is overridden by types derived from <see cref="T:System.Text.Encoding"/> to perform the particular decoding.</block>
							</para>
							<para>
								<block subset="none" type="usage">When using this method directly on a <see cref="T:System.Text.Encoding"/> object or on an associated <see cref="T:System.Text.Decoder"/> or <see cref="T:System.Text.Encoder"/>, use
<see cref="M:System.Text.Encoding.GetCharCount(System.Byte[])"/> or <see cref="M:System.Text.Encoding.GetMaxCharCount(System.Int32)"/> to allocate destination 
   buffers.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetDecoder">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Text.Decoder GetDecoder()"/>
					<MemberSignature Language="C#" Value="public virtual Decoder GetDecoder();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.Decoder</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Text.Decoder"/> for the current instance.
   </para>
						</summary>
						<returns>
							<para> A <see cref="T:System.Text.Decoder"/> for
   the current
   instance.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default implementation returns a <see cref="T:System.Text.Decoder"/> that
   forwards calls made to the <see cref="M:System.Text.Encoding.GetCharCount(System.Byte[])"/> and <see cref="M:System.Text.Encoding.GetChars(System.Byte[])"/> methods to the corresponding methods of the
   current instance.
</block>
							</para>
							<para>
								<block subset="none" type="overrides">Encoding that requires
   state to be maintained between successive conversions should override this
   method and return an instance of an appropriate <see cref="T:System.Text.Decoder"/> implementation.</block>
							</para>
							<para>
								<block subset="none" type="usage">
   
   Unlike the <see cref="M:System.Text.Encoding.GetChars(System.Byte[])"/> methods, a <see cref="T:System.Text.Decoder"/> can convert partial
   sequences of bytes into partial sequences of characters by maintaining the
   appropriate state between the conversions.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEncoder">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Text.Encoder GetEncoder()"/>
					<MemberSignature Language="C#" Value="public virtual Encoder GetEncoder();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.Encoder</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Text.Encoder"/>
for the current instance.</para>
						</summary>
						<returns>
							<para> A <see cref="T:System.Text.Encoder"/> for
   the current
   encoding.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default implementation returns a <see cref="T:System.Text.Encoder"/> that 
forwards calls made to the <see cref="M:System.Text.Encoding.GetByteCount(System.Char[])"/> and <see cref="M:System.Text.Encoding.GetBytes(System.Char[])"/> methods to the
corresponding methods of the
current instance.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Types derived from <see cref="T:System.Text.Encoding"/> override this method to
return an instance of an appropriate <see cref="T:System.Text.Encoder"/> .</block>
							</para>
							<para>
								<block subset="none" type="usage">
   
   Unlike the <see cref="M:System.Text.Encoding.GetBytes(System.Char[])"/> method, a <see cref="T:System.Text.Encoder"/> can convert partial
   sequences of characters into partial sequences of bytes by maintaining the
   appropriate state between the conversions.
</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para>The algorithm used to
      generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Object.GetHashCode" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetMaxByteCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 GetMaxByteCount(int32 charCount)"/>
					<MemberSignature Language="C#" Value="public abstract int GetMaxByteCount(int charCount);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="charCount" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the maximum number of bytes required to encode the specified number of characters, regardless of
      the actual character values.
      </para>
						</summary>
						<param name="charCount">A <see cref="T:System.Int32"/> containing the number of characters to encode. </param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the maximum number of bytes required to encode
<paramref name="charCount"/>
characters.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">
      As described above.
   </block>
							</para>
							<para>
								<block subset="none" type="overrides">This
      method is overridden by types derived from <see cref="T:System.Text.Encoding"/> to return the appropriate number of bytes for
      the particular encoding.</block>
							</para>
							<para>
								<block subset="none" type="usage">
									<see cref="M:System.Text.Encoding.GetMaxByteCount(System.Int32)"/> can be used to determine the
      minimum buffer size for byte arrays passed to the <see cref="M:System.Text.Encoding.GetBytes(System.Char[])"/> of the
      current encoding. Using this minimum buffer size ensures that no buffer overflow
      exceptions occur.
   </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetMaxCharCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 GetMaxCharCount(int32 byteCount)"/>
					<MemberSignature Language="C#" Value="public abstract int GetMaxCharCount(int byteCount);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="byteCount" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the maximum number of characters produced by decoding the specified number of bytes,
      regardless of the actual byte values.
      </para>
						</summary>
						<param name="byteCount">A <see cref="T:System.Int32"/> containing the number of bytes to decode. </param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the maximum number of characters that would be produced
   by decoding <paramref name="byteCount"/>
   bytes.
   </para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">This
      method is overridden by types derived from <see cref="T:System.Text.Encoding"/> to return the appropriate number of bytes for
      the particular encoding.</block>
							</para>
							<para>
								<block subset="none" type="usage">
									<see cref="M:System.Text.Encoding.GetMaxCharCount(System.Int32)"/> can be used to determine the minimum
      buffer size for byte arrays passed to the <see cref="M:System.Text.Encoding.GetChars(System.Byte[])"/> of the current encoding.
      Using this minimum buffer size ensures that no buffer overflow exceptions will
      occur.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetPreamble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Byte[] GetPreamble()"/>
					<MemberSignature Language="C#" Value="public virtual byte[] GetPreamble();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns the bytes used at the beginning of a <see cref="T:System.IO.Stream"/> to determine
   which <see cref="T:System.Text.Encoding"/>
   the stream was created with. </para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Byte"/>
array that identifies the encoding used on a stream. </para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">The preamble can be the Unicode
      byte order mark (U+FEFF written in the appropriate encoding) or any other type
      of identifying marks. This method can return an empty array.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default
      implementation returns an empty <see cref="T:System.Byte"/>
      array.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this 
      method to return a <see cref="T:System.Byte"/>
      array containing the preamble appropriate for the
      type derived from <see cref="T:System.Text.Encoding"/>
      .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string GetString(class System.Byte[] bytes)"/>
					<MemberSignature Language="C#" Value="public virtual string GetString(byte[] bytes);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Decodes the specified <see cref="T:System.Byte"/> array.
   </para>
						</summary>
						<param name="bytes">The <see cref="T:System.Byte"/> array to decode. </param>
						<returns>
							<para> A <see cref="T:System.String"/> containing the decoded representation of <paramref name="bytes"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="bytes"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">This method is overridden by
      particular character encodings.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string GetString(class System.Byte[] bytes, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public virtual string GetString(byte[] bytes, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Decodes the specified range of the specified <see cref="T:System.Byte"/> array. </para>
						</summary>
						<param name="bytes">The <see cref="T:System.Byte"/> array to decode. </param>
						<param name="index">A <see cref="T:System.Int32"/> containing the starting index of <paramref name="bytes"/> to decode. </param>
						<param name="count">A <see cref="T:System.Int32"/> containing the number of bytes to decode. </param>
						<returns>
							<para> A <see cref="T:System.String"/> containing the decoded representation of the range
   of <paramref name="bytes"/> from <paramref name="index"/> to <paramref name="index"/> + <paramref name="count"/>.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="bytes "/> is <see langword="null"/>. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index "/>and <paramref name="count "/>do not denote a valid range in <paramref name="bytes"/>. </exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">This method is overridden by
      particular character encodings.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Unicode">
					<MemberSignature Language="ILASM" Value=".property class System.Text.Encoding Unicode { public hidebysig static specialname class System.Text.Encoding get_Unicode() }"/>
					<MemberSignature Language="C#" Value="public static Encoding Unicode { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.Encoding</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets an encoding for the Unicode format in little-endian
      byte order.
      </para>
						</summary>
						<value>
							<para>A <see cref="T:System.Text.Encoding"/> for the Unicode format in little-endian byte
   order. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>Unicode characters can be stored in two different byte orders, big-endian and little-endian. On little-endian platforms such as those
         implemented on Intel processors, it is generally more efficient to
         store Unicode characters in little-endian byte order. However, many other
         platforms can store Unicode characters in big-endian byte order. Unicode files
         can be distinguished by the presence of the byte order mark (U+FEFF), which will
         be written as either 0xfe 0xff or 0xff 0xfe. </para>
								<para> This encoding automatically detects a byte order mark and, if
         necessary, switches byte orders.
         </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="UTF8">
					<MemberSignature Language="ILASM" Value=".property class System.Text.Encoding UTF8 { public hidebysig static specialname class System.Text.Encoding get_UTF8() }"/>
					<MemberSignature Language="C#" Value="public static Encoding UTF8 { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.Encoding</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets an encoding for the UTF-8 format.
      </para>
						</summary>
						<value>
							<para>A <see cref="T:System.Text.Encoding"/> for the UTF-8 format.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>For detailed information regarding UTF-8 encoding, see <see cref="T:System.Text.UTF8Encoding"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="EndOfStreamException" FullName="System.IO.EndOfStreamException" FullNameSP="System_IO_EndOfStreamException">
			<TypeSignature Language="ILASM" Value=".class public serializable EndOfStreamException extends System.IO.IOException"/>
			<TypeSignature Language="C#" Value="public class EndOfStreamException : IOException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents the error that occurs when an attempt is made to read past the
      end of a stream.</para>
				</summary>
			</Docs>
			<Base>
				<BaseTypeName>System.IO.IOException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public EndOfStreamException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.EndOfStreamException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.IO.EndOfStreamException.Message"/> property of the new instance to
   a system-supplied message that describes the error, such as "Attempted to read
   past the end of the stream." This message takes into account the current system
   culture.</para>
							<para>The <see cref="!:System.IO.EndOfStreamException.InnerException"/> property of the new instance is 
initialized to <see langword="null"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public EndOfStreamException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.EndOfStreamException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.IO.EndOfStreamException.Message"/> property of the
   new instance using <paramref name="message"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.IO.EndOfStreamException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no
   arguments. </para>
							<para> The <see cref="!:System.IO.EndOfStreamException.InnerException"/> property of the new instance is
initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public EndOfStreamException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.EndOfStreamException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/>.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.IO.EndOfStreamException.Message"/> property of the
   new instance using <paramref name="message"/> and the <see cref="!:System.IO.EndOfStreamException.InnerException"/> property using
<paramref name="innerException"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.IO.EndOfStreamException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For more information on inner
   exceptions, see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Enum" FullName="System.Enum" FullNameSP="System_Enum">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable Enum extends System.ValueType implements System.IComparable, System.IFormattable"/>
			<TypeSignature Language="C#" Value="public abstract class Enum : ValueType, IComparable, IFormattable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Provides support for all enumeration types. Serves as
      the base
      class for all enumeration types.</para>
				</summary>
				<remarks>
					<para> A <see cref="T:System.Enum"/> is a distinct type
   with named constant members. Each enumeration type has a corresponding integral
   type called the <paramref name="underlying type"/> of the enumeration
   type.
   
   This underlying type is required
   to be a system-supplied integer type that is large enough to represent all values
   defined in the enumeration; the field that holds the underlying type must be called <see langword="value__"/>. A <see cref="T:System.Enum"/> declaration is allowed to
   explicitly declare any integral type other
   than <see cref="T:System.Char"/>
   as an underlying type. This includes <see cref="T:System.Byte"/>, <see cref="T:System.SByte"/>, <see cref="T:System.Int16"/>, <see cref="T:System.Int32"/>, <see cref="T:System.Int64"/>, <see cref="T:System.UInt16"/>, <see cref="T:System.UInt32"/>, and <see cref="T:System.UInt64"/>. A <see cref="T:System.Enum"/> declaration that does not explicitly declare an
   underlying type has an underlying type of <see cref="T:System.Int32"/>
   
   .</para>
					<para>
						<see cref="T:System.Enum"/> derives from <see cref="T:System.ValueType"/> but is not a value type.
Programming languages typically provide syntax to declare sets of a specified
enumeration type consisting of named constants and their values.</para>
					<para>It is possible to treat instances of a <see cref="T:System.Enum"/> as bit fields containing multiple values. For more information, see <see cref="T:System.FlagsAttribute"/> 
.</para>
					<para>
						<block subset="none" type="note">
							<see cref="T:System.Enum"/> provides
methods to compare instances of enumeration types, convert the value of an
instance to its <see cref="T:System.String"/> representation, convert the <see cref="T:System.String"/> representation of
a number to an instance of the enumeration type, and create an instance of a
specified enumeration and value.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IFormattable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object target)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the sort order of the current instance compared
      to the specified <see cref="T:System.Object"/>.</para>
						</summary>
						<param name="target">An object to compare the current instance to.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing a value that reflects the sort order of the current instance as
compared to <paramref name="target"/>. The following table defines the conditions under
which the returned value is a negative number, zero, or a positive number.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> 
         Any negative
         integer</term>
									<description>The value of the current instance is less than
         the value of <paramref name="target"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>The value of the current instance is equal to the
         value of <paramref name="target"/>.</description>
								</item>
								<item>
									<term> Any
         positive integer</term>
									<description>The value of the current instance is greater than the
         value of <paramref name="target"/>, or <paramref name="target"/> is
      <see langword="null"/>.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target"/> and the current instance are not of the same enumeration type.</exception>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is
      implemented to support the <see cref="T:System.IComparable"/>
      interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the specified
   <see cref="T:System.Object"/> represent the same type and
      value.</para>
						</summary>
						<param name=" obj">An object to compare the current instance to.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> is of the same
   enumeration type and represents the same value as the current instance;
   otherwise, <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Format">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Format(class System.Type enumType, object value, string format)"/>
					<MemberSignature Language="C#" Value="public static string Format(Type enumType, object value, string format);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="format" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts the specified element of the specified
      enumeration type to its <see cref="T:System.String"/>
      representation using the specified format. </para>
						</summary>
						<param name="enumType">A <see cref="T:System.Type"/> that specifies the type of the enumeration of which <paramref name="value"/> is a member. </param>
						<param name=" value">The enumeration element to be converted. </param>
						<param name=" format">A <see cref="T:System.String"/> that specifies the output format to use. </param>
						<returns>
							<para> The <see cref="T:System.String"/> representation of the value of the enumeration
   element. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/>, <paramref name="value"/> or <paramref name="format"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not a <see cref="T:System.Enum"/>.</para>
							<para> -or-</para>
							<para>
								<paramref name="value"/> is neither of type <paramref name="enumType"/> nor does it have the same underlying type as <paramref name="enumType"/>.</para>
						</exception>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> contains an invalid value. </exception>
						<remarks>
							<para> For cross-platform portability, the only valid values for
   <paramref name="format"/> are:
      </para>
							<list type="table">
								<listheader>
									<term> Format</term>
									<description> Description</description>
								</listheader>
								<item>
									<term> "G" or "g"</term>
									<description>
										<para> If value is equal to a defined value of
            <paramref name="enumType"/>
            , returns the element name defined for value. If the <see cref="T:System.FlagsAttribute"/>
            attribute is set on the <see cref="T:System.Enum"/> declaration and <paramref name="value"/> is
            a built-in integer type and is equal to a summation of
            enumeration elements, the return value contains the element names in an
            unspecified order, separated by commas (e.g. "Red, Yellow").
            Otherwise, <paramref name="value"/> is returned in
            
            decimal format.</para>
									</description>
								</item>
								<item>
									<term> "X" or "x"</term>
									<description> Returns <paramref name="value"/>
      in hexadecimal format, without a leading 0x. The value is padded
      with leading zeroes to ensure the returned value is
      at least eight digits in length.</description>
								</item>
								<item>
									<term> "F" or "f"</term>
									<description>Behaves identically to "G", except the
   <see langword="FlagsAttribute"/> is not required to be present
      on the <see cref="T:System.Enum"/>
      declaration.</description>
								</item>
								<item>
									<term> "D" or "d"</term>
									<description> Returns <paramref name="value"/> in decimal
   format with no leading zeroes.</description>
								</item>
							</list>
						</remarks>
						<example>
							<para>The following example demonstrates formatting enumeration values.</para>
							<code lang="C#">using System;
public enum Signs {
  Stop = 1,
  Yield = 2,
  Merge = 4
};
[Flags]
public enum Lights {
  Red = 1,
  Yellow = 2,
  Green = 4
};
public class EnumCompTo {
  public static void Main() {
   Console.WriteLine(Signs.Format(typeof(Signs), Signs.Merge, "d"));
   Console.WriteLine(Signs.Format(typeof(Signs), 7, "g"));
   Console.WriteLine(Lights.Format(typeof(Lights), Lights.Yellow, "x"));
   Console.WriteLine(Lights.Format(typeof(Lights), 7, "g"));
  }
}
   </code>
							<para>The output is</para>
							<c>
								<para>4</para>
								<para>7</para>
								<para>00000002</para>
								<para>Red, Yellow, Green</para>
							</c>
						</example>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a hash code for the current instance.</para>
						</returns>
						<remarks>
							<para> The algorithm used to
      generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetName">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string GetName(class System.Type enumType, object value)"/>
					<MemberSignature Language="C#" Value="public static string GetName(Type enumType, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Retrieves the name of the constant of the
      specified enumeration type that has the
      specified value.
      </para>
						</summary>
						<param name="enumType">A <see cref="T:System.Type"/> that specifies the type of the enumeration. </param>
						<param name="value">A <see cref="T:System.Object"/> that contains the integral value or the name of an enumeration constant. </param>
						<returns>
							<para> A <see cref="T:System.String"/> containing the name of the enumerated constant
   in <paramref name="enumType"/> whose value is <paramref name="value"/>, or a null reference
   if no such constant is found.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> or <paramref name="value"/> is a null reference.</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not a <see cref="T:System.Type"/> that describes a <see cref="T:System.Enum"/> .</para>
							<para> -or-</para>
							<para>
								<paramref name="value"/> is neither of type <paramref name="enumType"/> nor does it have the same underlying type as <paramref name="enumType"/>.</para>
						</exception>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Enum.GetName(System.Type,System.Object)"/> method.</para>
							<code lang="C#">using System;
public enum Signs {
  Stop = 1,
  Yield = 2,
  Merge = 4
};
public class EnumCompTo {
  public static void Main() {
   Console.Write( "The name of the constant with the value 4 is: " );
   Console.WriteLine( "{0}.", Signs.GetName(typeof(Signs), 4));
   Console.Write( "The name of the constant with the value Stop is: " );
   Console.WriteLine( "{0}.", Signs.GetName(typeof(Signs), Signs.Stop ));
  }
}
</code>
							<para>The output is</para>
							<c>
								<para>The name of the constant with the value 4 is: Merge.</para>
								<para>The name of the constant with the value Stop is: Stop.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetNames">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetNames(class System.Type enumType)"/>
					<MemberSignature Language="C#" Value="public static string[] GetNames(Type enumType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a zero-based, one-dimensional <see cref="T:System.String"/> array that contains the names of the constants of the specified enumeration type. </para>
						</summary>
						<param name="enumType">A <see cref="T:System.Type"/> that specifies the type of an enumeration. </param>
						<returns>
							<para>A <see cref="T:System.String"/> vector of the names of the constants in
<paramref name="enumType"/>. The elements of the vector
   are sorted by the values of the enumerated constants. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name=" enumType"/> is not a <see cref="T:System.Type"/> that describes a <see cref="T:System.Enum"/> .</para>
						</exception>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Enum.GetNames(System.Type)"/> method.</para>
							<code lang="C#">using System;

public enum Colors {
   Red,
   White,
   Blue
};

public class enumGetNames {

   public static void Main() {
      int i = 0;
      String[] strAry = Colors.GetNames( typeof(Colors) );
      foreach (String str in strAry) { 
         Console.Write("The value indexed '{0}' ", i++ );
         Console.WriteLine("is {0}.", str);
      }
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>The value indexed '0' is Red.</para>
								<para>The value indexed '1' is White.</para>
								<para>The value indexed '2' is Blue.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetUnderlyingType">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Type GetUnderlyingType(class System.Type enumType)"/>
					<MemberSignature Language="C#" Value="public static Type GetUnderlyingType(Type enumType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the underlying type of the specified enumeration type.
      </para>
						</summary>
						<param name="enumType">The <see cref="T:System.Type"/> of an enumeration. </param>
						<returns>
							<para> A <see cref="T:System.Type"/> instance that describes the underlying type of <paramref name="enumType"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not an enumeration type.</para>
						</exception>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Enum.GetUnderlyingType(System.Type)"/> 
method.</para>
							<code lang="C#">using System;
public enum Colors {
  Red,
  White,
  Blue
}
public class EnumUnderlyingTypeTest {
  public static void Main() {
     Type t = Colors.GetUnderlyingType( typeof(Colors) );
     Console.WriteLine("The underlying type of Colors is {0}.", t.ToString());
  }
}
</code>
							<para>The output is</para>
							<c>
								<para>The underlying type of Colors is System.Int32.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetValues">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Array GetValues(class System.Type enumType)"/>
					<MemberSignature Language="C#" Value="public static Array GetValues(Type enumType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Array</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a zero-based, one-dimensional array of the values of the constants of the
      specified enumeration type.</para>
						</summary>
						<param name="enumType">The <see cref="T:System.Type"/> of an enumeration. </param>
						<returns>
							<para> A vector of the enumeration type specified by
   <paramref name="enumType"/> containing the values of the
      constants in <paramref name="enumType"/>. The elements of the array
      are sorted by the values of the enumeration constants.
      </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not an enumeration type.</para>
						</exception>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Enum.GetValues(System.Type)"/> method.</para>
							<code lang="C#">using System;
public enum Colors {
  Red = 1,
  White = 2,
  Blue = 4
}
public class enumGetValues {
   public static void Main() {
      Array valueAry = Enum.GetValues(typeof(Colors));
      foreach (int i in valueAry) {
        Console.WriteLine("The value of element {0} is {1}",
        Enum.Format(typeof(Colors), i, "g"),i);
      }
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>The value of element Red is 1.</para>
								<para>The value of element White is 2.</para>
								<para>The value of element Blue is 4.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsDefined">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsDefined(class System.Type enumType, object value)"/>
					<MemberSignature Language="C#" Value="public static bool IsDefined(Type enumType, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> indicating whether a constant with the specified value exists
   in the specified enumeration type.</para>
						</summary>
						<param name="enumType">A <see cref="T:System.Type"/> that describes an enumeration. </param>
						<param name=" value">The constant or value being searched for in <paramref name="enumType"/>. </param>
						<returns>
							<para>
								<see langword="true"/> if a constant
   in the enumeration described by <paramref name="enumType"/>
   has a value equal to <paramref name="value"/>; otherwise,
<see langword="false"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType "/>or <paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not an enumeration type.</para>
							<para> -or-</para>
							<para> The type of <paramref name="value"/> is not an <paramref name="enumType"/> or an underlying type of <paramref name="enumType"/>.</para>
						</exception>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Enum.IsDefined(System.Type,System.Object)"/> method.</para>
							<code lang="C#">using System;
public enum Colors {
  Red = 1,
  White = 2,
  Blue = 4
}
public class enumIsDefined {
  public static void Main() {
     Console.Write("It is {0} ", Enum.IsDefined(typeof(Colors), 1));
     Console.WriteLine("that '1' is defined in 'Colors'.");
     Console.Write("It is {0} ", Enum.IsDefined(typeof(Colors), 3)); 
     Console.WriteLine("that '3' is defined in 'Colors'.");
  }
}
</code>
							<para>The output is</para>
							<c>
								<para>It is True that '1' is defined in 'Colors'.</para>
								<para>It is False that '3' is defined in 'Colors'.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static object Parse(class System.Type enumType, string value)"/>
					<MemberSignature Language="C#" Value="public static object Parse(Type enumType, string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts the specified <see cref="T:System.String"/> representation of one or more
   enumerated constants of a specified enumeration type to an equivalent enumerated
   object.</para>
						</summary>
						<param name="enumType">The <see cref="T:System.Type"/> of an enumeration. </param>
						<param name=" value">A <see cref="T:System.String"/> containing one or more names or a single numeric value to convert. If the string contains more than one name, each name is required to be separated by a comma (','). The names are parsed in a case-sensitive manner. The names or number can be surrounded by any amount of white space.</param>
						<returns>
							<para> A <see cref="T:System.Object"/> of type
<paramref name="enumType"/> whose values are
   represented by <paramref name="value"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> or <paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not a <see cref="T:System.Type"/> that describes a <see cref="T:System.Enum"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="value"/> is either equal to <see cref="F:System.String.Empty" qualify="true"/> or contains only white space.</para>
							<para>-or-</para>
							<para>
								<paramref name="value"/> represents one or more names, and at least one name represented by <paramref name="value "/> is not of type <paramref name="enumType"/>.</para>
						</exception>
						<remarks>
							<para> This version of <see cref="M:System.Enum.Parse(System.Type,System.String)"/> is equivalent to <see cref="M:System.Enum.Parse(System.Type,System.String)"/>
(<paramref name="enumType"/>, <paramref name="value"/>, <see langword="false"/>).</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Enum.Parse(System.Type,System.String)"/> method.</para>
							<code lang="C#">using System;
public enum Colors {
  Red = 1,
  Blue = 2
}
public class enumTest {
  public static void Main() {
    object o = Enum.Parse( typeof (Colors), "Red, Blue");
    Type oType = o.GetType();
    Console.WriteLine("The type of the object returned is {0}",oType.ToString());
    Array values = Enum.GetValues(oType);
    foreach (Colors c in values) { 
      Console.WriteLine(Enum.Format(oType,c,"D"));
    }
  }
}
</code>
							<para>The output is </para>
							<c>
								<para>The type of the object returned is Colors</para>
								<para>1</para>
								<para>2</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static object Parse(class System.Type enumType, string value, bool ignoreCase)"/>
					<MemberSignature Language="C#" Value="public static object Parse(Type enumType, string value, bool ignoreCase);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="ignoreCase" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts the specified <see cref="T:System.String"/>
representation of one or more enumerated constants of a specified enumeration type to an
equivalent enumerated object. This method behaves in a case-sensitive or
insensitive manner according to the specified <see cref="T:System.Boolean"/>.</para>
						</summary>
						<param name="enumType">The <see cref="T:System.Type"/> of an enumeration. </param>
						<param name="value">
							<para>A <see cref="T:System.String"/> containing one or more names or a single numeric value to convert. If the string contains more than one name, each name is required to be separated by a comma (','). The names or number can be surrounded by any amount of white space.</para>
						</param>
						<param name=" ignoreCase">A <see cref="T:System.Boolean"/> value. Specify <see langword="true"/> to have names in <paramref name="value"/> parsed in a case-insensitive manner. Specify <see langword="false"/> to have names parsed in a case-sensitive manner.</param>
						<returns>
							<para>A <see cref="T:System.Object"/> of type
<paramref name="enumType"/>
whose values are represented by <paramref name="value"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> or <paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not a <see cref="T:System.Type"/> that describes a <see cref="T:System.Enum"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="value"/> is either equal to <see cref="F:System.String.Empty" qualify="true"/> or contains only white space.</para>
							<para>-or-</para>
							<para>
								<paramref name="value"/> represents one or more names, and at least one name represented by <paramref name="value "/> is not of type <paramref name="enumType"/>.</para>
						</exception>
						<example>
							<para>For an example that demonstrates parsing strings
      containing enumeration values, see <see cref="M:System.Enum.Parse(System.Type,System.String)"/>(<see cref="T:System.Type"/>, <see cref="T:System.String"/>).</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToObject">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static object ToObject(class System.Type enumType, object value)"/>
					<MemberSignature Language="C#" Value="public static object ToObject(Type enumType, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an instance of the specified enumeration type set to the specified value.
      </para>
						</summary>
						<param name="enumType">The <see cref="T:System.Type"/> of the enumeration. </param>
						<param name=" value">The value to set.</param>
						<returns>
							<para> An enumeration object of type <paramref name="enumType"/> whose value is
<paramref name="value"/>.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not a <see cref="T:System.Type"/> that describes a <see cref="T:System.Enum"/> .</para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToObject">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static object ToObject(class System.Type enumType, int8 value)"/>
					<MemberSignature Language="C#" Value="public static object ToObject(Type enumType, sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an instance of the specified enumeration type set
      to the specified <see cref="T:System.SByte"/> value.
      </para>
						</summary>
						<param name="enumType">The <see cref="T:System.Type"/> of an enumeration. </param>
						<param name=" value">The <see cref="T:System.SByte"/> value to set. </param>
						<returns>
							<para>An enumeration object of type <paramref name="enumType"/> whose value is <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not a <see cref="T:System.Type"/> that describes a <see cref="T:System.Enum"/> .</para>
						</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Enum.ToObject(System.Type,System.Object)"/>(<see cref="T:System.Type"/>, <see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToObject">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static object ToObject(class System.Type enumType, int16 value)"/>
					<MemberSignature Language="C#" Value="public static object ToObject(Type enumType, short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an instance of the specified enumeration type set
      to the specified <see cref="T:System.Int16"/> value.
      </para>
						</summary>
						<param name="enumType">The <see cref="T:System.Type"/> of an enumeration. </param>
						<param name=" value">The <see cref="T:System.Int16"/> value to set. </param>
						<returns>
							<para> An enumeration object of type <paramref name="enumType"/> whose 
   value is <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not a <see cref="T:System.Type"/> that describes a <see cref="T:System.Enum"/> .</para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToObject">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static object ToObject(class System.Type enumType, unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static object ToObject(Type enumType, ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an instance of the specified enumeration type set
      to the specified <see cref="T:System.UInt64"/> value.
      </para>
						</summary>
						<param name="enumType">The <see cref="T:System.Type"/> of an enumeration. </param>
						<param name=" value">The <see cref="T:System.UInt64"/> value to set. </param>
						<returns>
							<para>An enumeration object of type <paramref name="enumType"/> whose
   value is <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not a <see cref="T:System.Type"/> that describes a <see cref="T:System.Enum"/> .</para>
						</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant 
      alternative, use <see cref="M:System.Enum.ToObject(System.Type,System.Object)"/>(<see cref="T:System.Type"/>, <see cref="T:System.Int64"/> ).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToObject">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static object ToObject(class System.Type enumType, int64 value)"/>
					<MemberSignature Language="C#" Value="public static object ToObject(Type enumType, long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an instance of the specified enumeration type set
      to the specified <see cref="T:System.Int64"/> value.
      </para>
						</summary>
						<param name="enumType">The <see cref="T:System.Type"/> of an enumeration. </param>
						<param name=" value">The <see cref="T:System.Int64"/> value to set. </param>
						<returns>
							<para>An enumeration object of type <paramref name="enumType"/> whose 
   value is <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not a <see cref="T:System.Type"/> that describes a <see cref="T:System.Enum"/> .</para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToObject">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static object ToObject(class System.Type enumType, unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static object ToObject(Type enumType, uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an instance of the specified enumeration type set
      to the specified <see cref="T:System.UInt32"/> value.
      </para>
						</summary>
						<param name="enumType">The <see cref="T:System.Type"/> of an enumeration. </param>
						<param name=" value">The <see cref="T:System.UInt32"/> value to set. </param>
						<returns>
							<para>An enumeration object of type <paramref name="enumType"/> whose
   value is <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not a <see cref="T:System.Type"/> that describes a <see cref="T:System.Enum"/> .</para>
						</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Enum.ToObject(System.Type,System.Object)"/>(<see cref="T:System.Type"/>, <see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToObject">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static object ToObject(class System.Type enumType, unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static object ToObject(Type enumType, ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an instance of the specified enumeration type set
      to the specified <see cref="T:System.UInt16"/> value.
      </para>
						</summary>
						<param name="enumType">The <see cref="T:System.Type"/> of an enumeration. </param>
						<param name=" value">The <see cref="T:System.UInt16"/> value to set. </param>
						<returns>
							<para>An enumeration object of type <paramref name="enumType"/> whose value is <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not a <see cref="T:System.Type"/> that describes a <see cref="T:System.Enum"/> .</para>
						</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Enum.ToObject(System.Type,System.Object)"/>(<see cref="T:System.Type"/>, <see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToObject">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static object ToObject(class System.Type enumType, unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static object ToObject(Type enumType, byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an instance of the specified enumeration type set
      to the specified <see cref="T:System.Byte"/> value.
      </para>
						</summary>
						<param name="enumType">The <see cref="T:System.Type"/> of an enumeration. </param>
						<param name=" value">The <see cref="T:System.Byte"/> value to set. </param>
						<returns>
							<para>An enumeration object of type <paramref name="enumType"/> whose 
   value is <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not a <see cref="T:System.Type"/> that describes a <see cref="T:System.Enum"/> .</para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToObject">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static object ToObject(class System.Type enumType, int32 value)"/>
					<MemberSignature Language="C#" Value="public static object ToObject(Type enumType, int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="enumType" Type="System.Type"/>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an instance of the specified enumeration type set
      to the specified <see cref="T:System.Int32"/> value.
      </para>
						</summary>
						<param name="enumType">The <see cref="T:System.Type"/> of an enumeration. </param>
						<param name=" value">The <see cref="T:System.Int32"/> value to set. </param>
						<returns>
							<para>An enumeration object of type <paramref name="enumType"/> whose value is <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="enumType"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="enumType"/> is not a <see cref="T:System.Type"/> that describes a <see cref="T:System.Enum"/> .</para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(string format)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts the value of the current instance to its
      equivalent <see cref="T:System.String"/> representation using the specified format. </para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format to use when converting the current instance to a <see cref="T:System.String"/>. Specify one of the following values in upper or lower case: "G", "D", "X", or "F" .</param>
						<returns>
							<para>The <see cref="T:System.String"/> representation of the value of the current
   instance as specified by <paramref name="format"/>.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> contains an invalid value. </exception>
						<remarks>
							<para> If
   <paramref name="format"/> is a null 
      reference or an empty string, the return value is formatted using the general
      format specifier ("G").</para>
							<para>
								<block subset="none" type="note">For details on the format specifiers 
      used with an enumeration object, see <see cref="M:System.Enum.Format(System.Type,System.Object,System.String)"/> .</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Converts the name of the value of the current instance to
      its equivalent <see cref="T:System.String"/> representation. </para>
						</summary>
						<returns>
							<para>The <see cref="T:System.String"/> representation of the named constant specified by the current instance.</para>
						</returns>
						<remarks>
							<para> This version of <see cref="M:System.Enum.ToString(System.String)"/> is equivalent to <see cref="M:System.Enum.ToString(System.String)"/> ("G", <see langword="null"/>
). </para>
							<para>This method returns the same value as <see cref="M:System.Enum.Format(System.Type,System.Object,System.String)"/>
with the "g" or "G" format option. </para>
							<para> An instance of an enumeration is set to
   a named constant value. This method returns the name of the constant an instance
   is set to, not the value itself. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(string format, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts the numeric value of the current instance to
      its equivalent <see cref="T:System.String"/> representation using the specified format. </para>
						</summary>
						<param name=" format">A <see cref="T:System.String"/> that specifies the format to use when converting the current instance to a <see cref="T:System.String"/> . Specify one of the following values in upper or lower case: "G", "D", "X", or "F" .</param>
						<param name=" provider">An object that implements the <see cref="T:System.IFormatProvider"/> interface or a null reference. The <see cref="T:System.IFormatProvider"/> is not used in the implementation of this method. <block subset="none" type="note"> There is no <see cref="T:System.IFormatProvider"/> that corresponds to a <see cref="T:System.Enum"/> object; therefore, <paramref name="provider"/> is not utilized by this method, and any <see cref="T:System.IFormatProvider"/> may be passed as a parameter.</block>
						</param>
						<returns>
							<para>The <see cref="T:System.String"/> representation of the value of the current instance as specified by <paramref name="format"/>.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> does not contain a valid format specifier.</exception>
						<remarks>
							<para> If
   <paramref name="format"/> is a null
      reference or an empty string, the return value is formatted using the general
      format specifier ("G").</para>
							<block subset="none" type="note">
								<para>For details on the
         format specifiers used with an enumeration object, see <see cref="M:System.Enum.Format(System.Type,System.Object,System.String)"/>
         .</para>
								<para>This method is implemented to support the <see cref="T:System.IFormattable"/> interface. </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts the name of the value of the current instance to
      its equivalent <see cref="T:System.String"/>
      representation. </para>
						</summary>
						<param name=" provider">An object that implements the <see cref="T:System.IFormatProvider"/> interface or a null reference. The <see cref="T:System.IFormatProvider"/> is not used in the implementation of this method. <block subset="none" type="note"> There is no <see cref="T:System.IFormatProvider"/> that corresponds to a <see cref="T:System.Enum"/> object; therefore, <paramref name="provider"/> is not utilized by this method, and any <see cref="T:System.IFormatProvider"/> may be passed as a parameter.</block>
						</param>
						<returns>
							<para>  The <see cref="T:System.String"/> representation of
   the name of the value of the current instance.
</para>
						</returns>
						<remarks>
							<para>This method is equivalent to the version of <see cref="M:System.Enum.ToString(System.String)"/>
that takes no arguments.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Environment" FullName="System.Environment" FullNameSP="System_Environment">
			<TypeSignature Language="ILASM" Value=".class public sealed Environment extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class Environment"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Provides the current settings for, and information about, the execution environment.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>Use this class to retrieve the following 
 information:</para>
						<list type="bullet">
							<item>
								<term>Command line arguments</term>
							</item>
							<item>
								<term>Exit codes</term>
							</item>
							<item>
								<term>Environment variable settings</term>
							</item>
							<item>
								<term>Contents of the call stack</term>
							</item>
							<item>
								<term>Time since last system boot</term>
							</item>
							<item>
								<term>Version of the execution engine</term>
							</item>
						</list>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="CommandLine">
					<MemberSignature Language="ILASM" Value=".property string CommandLine { public hidebysig static specialname string get_CommandLine() }"/>
					<MemberSignature Language="C#" Value="public static string CommandLine { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the information entered on the command line when the current process was
      started.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing
   the command line arguments.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>This property provides access to the program name and
      any arguments specified on the command line when the current process was
      started.</para>
							<para>If the environment does not support a program name, as
         may be the case with compact devices, then the program name is equal to <see cref="F:System.String.Empty"/>.</para>
							<para>The format of the information returned by this property is implementation-defined.</para>
							<pre/>
							<block subset="none" type="note">
								<para>The program name may, but is not required to, include
      path information.</para>
								<para>Use the <see cref="M:System.Environment.GetCommandLineArgs"/> method to retrieve the command line information parsed
   and stored in an array of strings.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Exit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Exit(int32 exitCode)"/>
					<MemberSignature Language="C#" Value="public static void Exit(int exitCode);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="exitCode" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Terminates the current process and sets the process exit code to the specified value.</para>
						</summary>
						<param name="exitCode">A <see cref="T:System.Int32"/> value that is provided to the operating system.</param>
						<exception cref="T:System.Security.SecurityException">The immediate caller does not have the required permission.</exception>
						<remarks>
							<para>This method causes an executing program to halt.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.EnvironmentPermission">Requires permission to read environment variables. See <see cref="F:System.Security.Permissions.EnvironmentPermissionAccess.Read"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ExitCode">
					<MemberSignature Language="ILASM" Value=".property int32 ExitCode { public hidebysig static specialname int32 get_ExitCode() public hidebysig static specialname void set_ExitCode(int32 value) }"/>
					<MemberSignature Language="C#" Value="public static int ExitCode { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>0</MemberValue>
					<Docs>
						<summary>
							<para>Gets or sets the exit code of a process.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/>
value returned by a process. The default value is zero.</para>
						</value>
						<remarks>
							<para>When a process exits, if the process does not return a
      value, the value of <see cref="P:System.Environment.ExitCode"/>
      is returned. If the value of this property is not set by
      an application, zero is returned.</para>
							<para>On operating systems that do
      not support process exit codes, CLI implementations are required to fully support getting and
      setting values for this property.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetCommandLineArgs">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.String[] GetCommandLineArgs()"/>
					<MemberSignature Language="C#" Value="public static string[] GetCommandLineArgs();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the arguments specified on the command
      line.</para>
						</summary>
						<returns>
							<para> Returns a <see cref="T:System.String"/> array. Each <see cref="T:System.String"/> in the array
   contains a single command line argument.</para>
						</returns>
						<remarks>
							<para>The first element in the array contains the filename of
      the executing program. If the filename is not available, the first element is
      equal to <see cref="F:System.String.Empty"/>. The remaining elements contain any additional tokens
      entered on the command line.</para>
							<block subset="none" type="note">
								<para>The program filename may, but is not required to,
         include path information.</para>
								<para>To obtain the command line as a single <see cref="T:System.String"/>, use the <see cref="P:System.Environment.CommandLine"/>
   property.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEnvironmentVariable">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string GetEnvironmentVariable(string variable)"/>
					<MemberSignature Language="C#" Value="public static string GetEnvironmentVariable(string variable);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="variable" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the value of
      the specified environment variable.</para>
						</summary>
						<param name="variable">A <see cref="T:System.String"/> containing the name of an environment variable.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing the current setting of <paramref name="variable"/> , or 
<see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="variable"/> is a null reference.</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
						<remarks>
							<para>If <paramref name="variable"/> contains a valid name for an environment variable, and
   if the caller has sufficient permissions, this method returns the current
   setting for <paramref name="variable"/>. Environment variable names are
   case-insensitive.</para>
							<para>If <paramref name="variable"/> specifies an
invalid name or the system does not support environment variables, this method
returns <see langword="null"/>
.</para>
							<para>
								<block subset="none" type="note">To obtain names and settings for all
   environment variables, use the <see cref="M:System.Environment.GetEnvironmentVariables"/> method.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.EnvironmentPermission">Requires permission to read environment variables. See <see cref="F:System.Security.Permissions.EnvironmentPermissionAccess.Read"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEnvironmentVariables">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Collections.IDictionary GetEnvironmentVariables()"/>
					<MemberSignature Language="C#" Value="public static IDictionary GetEnvironmentVariables();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.IDictionary</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns all
      environment variables and their current settings.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Collections.IDictionary"/> object containing environment variable names
   and settings, or <see langword="null"/>
   if
   the system does not
   support environment variables.</para>
						</returns>
						<exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
						<remarks>
							<para>The names and settings for the environment variables are
      stored in the returned <see cref="T:System.Collections.IDictionary"/> object as keys and values, respectively.</para>
							<para>
								<block subset="none" type="note">To obtain the
      setting of a single environment variable, use the <see cref="M:System.Environment.GetEnvironmentVariable(System.String)"/> method. </block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.EnvironmentPermission">Requires permission to read environment variables. See <see cref="F:System.Security.Permissions.EnvironmentPermissionAccess.Read"/>.</permission>
						<example>
							<para>The following example prints the names and values of all
      environment variables defined in the environment.</para>
							<code lang="C#">using System;
using System.Collections;

class EnvTest:Object {
  public static void Main() {
    Console.WriteLine("Environment Variables");
    IDictionary envars =
        Environment.GetEnvironmentVariables();
    IDictionaryEnumerator varEnumerator =
        envars.GetEnumerator();
    while(varEnumerator.MoveNext() != false) {
      Console.WriteLine("{0}={1}", 
                        varEnumerator.Key,
                        varEnumerator.Value);
    }
  }
}
   </code>
							<para>The output will vary depending on your system.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HasShutdownStarted">
					<MemberSignature Language="ILASM" Value=".property bool HasShutdownStarted { public hidebysig static specialname instance bool get_HasShutdownStarted() }"/>
					<MemberSignature Language="C#" Value="public static bool HasShutdownStarted { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a value indicating whether an application has started to shut down.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Boolean" qualify="true"/> where <see langword="true"/> indicates the shutdown
   process has started; otherwise <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>This property is for use inside the finalizer of an application. If the 
         shutdown process has started, static members should not be accessed; they
         may have been cleaned up by the garbage collector. If the member has been
         cleaned up, any access attempt will cause an exception to be thrown. </para>
								<para>
									<see cref="P:System.Console.Out" qualify="true"/> is a special case that is always available after the 
      shutdown process has started.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NewLine">
					<MemberSignature Language="ILASM" Value=".property string NewLine { public hidebysig static specialname string get_NewLine() }"/>
					<MemberSignature Language="C#" Value="public static string NewLine { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the newline string for the current platform.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing the characters required to write a newline.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note"> This property is
      intended for platform-independent formatting of multi-line strings. This value
      is automatically appended to text when using <see langword="WriteLine "/>methods,
      such as <see cref="M:System.Console.WriteLine"/>
      .</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="P:System.Environment.NewLine"/>
property. The string returned by <see cref="P:System.Environment.NewLine"/> is inserted between "Hello" and
"World", causing a line break between the words in the output.</para>
							<code lang="C#">using System;
class TestClass {
    public static void Main() {
      Console.WriteLine("Hello,{0}World",
                        Environment.NewLine);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>Hello,</para>
								<para>World</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="StackTrace">
					<MemberSignature Language="ILASM" Value=".property string StackTrace { public hidebysig static specialname string get_StackTrace() }"/>
					<MemberSignature Language="C#" Value="public static string StackTrace { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a string representation of the state of the call stack.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing a description of the methods currently in the
   call stack. This value can be <see cref="F:System.String.Empty"/> .</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>An example of how the <see cref="T:System.String"/> returned by this property might be
      formatted follows, where one line of information is provided for each method on
      the call stack:</para>
								<para>
									<c>at
   <paramref name="FullClassName"/>.<paramref name="MethodName"/>(<paramref name="MethodParms"/>) in
   <paramref name="FileName"/>:line <paramref name="LineNumber"/>
									</c>
								</para>
								<para>
									<paramref name="FullClassName"/>, <paramref name="MethodName"/>,
<paramref name="MethodParms"/>, <paramref name="FileName"/>, and <paramref name="LineNumber"/> are defined as 
follows:</para>
								<list type="table">
									<listheader>
										<term>Item</term>
										<description>Description</description>
									</listheader>
									<item>
										<term>
											<paramref name="FullClassName"/>
										</term>
										<description> The fully qualified name of the
      class. </description>
									</item>
									<item>
										<term>
											<paramref name="MethodName"/>
										</term>
										<description>The name of the method. </description>
									</item>
									<item>
										<term>
											<paramref name="MethodParms"/>
										</term>
										<description>The list of parameter type/name pairs. Each pair is
   separated by a comma (,). This information is omitted if
<paramref name="MethodName"/> 
takes zero
parameters.</description>
									</item>
									<item>
										<term>
											<paramref name="FileName"/>
										</term>
										<description>The name of the source file where the
<paramref name="MethodName"/> method is declared. 
   This information is omitted if debug symbols are not available.</description>
									</item>
									<item>
										<term>
											<paramref name="LineNumber"/>
										</term>
										<description>The number of the line in <paramref name="FileName"/> that
contains the source code from <paramref name="MethodName"/>
for the instruction that is on the call stack. This information
is omitted if debug symbols are not available.</description>
									</item>
								</list>
								<para>The literal "at" is preceded by a single space.</para>
								<para>The literals "in" and ":line" are omitted if debug
   symbols are not available.</para>
								<para>The method calls are described in reverse chronological
   order (the most recent method call is described first).</para>
								<para>
									<see cref="P:System.Environment.StackTrace"/> may not report as many method
calls as expected, due to code transformations that occur during
optimization.</para>
							</block>
						</remarks>
						<example>
							<para>The following example gets the <see cref="P:System.Environment.StackTrace"/>
property from within a series of nested calls.</para>
							<code lang="C#">using System;
public class TestCallStack {
    public void MyMethod1 () {
        MyMethod2();
    }
    public void MyMethod2 () {
        MyMethod3();
    }
    public void MyMethod3 () {
        Console.WriteLine("TestCallStack: {0}",
                          Environment.StackTrace);
    }
    public static void Main() {
        TestCallStack t = new TestCallStack();
        t.MyMethod1();
    }
}
</code>
							<para>Without debug symbols the output is</para>
							<c>
								<para>TestCallStack: at System.Environment.GetStackTrace(Exception e)</para>
								<para>at System.Environment.GetStackTrace(Exception e)</para>
								<para>at System.Environment.get_StackTrace()</para>
								<para>at TestCallStack.Main()</para>
							</c>
							<para>With debug symbols the output is</para>
							<c>
								<para>TestCallStack: at System.Environment.GetStackTrace(Exception e)</para>
								<para>at System.Environment.GetStackTrace(Exception e)</para>
								<para>at System.Environment.get_StackTrace()</para>
								<para>at TestCallStack.MyMethod3() in c:\ECMAExamples\envstack.cs:line 10</para>
								<para>at TestCallStack.MyMethod2() in c:\ECMAExamples\envstack.cs:line 8</para>
								<para>at TestCallStack.MyMethod1() in c:\ECMAExamples\envstack.cs:line 5</para>
								<para>at TestCallStack.Main() in c:\ECMAExamples\envstack.cs:line 15</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TickCount">
					<MemberSignature Language="ILASM" Value=".property int32 TickCount { public hidebysig static specialname int32 get_TickCount() }"/>
					<MemberSignature Language="C#" Value="public static int TickCount { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>496190500</MemberValue>
					<Docs>
						<summary>
							<para> Gets the number of milliseconds elapsed since the system was
      started.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> value containing the amount of time in milliseconds that
   has passed since the last time the computer was started.</para>
						</value>
						<remarks>
							<para> This property is
      read-only.</para>
							<para> The resolution of the <see cref="P:System.Environment.TickCount"/>
property cannot be less than 500
milliseconds.</para>
							<para> The value of this property is derived from the system
   timer.</para>
							<para> The <see cref="P:System.Environment.TickCount"/> property handles an overflow condition by
resetting its value to zero. The minimum value returned by <see cref="P:System.Environment.TickCount"/>
is
0.</para>
							<block subset="none" type="note">
								<para>
									<see cref="P:System.Environment.TickCount"/>
is measured in milliseconds, not in
"ticks".</para>
								<para> The <see cref="P:System.Environment.TickCount"/>
reaches its maximum value after approximately 24.8 days of continuous up
time.</para>
								<para> For applications that require a finer granularity or a 
   larger maximum time than <see cref="P:System.Environment.TickCount"/> supports, see <see cref="P:System.DateTime.Now"/>
   
   .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Version">
					<MemberSignature Language="ILASM" Value=".property class System.Version Version { public hidebysig static specialname class System.Version get_Version() }"/>
					<MemberSignature Language="C#" Value="public static Version Version { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Version</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the current version of
 the execution engine.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Version"/> object that contains the major, minor, build, and 
 revision numbers of the execution engine.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="EnvironmentPermission" FullName="System.Security.Permissions.EnvironmentPermission" FullNameSP="System_Security_Permissions_EnvironmentPermission">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable EnvironmentPermission extends System.Security.CodeAccessPermission"/>
			<TypeSignature Language="C#" Value="public sealed class EnvironmentPermission : CodeAccessPermission"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Controls access to environment variables.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>
							<see cref="T:System.Security.Permissions.EnvironmentPermission"/> objects
      describe protected operations on environment variables. This permission
      distinguishes between the following types of access provided by <see cref="T:System.Security.Permissions.EnvironmentPermissionAccess"/>:</para>
						<list type="bullet">
							<item>
								<term>
									<see langword="Read"/>: Read 
         values from environment variables.</term>
							</item>
							<item>
								<term>
									<see langword="Write"/>: Write 
         values to environment variables. Also allows for creating and deleting values.</term>
							</item>
							<item>
								<term>
									<see langword="NoAccess"/>: No 
         access to environment variables.</term>
							</item>
							<item>
								<term>
									<see langword="AllAccess"/>: Full
         access to environment variables. Identical to specifying
      <see langword="Read"/> and <see langword="Write"/>
      access.</term>
							</item>
						</list>
						<para>These access levels are independent, meaning that rights
   to one do not imply rights to another. For example, <see langword="Write "/>permission does not imply permission to
<see langword="Read"/>. <see cref="T:System.Security.Permissions.EnvironmentPermissionAccess"/> values 
   can be combined using a bitwise OR operator.</para>
						<para>The <see cref="T:System.Environment"/> class is
used to access environment variables, subject to the permissions defined by
<see cref="T:System.Security.Permissions.EnvironmentPermission"/>. 
Environment variables are case-insensitive. </para>
					</block>
					<SPAN/>
					<para>The XML encoding of a <see cref="T:System.Security.Permissions.EnvironmentPermission"/> instance is defined below in
   EBNF format. The following conventions are used: </para>
					<list type="bullet">
						<item>
							<term>
								<para>All non-literals in the grammar below are shown in
         normal type.</para>
							</term>
						</item>
						<item>
							<term>
								<para>All literals are in bold font. </para>
							</term>
						</item>
					</list>
					<para>The following meta-language symbols are used: </para>
					<list type="bullet">
						<item>
							<term>
         
         '*' represents a meta-language symbol suffixing an
         expression that can appear zero or more times.</term>
						</item>
						<item>
							<term>
         
         '?' represents a meta-language symbol suffixing an
         expression that can appear zero or one time.</term>
						</item>
						<item>
							<term>
         
         '+' represents a meta-language symbol suffixing an
         expression that can appear one or more times.</term>
						</item>
						<item>
							<term>
         
         '(',')' is used to group literals, non-literals or a
         mixture of literals and non-literals.</term>
						</item>
						<item>
							<term>
         
         '|' denotes an exclusive disjunction between two
         expressions.</term>
						</item>
						<item>
							<term>
         
         '::=' denotes a production rule where a left hand
         non-literal is replaced by a right hand expression containing literals,
         non-literals or both.</term>
						</item>
					</list>
					<para>BuildVersion refers to the build version of the shipping
   CLI. This is specified as a dotted build number such as '2412.0' . </para>
					<para>ECMAPubKeyToken ::= <see langword="b77a5c561934e089"/>
					</para>
					<para> EnvironmentVariable refers to the name of a single environment variable,
   such as 'PROMPT'. </para>
					<para> The XML encoding of an
<see langword="EnvironmentPermission"/> instance
   is as follows: </para>
					<c>
						<para>EnvironmentPermissionXML ::=</para>
						<para>
							<see langword="&lt;IPermission "/>
						</para>
						<para>
							<see langword="class=&quot; "/>
						</para>
						<para>
							<see langword="System.Security.Permissions.EnvironmentPermission, "/>
						</para>
						<para>
							<see langword="mscorlib, "/>
						</para>
						<para>
							<see langword="Version=1.0."/>BuildVersion<see langword=","/>
						</para>
						<para>
							<see langword="Culture=neutral,"/>
						</para>
						<para>
							<see langword="PublicKeyToken="/>ECMAPubKeyToken<see langword="&quot;"/>
						</para>
						<para>
							<see langword="version=&quot;1&quot;"/>
						</para>
						<para>(</para>
						<para>
							<see langword="Unrestricted=&quot;true&quot; "/>
						</para>
						<para>) </para>
						<para>| </para>
						<para>( </para>
						<para>(<see langword="Read=&quot;"/>
EnvironmentVariable (<see langword=";"/>
EnvironmentVariable)*<see langword="&quot;"/> )? </para>
						<para>(<see langword="Write=&quot;"/>EnvironmentVariable (<see langword=";"/>
EnvironmentVariable)* <see langword="&quot;"/> )? </para>
						<para>) </para>
						<para>
							<see langword="/&gt;"/>
						</para>
					</c>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Security.CodeAccessPermission</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Security.IPermission</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.PermissionState state)"/>
					<MemberSignature Language="C#" Value="public EnvironmentPermission(PermissionState state);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="state" Type="System.Security.Permissions.PermissionState"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Security.Permissions.EnvironmentPermission"/> class
   with the specified <see cref="T:System.Security.Permissions.PermissionState"/> value.</para>
						</summary>
						<param name="state">A <see cref="T:System.Security.Permissions.PermissionState"/> value.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="state"/> is not a valid <see cref="T:System.Security.Permissions.PermissionState"/> value.</exception>
						<remarks>
							<block subset="none" type="note">
								<para> The instance returned by this constructor has either
         fully restricted (<see cref="F:System.Security.Permissions.PermissionState.None"/>) or unrestricted
         (<see cref="F:System.Security.Permissions.PermissionState.Unrestricted"/>) access to all environment
         variables.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.EnvironmentPermissionAccess flag, string pathList)"/>
					<MemberSignature Language="C#" Value="public EnvironmentPermission(EnvironmentPermissionAccess flag, string pathList);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="flag" Type="System.Security.Permissions.EnvironmentPermissionAccess"/>
						<Parameter Name="pathList" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs a new instance of the <see cref="T:System.Security.Permissions.EnvironmentPermission"/>
class with the specified access to
the specified environment variables.</para>
						</summary>
						<param name="flag">One of values defined by <see cref="T:System.Security.Permissions.EnvironmentPermissionAccess"/>. </param>
						<param name="pathList">A <see cref="T:System.String"/> containing one or more case-insensitive environment variable names separated by <see cref="F:System.IO.Path.PathSeparator" qualify="true"/>. </param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="pathList"/> is <see langword="null"/>. </para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="flag"/> specifies a value not defined in <see cref="T:System.Security.Permissions.EnvironmentPermissionAccess"/>. </para>
						</exception>
						<remarks>
							<para>The specified access is applied to all environment
   variables in <paramref name="pathList"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Copy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Copy()"/>
					<MemberSignature Language="C#" Value="public override IPermission Copy();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a new <see cref="T:System.Security.Permissions.EnvironmentPermission"/> object
 containing the same values as the current instance.</para>
						</summary>
						<returns>
							<para>A new <see cref="T:System.Security.Permissions.EnvironmentPermission"/>
containing the
same values as the current instance.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">The object returned by this method represents the
 same level of access to the same environment variables as the current instance.</block>
							</para>
							<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Copy"/> and is implemented to
 support the <see cref="T:System.Security.IPermission"/> interface.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FromXml">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void FromXml(class System.Security.SecurityElement esd)"/>
					<MemberSignature Language="C#" Value="public override void FromXml(SecurityElement esd);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="esd" Type="System.Security.SecurityElement"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Reconstructs the state of a <see cref="T:System.Security.Permissions.EnvironmentPermission"/> object
 using the specified XML encoding.</para>
						</summary>
						<param name="esd">A <see cref="T:System.Security.SecurityElement"/> instance containing the XML encoding to use to reconstruct the state of a <see cref="T:System.Security.Permissions.EnvironmentPermission"/> object.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="esd"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="esd"/> does not contain the encoding for a <see cref="T:System.Security.Permissions.EnvironmentPermission"/> instance.</para>
							<para>The version number of <paramref name="esd"/> is not valid.</para>
						</exception>
						<remarks>
							<para>The state of the current instance is changed to the
 state encoded in <paramref name="esd"/>.</para>
							<block subset="none" type="note">
								<para>For the XML encoding for this class, see the <see cref="T:System.Security.Permissions.EnvironmentPermission"/> class
 page.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.FromXml(System.Security.SecurityElement)"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Intersect">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Intersect(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public override IPermission Intersect(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a new <see cref="T:System.Security.Permissions.EnvironmentPermission"/> object that is the intersection of
 the current instance and the specified object. </para>
						</summary>
						<param name="target">A <see cref="T:System.Security.Permissions.EnvironmentPermission"/> instance to intersect with the current instance.</param>
						<returns>
							<para>A new <see cref="T:System.Security.Permissions.EnvironmentPermission"/> instance that
 represents the intersection of the current instance and <paramref name="target"/>. If the intersection is empty or <paramref name="target"/>
 is <see langword="null"/>, returns <see langword="null"/>. If the current instance is unrestricted, returns a copy of <paramref name="target"/>. If
<paramref name="target"/> is unrestricted, returns a copy of the current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target"/> is not <see langword="null"/> and is not of type <see cref="T:System.Security.Permissions.EnvironmentPermission"/>. </exception>
						<remarks>
							<block subset="none" type="note">
								<para>The intersection of two permissions is a permission that secures the
 resources and operations secured by both permissions. Specifically, it
 represents the minimum permission such that any demand that passes both
 permissions will also pass their intersection.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Intersect(System.Security.IPermission)"/> and is implemented to
 support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSubsetOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsSubsetOf(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public override bool IsSubsetOf(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance is a subset of the specified
      object.</para>
						</summary>
						<param name="target">A <see cref="T:System.Security.Permissions.EnvironmentPermission"/> instance that is to be tested for the subset relationship.</param>
						<returns>
							<para>
								<see langword="true"/> if the
   current instance is a subset of <paramref name="target"/>
   ; otherwise,<see langword=" false"/>. If the current instance is unrestricted, and <paramref name="target"/> is
   not, returns <see langword="false"/>. If <paramref name="target"/> is
   unrestricted, returns <see langword="true"/>. If
<paramref name="target"/> is <see langword="null"/> and no environment variables are 
   secured by the current instance, returns <see langword="true"/>. If target is
<see langword="null"/>, and the current instance secures one or more environment 
   variables, returns <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target"/> is not <see langword="null"/> and is not of type <see cref="T:System.Security.Permissions.EnvironmentPermission"/> .</exception>
						<remarks>
							<block subset="none" type="note">
								<para>The current instance is a subset of <paramref name="target"/> if the current instance
      specifies a set of accesses to resources that is wholly contained by
   <paramref name="target"/>. For example, a permission that represents read access to a file
      is a subset of a permission that represents read and write access to the file. </para>
								<para>If this method returns <see langword="true"/> , the current instance describes a
   level of access to a set of environment variables that is also described by
<paramref name="target"/>.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.IsSubsetOf(System.Security.IPermission)"/> and is implemented to
support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToXml">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.SecurityElement ToXml()"/>
					<MemberSignature Language="C#" Value="public override SecurityElement ToXml();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.SecurityElement</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns the XML encoding of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Security.SecurityElement"/> containing the XML encoding of the state of the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>For the XML encoding for this class, see the <see cref="T:System.Security.Permissions.EnvironmentPermission"/> class
 page.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.ToXml"/> .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Union">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Union(class System.Security.IPermission other)"/>
					<MemberSignature Language="C#" Value="public override IPermission Union(IPermission other);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="other" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a new <see cref="T:System.Security.Permissions.EnvironmentPermission"/> that is the union of the
 current instance and the specified object.</para>
						</summary>
						<param name="other">A <see cref="T:System.Security.Permissions.EnvironmentPermission"/> instance to combine with the current instance.</param>
						<returns>
							<para>A new <see cref="T:System.Security.Permissions.EnvironmentPermission"/> instance that represents the union
 of the current instance and <paramref name="other"/> . If the current
 instance or <paramref name="other "/> is unrestricted, returns a
<see cref="T:System.Security.Permissions.EnvironmentPermission"/> 
instance that is unrestricted. If <paramref name="other"/> is <see langword="null"/>,
returns a copy of the current instance via the <see cref="M:System.Security.IPermission.Copy"/> method.
If the current instance and <paramref name="other"/> do not specify any environment
variables, returns <see langword="null"/>
.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="other "/> is not <see langword="null"/> and is not of type <see cref="T:System.Security.Permissions.EnvironmentPermission"/> .</exception>
						<remarks>
							<block subset="none" type="note">
								<para>The result of a call to <see cref="M:System.Security.Permissions.EnvironmentPermission.Union(System.Security.IPermission)"/> is
 a permission that represents the access to
 environment variables represented by the current instance as well as the access to
 environment variables represented by <paramref name="other"/>. Any demand that passes either the current
 instance or <paramref name="other"/> passes their union.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Union(System.Security.IPermission)"/> and is implemented to
 support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="EnvironmentPermissionAccess" FullName="System.Security.Permissions.EnvironmentPermissionAccess" FullNameSP="System_Security_Permissions_EnvironmentPermissionAccess">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable EnvironmentPermissionAccess extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum EnvironmentPermissionAccess"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Represents access to
 environment variables.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">This enumeration is used by the <see cref="T:System.Security.Permissions.EnvironmentPermission"/>
class.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>FlagsAttribute</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="AllAccess">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.EnvironmentPermissionAccess AllAccess = Read | Write"/>
					<MemberSignature Language="C#" Value="AllAccess = Read | Write;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.EnvironmentPermissionAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllAccess</MemberValue>
					<Docs>
						<summary>
							<para>Specifies read and write access to one or more environment variables.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NoAccess">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.EnvironmentPermissionAccess NoAccess = 0x0"/>
					<MemberSignature Language="C#" Value="NoAccess = 0x0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.EnvironmentPermissionAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NoAccess</MemberValue>
					<Docs>
						<summary>
							<para> Specifies no access to one or more environment variables.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.EnvironmentPermissionAccess Read = 0x1"/>
					<MemberSignature Language="C#" Value="Read = 0x1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.EnvironmentPermissionAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Read</MemberValue>
					<Docs>
						<summary>
							<para> 
      Specifies read access to one or more environment variables</para>
							<para>
								<block subset="none" type="note">Changing, deleting and creating 
      environment variables is not included in this access level.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.EnvironmentPermissionAccess Write = 0x2"/>
					<MemberSignature Language="C#" Value="Write = 0x2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.EnvironmentPermissionAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Write</MemberValue>
					<Docs>
						<summary>
							<para> Specifies write access to one or more environment variables. Write
      access includes creating and deleting environment variables as well as changing existing values.</para>
							<para>
								<block subset="none" type="note">Reading environment variables is not 
      included in this access level.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="EnvironmentPermissionAttribute" FullName="System.Security.Permissions.EnvironmentPermissionAttribute" FullNameSP="System_Security_Permissions_EnvironmentPermissionAttribute">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable EnvironmentPermissionAttribute extends System.Security.Permissions.CodeAccessSecurityAttribute"/>
			<TypeSignature Language="C#" Value="public sealed class EnvironmentPermissionAttribute : CodeAccessSecurityAttribute"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Used to declaratively specify security actions to control
      access to environment variables.</para>
				</summary>
				<remarks>
					<para>Environment variable names are case-insensitive. Multiple environment variable names are specified by separating the names
      using the <see cref="F:System.IO.Path.PathSeparator"/>
      string.</para>
					<block subset="none" type="note">
						<para> The level of access to one or more environment variables is
         specified using the members of the current instance. For example, to specify
         read permissions for an environment variable, set the <see cref="P:System.Security.Permissions.EnvironmentPermissionAttribute.Read"/> property equal
         to the name of the environment variable.</para>
						<para> The security information declared by a security attribute is stored in the
         metadata of the attribute target, and is accessed by the system at run-time.
         Security attributes are used for declarative security only. For imperative
         security, use the corresponding permission class, <see cref="T:System.Security.Permissions.EnvironmentPermission"/>
         .</para>
						<para>The allowable <see cref="T:System.Security.Permissions.EnvironmentPermissionAttribute"/> targets are determined by the
   <see cref="T:System.Security.Permissions.SecurityAction"/> passed to the constructor.</para>
					</block>
				</remarks>
				<example>
					<para> The following example shows a declarative request for
      the ability to read the specified environment variables. The <see cref="F:System.Security.Permissions.SecurityAction.RequestMinimum"/>
      security action indicates
      that this is the minimum permission required for the target assembly to be able
      to execute.</para>
					<para>
						<c>[assembly:EnvironmentPermissionAttribute(SecurityAction.RequestMinimum, Read="COMPUTERNAME;USERNAME;USERDOMAIN")]
   </c>
					</para>
					<para>The following example shows how to demand that the
      calling code has unrestricted access to all environment variables. Demands are
      typically made in managed libraries to protect methods or classes from
      malicious code.</para>
					<para>
						<c>[EnvironmentPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]
   </c>
					</para>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Security.Permissions.CodeAccessSecurityAttribute</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>AttributeUsageAttribute(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method, AllowMultiple=true, Inherited=false)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.SecurityAction action)"/>
					<MemberSignature Language="C#" Value="public EnvironmentPermissionAttribute(SecurityAction action);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="action" Type="System.Security.Permissions.SecurityAction"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Security.Permissions.EnvironmentPermissionAttribute"/> class
 with the specified <see cref="T:System.Security.Permissions.SecurityAction"/> value.</para>
						</summary>
						<param name="action">A <see cref="T:System.Security.Permissions.SecurityAction"/> value.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="action"/> is not a valid <see cref="T:System.Security.Permissions.SecurityAction"/> value. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="All">
					<MemberSignature Language="ILASM" Value=".property string All { public hidebysig specialname instance void set_All(string value) }"/>
					<MemberSignature Language="C#" Value="public string All { set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the environment variables for which full access is
 secured.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/>
containing one or more environment variables for which full access is
secured.</para>
						</value>
						<remarks>
							<para>This property is write-only.</para>
							<para>Multiple environment variable names are specified by separating the names
 using the <see cref="F:System.IO.Path.PathSeparator"/> string. Environment variable names are
 case-insensitive.</para>
							<para>
								<block subset="none" type="note">The
 security action passed to the constructor of the current instance determines how the specified
 environment variables are secured. For example, if the action is <see cref="F:System.Security.Permissions.SecurityAction.RequestMinimum"/> , then
 the target of the current instance requires full access to the specified variables
 in order to execute. If the action is <see cref="F:System.Security.Permissions.SecurityAction.RequestRefuse"/>,
 then the system does not allow the target any access to the specified
 variables.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CreatePermission">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission CreatePermission()"/>
					<MemberSignature Language="C#" Value="public override IPermission CreatePermission();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a new 
   <see cref="T:System.Security.Permissions.EnvironmentPermission"/> that
      contains the security information of the current instance.</para>
						</summary>
						<returns>
							<para>A new <see cref="T:System.Security.Permissions.EnvironmentPermission"/>
object with the security information of the current
instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>Applications typically do not call this method; it is intended for use by the
         system.</para>
								<para>The security information described by a security attribute is stored in the
         metadata of the attribute target, and is accessed by the system at run-time. The
         system uses the object returned by this method to convert the security
         information of the current instance into the form stored in metadata.</para>
								<para>This method overrides <see cref="M:System.Security.Permissions.SecurityAttribute.CreatePermission"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".property string Read { public hidebysig specialname instance string get_Read() public hidebysig specialname instance void set_Read(string value) }"/>
					<MemberSignature Language="C#" Value="public string Read { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the environment variables for which read access is
 secured.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/>
containing one or more environment variables for which read access is secured.</para>
						</value>
						<remarks>
							<para>Multiple environment variable names are specified by separating the names
 using the <see cref="F:System.IO.Path.PathSeparator"/> string. Environment variable names are
 case-insensitive.</para>
							<para>
								<block subset="none" type="note">The security action passed to the constructor of the current instance determines how
 the specified environment variables are secured. For example, if the action is
 <see cref="F:System.Security.Permissions.SecurityAction.RequestMinimum"/> , then the target
 of the current instance requires read access to the specified variables in order to
 execute. If the action is <see cref="F:System.Security.Permissions.SecurityAction.RequestRefuse"/>, then the
 system does not allow the target to read the specified
 variables.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".property string Write { public hidebysig specialname instance string get_Write() public hidebysig specialname instance void set_Write(string value) }"/>
					<MemberSignature Language="C#" Value="public string Write { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets
 the environment variables for which write access is secured.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing one or more environment variables for which write access is secured.</para>
						</value>
						<remarks>
							<para>Multiple environment variable names are specified by separating the names
 using the <see cref="F:System.IO.Path.PathSeparator"/> string. Environment variable names are
 case-insensitive.</para>
							<para>
								<block subset="none" type="note">The security action passed to the
 constructor of the current instance determines how the specified environment
 variables are secured. For example, if the action is <see cref="F:System.Security.Permissions.SecurityAction.RequestMinimum"/> , then the target of
 the current instance requires write access to the specified variables in order
 to execute. If the action is <see cref="F:System.Security.Permissions.SecurityAction.RequestRefuse"/>,
 then the system does not allow the target to write the specified
 variables.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="EventArgs" FullName="System.EventArgs" FullNameSP="System_EventArgs">
			<TypeSignature Language="ILASM" Value=".class public serializable EventArgs extends System.Object"/>
			<TypeSignature Language="C#" Value="public class EventArgs"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>
						<see langword="EventArgs"/> is the
   base class
   for classes containing event data.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>This class contains no event data; it is used by events
         that do not pass state information to an event handler when an event is raised.
         If the event handler requires state information, the application must create a
         subclass of this class to hold the data. For example, the <see cref="T:System.AssemblyLoadEventArgs"/>
         class is used to hold the data for assembly load events, and contains a <see cref="T:System.Reflection.Assembly" qualify="true"/>
         object that describes the loaded assembly.</para>
						<para>For details on events, see <see cref="T:System.EventHandler"/>.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public EventArgs();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs a new instance of the
 <see langword="EventArgs"/> class.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Empty">
					<MemberSignature Language="ILASM" Value=".field public static initOnly class System.EventArgs Empty"/>
					<MemberSignature Language="C#" Value="public static readonly EventArgs Empty;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.EventArgs</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a new <see cref="T:System.EventArgs"/> instance for use with events that have no state information.
   </para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para>Accessing this field is equivalent to calling the <see cref="T:System.EventArgs"/> constructor.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="EventHandler" FullName="System.EventHandler" FullNameSP="System_EventHandler">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable EventHandler extends System.Delegate"/>
			<TypeSignature Language="C#" Value="public delegate void EventHandler(object sender, EventArgs e);"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Defines the shape of methods that are called in response to an event.</para>
				</summary>
				<param name="sender">The object that raised the event.</param>
				<param name="e">A <see cref="T:System.EventArgs"/> instance that contains the event data.</param>
				<remarks>
					<block subset="none" type="note">
						<para> A <see cref="T:System.EventHandler"/> instance is used to specify the methods that
      are invoked in response to an event. To associate an instance of
   <see langword="EventHandler"/> with an event, add the
   <see langword="EventHandler"/> instance to the event. The methods referenced by the
   <see langword="EventHandler "/>instance are invoked
      whenever the event is raised, until the
   <see langword="EventHandler"/>
   instance is removed from the event. </para>
						<para>If the event does not generate data, applications use the base
   class <see cref="T:System.EventArgs"/> for the event data object
<paramref name="e"/>. For more information, see <see cref="T:System.EventArgs"/>.</para>
					</block>
					<para>
						<block subset="none" type="note"> For additional
   information about events, see Partitions I and II of the CLI Specification. </block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Delegate</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.ICloneable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members/>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Exception" FullName="System.Exception" FullNameSP="System_Exception">
			<TypeSignature Language="ILASM" Value=".class public serializable Exception extends System.Object"/>
			<TypeSignature Language="C#" Value="public class Exception"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents errors that occur during application execution. </para>
				</summary>
				<remarks>
					<para> This class is
      the base class for all Exceptions.</para>
					<para>When an error occurs, either the system or the currently executing
      application reports it by throwing an Exception containing information about the
      error. Once thrown, an Exception is handled by the application or by the default
      exception handler.</para>
					<para>
						<block subset="none" type="note">For a description of the exception handling model,
      see Partition I of the CLI Specification.</block>
					</para>
					<block subset="none" type="note">
						<para>If an application handles exceptions that occur during the execution of a
      block of application code, the code is required to be placed within a
   <see langword="try"/> statement. Application code within a <see langword="try"/> statement is a <paramref name="try       block"/>
      . Application code that handles Exceptions thrown by a
      try block is placed within a <see langword="catch"/> statement, and is
      called a <paramref name="catch block"/>
      . Zero or more catch blocks are associated with a try block, and each
      catch block includes a type filter that determines the types of Exceptions it
      handles. </para>
						<para>When an Exception occurs in a try block, the system
      searches the associated catch blocks in the order they appear in application
      code, until it locates a catch block that handles the Exception. A catch block
      handles an exception of type <paramref name="T"/>, if the type filter of the catch block
      specifies <paramref name="T"/> or any type that <paramref name="T"/>
      
      derives from. The system stops searching after it finds the first catch block
      that handles the Exception. For this reason, in application code, a catch block
      that handles a type must be specified before a catch block that handles its base
      types, as demonstrated in the example that follows this section. A catch block
      that handles <see cref="T:System.Exception"/> is specified last.</para>
						<para>If the catch blocks associated with the current try block do not handle the
      Exception, and the current try block is nested within other try blocks in the
      current call, the catch blocks associated with the next enclosing try block are
      searched. If no catch block for the Exception is found, the system searches
      previous nesting levels in the current call. If no catch block for the Exception
      is found in the current call, the Exception is passed up the call stack, and the
      previous stack frame is searched for a catch block that handles the Exception.
      The search of the call stack continues until the Exception is handled or there
      are no more frames in the call stack. If the top of the call stack is reached
      without finding a catch block that handles the Exception, the default exception
      handler handles it and the application terminates.</para>
					</block>
					<para>
						<see cref="T:System.Exception"/> types support the following features:</para>
					<list type="bullet">
						<item>
							<term>
      Human-readable text that describes the error. <block subset="none" type="note">See <see cref="P:System.Exception.Message"/> property.</block>
							</term>
						</item>
						<item>
							<term>
      The state of the call stack when the Exception was thrown. <block subset="none" type="note">See the <see cref="P:System.Exception.StackTrace"/> property.</block>
							</term>
						</item>
						<item>
							<term>
      When there is a causal relationship between two or more Exceptions, this
      information is maintained via the <see cref="P:System.Exception.InnerException"/> property.</term>
						</item>
					</list>
					<para>The Base Class Library provides two types that inherit 
   directly from <see cref="T:System.Exception"/>
   :</para>
					<list type="bullet">
						<item>
							<term>
								<see cref="T:System.ApplicationException"/>
							</term>
						</item>
						<item>
							<term>
								<see cref="T:System.SystemException"/>
							</term>
						</item>
					</list>
					<para>
						<block subset="none" type="note">Most user-defined
   exceptions derive from <see cref="T:System.ApplicationException"/>. For more information, see
<see cref="T:System.ApplicationException"/> 
and <see cref="T:System.SystemException"/>
.</block>
					</para>
				</remarks>
				<example>
					<para>The following example demonstrates a catch block that is
      defined to handle <see cref="T:System.ArithmeticException"/> errors. This catch block also catches <see cref="T:System.DivideByZeroException"/>
      errors because <see cref="T:System.DivideByZeroException"/> derives from <see cref="T:System.ArithmeticException"/>, and there is no catch block explicitly
      defined for <see cref="T:System.DivideByZeroException"/> errors.</para>
					<code lang="C#">using System;
class ExceptionTestClass {
 public static void Main() {
 int x = 0;
 try {
 int y = 100/x;
 }
 catch (ArithmeticException e) {
 Console.WriteLine("ArithmeticException Handler: {0}", e.ToString());
 }
 catch (Exception e) {
 Console.WriteLine("Generic Exception Handler: {0}", e.ToString());
 }
 } 
}
   </code>
					<para>The output is</para>
					<code>
ArithmeticException Handler: System.DivideByZeroException: Attempted to divide by zero.
   at ExceptionTestClass.Main()
 </code>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public Exception();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Exception"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.Exception.Message"/> property of the new instance to a 
   system-supplied message that describes the error and takes into account the
   current system culture. The <see cref="P:System.Exception.InnerException"/> property is initialized to
<see langword="null"/> and the <see cref="P:System.Exception.StackTrace"/> property is initialized to <see cref="F:System.String.Empty"/>
.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public Exception(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs a new instance of the <see cref="T:System.Exception"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.Exception.Message"/>
property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="P:System.Exception.Message"/> property is initialized to the 
system-supplied message provided by the constructor that takes no arguments. The <see cref="P:System.Exception.InnerException"/> property is initialized to
<see langword="null"/> and the <see cref="P:System.Exception.StackTrace"/> property is initialized to <see cref="F:System.String.Empty"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public Exception(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs a new instance of the <see cref="T:System.Exception"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.Exception.Message"/> property of the new instance using
<paramref name="message"/>, and the <see cref="P:System.Exception.InnerException"/> property using 
<paramref name="innerException"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="P:System.Exception.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para> The <see cref="P:System.Exception.StackTrace"/> property is initialized to <see cref="F:System.String.Empty"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBaseException">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Exception GetBaseException()"/>
					<MemberSignature Language="C#" Value="public virtual Exception GetBaseException();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Exception</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the <see cref="T:System.Exception"/> that is the root cause of one or more subsequent Exceptions.</para>
						</summary>
						<returns>
							<para>Returns the first Exception thrown in a chain of
      Exceptions. If the <see cref="P:System.Exception.InnerException"/> property
      of the current Exception is <see langword="null"/> , returns the current Exception.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">A chain of
      Exceptions consists of a set of Exceptions such that each Exception in the chain
      was thrown as a direct result of the Exception referenced in its <see cref="P:System.Exception.InnerException"/>
      property. For a given chain, there can be exactly one Exception that is the root
      cause of all other Exceptions in the chain. This Exception is called the
      <paramref name="base"/>
									<paramref name="exception"/> and its <see cref="P:System.Exception.InnerException"/>
property always contains a null reference.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">
   
   For all Exceptions in a chain of Exceptions, the <see cref="M:System.Exception.GetBaseException"/> method is required to return the same object (the <paramref name="base    exception"/>
   ).</block>
							</para>
							<para>
								<block subset="none" type="overrides">
   The <see cref="M:System.Exception.GetBaseException"/> method is overridden in classes
   that require control over the exception content or format.
</block>
							</para>
							<para>
								<block subset="none" type="usage">
   Use the <see cref="M:System.Exception.GetBaseException"/> method when you want to find the root cause of an
   Exception but do not need information about Exceptions that may have
   occurred between the current Exception and the first Exception.
</block>
							</para>
						</remarks>
						<example>
							<para>The following example shows an implementation of the
      <see cref="M:System.Exception.GetBaseException"/> method.</para>
							<code lang="C#">public virtual Exception GetBaseException() {
 Exception inner = InnerException;
 Exception back = this;
 while (inner != null) {
 back = inner;
 inner = inner.InnerException;
 }
 return back;
}
      </code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="InnerException">
					<MemberSignature Language="ILASM" Value=".property class System.Exception InnerException { public hidebysig specialname instance class System.Exception get_InnerException() }"/>
					<MemberSignature Language="C#" Value="public Exception InnerException { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Exception</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the <see cref="T:System.Exception"/> instance that caused the current Exception.</para>
						</summary>
						<value>
							<para>An instance of <see cref="T:System.Exception"/> that describes the error that caused the current Exception.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">When an Exception
   <paramref name="X"/> is thrown as a direct result of a previous exception <paramref name=" Y"/>
   , the <see cref="P:System.Exception.InnerException"/> property of
<paramref name="X"/> should contain a reference to <paramref name="Y"/>
.</block>
							</para>
							<para> The <see cref="P:System.Exception.InnerException"/> property returns the same value as was passed 
into the constructor, or <see langword="null"/>
if the
inner exception value was not supplied to the constructor.</para>
							<para>
								<block subset="none" type="note">Using the <see cref="P:System.Exception.InnerException"/>
property, you can obtain the set of Exceptions that led to the current
Exception. <see cref="M:System.Exception.GetBaseException"/> includes an
example that demonstrates this procedure.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates throwing and catching
      an Exception that references an inner Exception.</para>
							<code lang="C#">using System;
public class MyAppException:ApplicationException {
 public MyAppException (String message) : base (message) {}
 public MyAppException (String message, Exception inner) : base(message,inner) {} 
}
public class ExceptExample {
 public void ThrowInner () {
 throw new MyAppException("ExceptExample inner exception");
 }
 public void CatchInner() {
 try {
 this.ThrowInner();
 }
 catch (Exception e) {
 throw new MyAppException("Error caused by trying ThrowInner.",e);
 }
 }
}
public class Test {
 public static void Main() {
 ExceptExample testInstance = new ExceptExample();
 try {
 testInstance.CatchInner();
 }
 catch(Exception e) {
 Console.WriteLine ("In Main catch block. Caught: {0}", e.Message);
 Console.WriteLine ("Inner Exception is {0}",e.InnerException);
 }
}
}
   </code>
							<para>The output is</para>
							<code>
In Main catch block. Caught: Error caused by trying ThrowInner.
Inner Exception is MyAppException: ExceptExample inner exception
   at ExceptExample.ThrowInner()
   at ExceptExample.CatchInner()
 </code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Message">
					<MemberSignature Language="ILASM" Value=".property string Message { public hidebysig virtual specialname string get_Message() }"/>
					<MemberSignature Language="C#" Value="public virtual string Message { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.String"/> containing a message that describes the current Exception.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> that contains a detailed description of the error, or
<see cref="F:System.String.Empty"/>. 
 This value is intended to be understood by humans.</para>
						</value>
						<remarks>
							<block subset="none" type="note">
								<para> The text of <see cref="P:System.Exception.Message"/>
 should completely describe the error and should, when
 possible, explain how to correct it.</para>
								<para> The value of the <see cref="P:System.Exception.Message"/>
property is included in the information returned by <see cref="M:System.Exception.ToString"/>
.</para>
							</block>
							<para> 
 This property is read-only.</para>
							<block subset="none" type="behaviors">
								<para> The <see cref="P:System.Exception.Message"/>
property is set
only when creating an Exception instance.</para>
								<para> If no message was supplied to the constructor
 for the current instance, the system supplies a default message that is
 formatted using the current system culture.</para>
							</block>
							<block subset="none" type="overrides">
								<para> The <see cref="P:System.Exception.Message"/>
property is overridden in classes that require
control over message content or format.</para>
							</block>
							<block subset="none" type="usage">
								<para> Application code typically
 accesses this property when there is a need to display information about
 an exception that has been caught.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="StackTrace">
					<MemberSignature Language="ILASM" Value=".property string StackTrace { public hidebysig virtual specialname string get_StackTrace() }"/>
					<MemberSignature Language="C#" Value="public virtual string StackTrace { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.String"/> representation of the frames on the call stack at the time the
 current Exception was thrown.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> that describes the contents of the call stack.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note">
									<see cref="P:System.Exception.StackTrace"/>
may not report as many method calls as expected, due to code transformations, such
as inlining, that occur during optimization.</block>
							</para>
							<para> 
 This property is read-only.</para>
							<block subset="none" type="behaviors">
								<para>The format of the information returned by this property
 is required to be identical to the format of the information returned by <see cref="P:System.Environment.StackTrace"/>
 
 .</para>
							</block>
							<block subset="none" type="overrides">
								<para>The <see cref="P:System.Exception.StackTrace"/>
property is overridden in classes that require control over
the stack trace content or format.</para>
							</block>
							<block subset="none" type="usage">
								<para>Use the <see cref="P:System.Exception.StackTrace"/>
property to obtain a string representation of the contents of the call stack at
the time the exception was thrown.</para>
							</block>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Creates and returns a <see cref="T:System.String"/>
representation of the current
Exception.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/>
representation of the current Exception.</para>
						</returns>
						<remarks>
							<block subset="none" type="behaviors">
								<para>
									<see cref="M:System.Exception.ToString"/> returns a representation of the current
      Exception that is intended to be understood by humans. Where the Exception
      contains culture-sensitive data, the string representation returned by <see cref="M:System.Exception.ToString"/> is
      required to take into account the current system culture. <block subset="none" type="note"> Although there are no exact requirements for the
      format of the returned string, it should as much as possible reflect the value
      of the object as perceived by the user.</block>
								</para>
								<para>
									<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.ToString"/>.</block>
								</para>
							</block>
							<block subset="none" type="default">
								<para> The <see cref="M:System.Exception.ToString"/> implementation obtains the fully
   qualified name of the current Exception, the message, the result of calling
<see cref="M:System.Exception.ToString"/> on the inner exception, and the result of calling 
<see cref="P:System.Environment.StackTrace"/>. If any of these 
   members is <see langword="null"/> or equal to <see cref="F:System.String.Empty"/> , its value is not
   included in the returned string.</para>
							</block>
							<block subset="none" type="overrides">
								<para> It is recommended, but not required, that <see cref="M:System.Exception.ToString"/> be
   overridden to return information about members declared in the derived class.
   For example, the <see cref="T:System.ArgumentException"/> class overrides <see cref="M:System.Exception.ToString"/> so
   that it returns the value of the <see cref="P:System.ArgumentException.ParamName"/> property, if that value is not
<see langword="null"/> .</para>
							</block>
							<block subset="none" type="usage">
								<para> Use the <see cref="M:System.Exception.ToString"/> method to obtain a string
   representation of an Exception.</para>
							</block>
						</remarks>
						<example>
							<para>The following example causes an Exception and displays
      the result of calling <see cref="M:System.Exception.ToString"/> on that Exception.</para>
							<code lang="C#">using System;
public class MyClass {}
public class ArgExceptionExample {
 public static void Main() {
 MyClass my = new MyClass();
 string s = "sometext";
 try {
 int i = s.CompareTo(my);
 }
 catch (Exception e) {
 Console.WriteLine("Error: {0}",e.ToString());
 }
 }
}
   </code>
							<para>The output is</para>
							<code>
Error: System.ArgumentException: Object must be of type String.
   at System.String.CompareTo(Object value)
   at ArgExceptionExample.Main()
 </code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ExecutionEngineException" FullName="System.ExecutionEngineException" FullNameSP="System_ExecutionEngineException">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable ExecutionEngineException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public sealed class ExecutionEngineException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents an internal error in the execution engine.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>Execution engine errors are fatal errors that should
         never occur. Such errors occur mainly when the execution engine has been corrupted or data
         is missing.</para>
						<para>The system can throw this exception at any time. When possible, the system
         throws an exception that provides more information than the <see cref="T:System.ExecutionEngineException"/>
         exception.</para>
						<para>For information on conditions under
         which the CLI throws <see cref="T:System.ExecutionEngineException"/> exceptions, see Partition II of the CLI
         Specification.
         </para>
						<para>Applications should not throw <see cref="T:System.ExecutionEngineException"/>. </para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public ExecutionEngineException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ExecutionEngineException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ExecutionEngineException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "Internal error occurred." This
   message takes into account the current system culture.</para>
							<para>The <see cref="!:System.ExecutionEngineException.InnerException"/> property is initialized to 
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public ExecutionEngineException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ExecutionEngineException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ExecutionEngineException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.ExecutionEngineException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments. The <see cref="!:System.ExecutionEngineException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public ExecutionEngineException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ExecutionEngineException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.ExecutionEngineException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="!:System.ExecutionEngineException.InnerException"/> property using
<paramref name="innerException"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.ExecutionEngineException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For information on
   inner exceptions, see <see cref="P:System.Exception.InnerException"/>
   .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="File" FullName="System.IO.File" FullNameSP="System_IO_File">
			<TypeSignature Language="ILASM" Value=".class public sealed File extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class File"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Provides information and performs operations on
      files<SPAN>
      .</SPAN>
					</para>
				</summary>
				<remarks>
					<para>Implementations of this class are required to
      preserve the case of path strings. Implementations are required to be case
      sensitive if and only if the platform is case-sensitive. </para>
					<para>The following table describes the enumerations that are
      used to customize the behavior of various <see cref="T:System.IO.File"/> methods.</para>
					<list type="table">
						<listheader>
							<term>Enumeration</term>
							<description>Description</description>
						</listheader>
						<item>
							<term>
								<see cref="T:System.IO.FileAccess"/>
							</term>
							<description>Specifies read and write access to a
         file.</description>
						</item>
						<item>
							<term>
								<see cref="T:System.IO.FileShare"/>
							</term>
							<description>Specifies the level of access permitted for a file that is already in
      use.</description>
						</item>
						<item>
							<term>
								<see cref="T:System.IO.FileMode"/>
							</term>
							<description>Specifies whether the contents of an existing file are preserved or
   overwritten, and whether requests to create an existing file cause an
   exception.</description>
						</item>
					</list>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="AppendText">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.StreamWriter AppendText(string path)"/>
					<MemberSignature Language="C#" Value="public static StreamWriter AppendText(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.StreamWriter</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Appends UTF-8 encoded text to an existing file.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file to append to.</param>
						<returns>
							<para>A <see cref="T:System.IO.StreamWriter"/> that appends UTF-8 encoded text to the
   specified file.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="T:System.IO.StreamWriter"/> (<paramref name="path"/>, <see langword="true"/>
). If the file specified by <paramref name="path"/> does not exist, it is created. If the file does
exist, writes to the <see cref="T:System.IO.StreamWriter"/> append
text to the
file. Additional threads are permitted to read the file while it is
open.</para>
							<para>The <paramref name="path"/> argument is permitted
to specify relative or absolute path information. Relative path information is
interpreted as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission"> Requires permission to write the specified file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Copy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Copy(string sourceFileName, string destFileName)"/>
					<MemberSignature Language="C#" Value="public static void Copy(string sourceFileName, string destFileName);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="sourceFileName" Type="System.String"/>
						<Parameter Name="destFileName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Copies the specified file to a new location.</para>
						</summary>
						<param name="sourceFileName">A <see cref="T:System.String"/> containing the name of the file to copy.</param>
						<param name="destFileName">A <see cref="T:System.String"/> containing the name of the destination file. Cannot specify a directory or an existing file.</param>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="sourceFileName "/>or <paramref name="destFileName "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters. </para>
							<para>-or-</para>
							<para>
								<paramref name="sourceFileName "/>or <paramref name="destFileName"/> specifies a directory.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="sourceFileName "/>or <paramref name="destFileName "/>is <see langword="null"/>. </exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">Directory information in <paramref name="sourceFileName"/> or <paramref name="destFileName"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<paramref name="sourceFileName "/> was not found.</exception>
						<exception cref="T:System.IO.IOException">
							<para>
								<paramref name="destFileName"/> exists.</para>
							<para>-or-</para>
							<para> An I/O error occurred.</para>
						</exception>
						<exception cref="T:System.IO.PathTooLongException">The length or the absolute path information for <paramref name="sourceFileName"/> or <paramref name="destFileName"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.IO.File.Copy(System.String,System.String)"/>
(<paramref name="sourceFileName"/>, <paramref name="destFileName"/>, <see langword="false"/>).</para>
							<para>The <paramref name="sourceFileName "/>and <paramref name="destFileName"/> arguments are permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the source file and write the destination file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/> and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Copy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Copy(string sourceFileName, string destFileName, bool overwrite)"/>
					<MemberSignature Language="C#" Value="public static void Copy(string sourceFileName, string destFileName, bool overwrite);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="sourceFileName" Type="System.String"/>
						<Parameter Name="destFileName" Type="System.String"/>
						<Parameter Name="overwrite" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Copies the specified file to a new location.</para>
						</summary>
						<param name="sourceFileName">A <see cref="T:System.String"/> containing the name of the file to copy.</param>
						<param name="destFileName">A <see cref="T:System.String"/> containing the name of the destination file. Cannot specify the name of a directory.</param>
						<param name="overwrite">A <see cref="T:System.Boolean"/> value. Specify <see langword="true"/> if the destination file can be overwritten; otherwise <see langword="false"/>.</param>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="sourceFileName"/> or <paramref name="destFileName"/> is a zero-length string, contains only white space, or contains one or more invalid characters.</para>
							<para>-or-</para>
							<para>
								<paramref name="sourceFileName"/> or <paramref name="destFileName"/> specifies a directory.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="sourceFileName "/>or <paramref name="destFileName "/>is <see langword="null"/>. </exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">Directory information in <paramref name="destFileName"/> or <paramref name="sourceFileName"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<paramref name="sourceFileName "/> was not found.</exception>
						<exception cref="T:System.IO.IOException">
							<para>
								<paramref name="destFileName"/> is read-only (write-protected), or <paramref name="destFileName"/> exists and <paramref name="overwrite"/> is <see langword="false"/> .</para>
							<para>-or-</para>
							<para> An I/O error occurred.</para>
						</exception>
						<exception cref="T:System.IO.PathTooLongException">The length or the absolute path information for <paramref name="sourceFileName"/> or <paramref name="destFileName"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>The <paramref name="sourceFileName "/>and <paramref name="destFileName"/> arguments are
   permitted to specify relative or absolute path information. Relative path
   information is interpreted as relative to the current working directory.
   <block subset="none" type="note">To obtain the current working directory,
      see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the source file and write the destination file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/> and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Create">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.FileStream Create(string path)"/>
					<MemberSignature Language="C#" Value="public static FileStream Create(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileStream</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Creates or overwrites the specified file.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file.</param>
						<returns>
							<para>A <see cref="T:System.IO.FileStream"/> that provides read/write access to the specified file.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</para>
						</exception>
						<exception cref="T:System.UnauthorizedAccessException">
							<paramref name="path"/> specified a file that is read-only (write-protected).</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred while creating the file.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>If the specified file does not exist, it is created; if it does exist and it is not read-only, the
   contents are overwritten.</para>
							<para>The <paramref name="path"/>
argument is permitted to specify relative or absolute path
information. Relative path information is interpreted as relative to the current
working directory. <block subset="none" type="note">To obtain the current
working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write the specified file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Create">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.FileStream Create(string path, int32 bufferSize)"/>
					<MemberSignature Language="C#" Value="public static FileStream Create(string path, int bufferSize);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileStream</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="bufferSize" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Creates or overwrites the specified file.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file.</param>
						<param name=" bufferSize">A <see cref="T:System.Int32"/> containing the number of bytes buffered for reads and writes to the file.</param>
						<returns>
							<para>A <see cref="T:System.IO.FileStream"/> that provides read/write access to the specified file.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.UnauthorizedAccessException">
							<paramref name="path"/> specified a file that is read-only (write-protected).</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred while creating the file.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para> This method is equivalent to <see cref="T:System.IO.FileStream"/> (<paramref name="path"/>, <see cref="F:System.IO.FileMode.Create"/>, <see cref="F:System.IO.FileAccess.ReadWrite"/>,
<see cref="F:System.IO.FileShare.None"/>
, <paramref name="bufferSize"/>).</para>
							<para> If the specified file does not exist, it is created; if it does exist and it is
   not read-only, the contents are
   overwritten.</para>
							<para>The <paramref name="path"/>
argument is permitted to specify relative or absolute path
information. Relative path information is interpreted as relative to the current
working directory. <block subset="none" type="note">To obtain the current
working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write the specified file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CreateText">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.StreamWriter CreateText(string path)"/>
					<MemberSignature Language="C#" Value="public static StreamWriter CreateText(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.StreamWriter</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Creates or opens a new file for writing UTF-8 encoded text.</para>
						</summary>
						<param name="path">The file to be opened for writing.</param>
						<returns>
							<para>A <see cref="T:System.IO.StreamWriter"/> that writes to the specified file using UTF-8 encoding.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="T:System.IO.StreamWriter"/> (<paramref name="path"/>, <see langword="false"/>
). If the file specified by <paramref name="path"/>
does not exist, it is created. If
the file does exist, its contents are overwritten. Additional threads are permitted
to read the file while it is open. </para>
							<para>The <paramref name="path"/>
argument is permitted to specify relative or absolute path
information. Relative path information is interpreted as relative to the current
working directory. To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write the specified file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Delete">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Delete(string path)"/>
					<MemberSignature Language="C#" Value="public static void Delete(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Deletes the specified file.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file to be deleted.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.UnauthorizedAccessException">
							<paramref name="path"/> identifies a directory.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>The <paramref name="path"/>
argument is permitted to specify relative or absolute path
information. Relative path information is interpreted as relative to the current
working directory. <block subset="none" type="note">To obtain the current
working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
							<para>
								<block subset="none" type="note">Some implementations may throw <see cref="T:System.IO.IOException"/> to cover such platform-specific conditions as "file in use".</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Exists">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool Exists(string path)"/>
					<MemberSignature Language="C#" Value="public static bool Exists(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> indicating whether the specified file exists.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file to check.</param>
						<returns>
							<para>
								<see langword="true "/>if the caller
   has the required permissions and <paramref name="path"/> contains the name of an existing file; otherwise, <see langword="false"/>. If <paramref name="path"/> is <see langword="null"/> or a
   zero-length string, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>If the caller does not have sufficient permissions to
      read the specified file, no exception is thrown and the method returns <see langword="false"/> regardless of the existence of <paramref name="path"/>.</para>
							<para>The <paramref name="path "/> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the specified file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetCreationTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime GetCreationTime(string path)"/>
					<MemberSignature Language="C#" Value="public static DateTime GetCreationTime(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the creation date and time of the specified file or directory.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file or directory for which to obtain creation date and time information.</param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> structure set
   to the creation date and time for the specified file or directory. This value is expressed in local time.</para>
							<para>Platforms that do not
   support this feature return <see cref="F:System.DateTime.MinValue"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>The <paramref name="path"/> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetLastAccessTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime GetLastAccessTime(string path)"/>
					<MemberSignature Language="C#" Value="public static DateTime GetLastAccessTime(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the date and time the specified file or directory was last accessed.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file or directory for which to obtain access date and time information.</param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> structure set to
   the date and time the specified file or directory was last accessed. This value is expressed in local time.</para>
							<para>Platforms that do not
   support this feature return <see cref="F:System.DateTime.MinValue"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>The <paramref name="path"/> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetLastWriteTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.DateTime GetLastWriteTime(string path)"/>
					<MemberSignature Language="C#" Value="public static DateTime GetLastWriteTime(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the date and time the specified file or directory was last written to.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file for which to obtain write date and time information.</param>
						<returns>
							<para>A <see cref="T:System.DateTime"/> structure set to
   the date and time the specified file or directory was last written to. This value is expressed in local time.</para>
							<para>Platforms that do not
   support this feature return <see cref="F:System.DateTime.MinValue"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>The <paramref name="path"/> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Move">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Move(string sourceFileName, string destFileName)"/>
					<MemberSignature Language="C#" Value="public static void Move(string sourceFileName, string destFileName);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="sourceFileName" Type="System.String"/>
						<Parameter Name="destFileName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Moves the specified file to a new location.</para>
						</summary>
						<param name="sourceFileName">A <see cref="T:System.String"/> containing the name of the file to move.</param>
						<param name="destFileName">A <see cref="T:System.String"/> containing the name of the new location for the file.</param>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="sourceFileName "/>or <paramref name="destFileName "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters. </para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="sourceFileName "/>or <paramref name="destFileName "/>is <see langword="null"/>. </exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information in <paramref name="sourceFileName"/> or <paramref name="destFileName"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<paramref name="sourceFileName "/>was not found or specifies a directory.</exception>
						<exception cref="T:System.IO.IOException">The destination file is read-only or <paramref name="destFileName"/> is a directory.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length or absolute path information for <paramref name="sourceFileName"/> or <paramref name="destFileName"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>This method does not throw an exception if the source and destination are the same.</para>
							<para>The <paramref name="sourceFileName "/>and <paramref name="destFileName"/> arguments are
   permitted to specify relative or absolute path information. Relative path
   information is interpreted as relative to the current working directory.
   <block subset="none" type="note">To obtain the current working directory,
      see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read from <paramref name="sourceFileName,"/>
							<paramref name=" "/>and write to <paramref name="sourceFileName "/>and <paramref name="destFileName"/>. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/> and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Open">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.FileStream Open(string path, valuetype System.IO.FileMode mode, valuetype System.IO.FileAccess access, valuetype System.IO.FileShare share)"/>
					<MemberSignature Language="C#" Value="public static FileStream Open(string path, FileMode mode, FileAccess access, FileShare share);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileStream</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="mode" Type="System.IO.FileMode"/>
						<Parameter Name="access" Type="System.IO.FileAccess"/>
						<Parameter Name="share" Type="System.IO.FileShare"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Opens a <see cref="T:System.IO.FileStream"/> on the specified file.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file to open.</param>
						<param name=" mode">A <see cref="T:System.IO.FileMode"/> value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.</param>
						<param name=" access">A <see cref="T:System.IO.FileAccess"/> value that specifies the operations that can be performed on the file.</param>
						<param name=" share">A <see cref="T:System.IO.FileShare"/> value specifying the type of access other threads have to the file.</param>
						<returns>
							<para>A <see cref="T:System.IO.FileStream"/>
that provides access to the specified file.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</para>
							<para>-or-</para>
							<para>
								<paramref name="access"/> specified <see langword="Read"/> and <paramref name="mode"/> specified <see langword="Create"/>, <see langword="CreateNew"/>, <see langword="Truncate"/> or <see langword="Append"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="mode"/>, <paramref name="access"/>, or <paramref name="share"/> specified an invalid value.</exception>
						<exception cref="T:System.UnauthorizedAccessException">
							<paramref name="path"/> specified a read-only file and <paramref name="access"/> is not <see langword="Read"/>, or <paramref name="path"/> specified a directory.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred while opening the file.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para> This method is equivalent to <see cref="T:System.IO.FileStream"/> (<paramref name="path"/>,
<paramref name="mode"/>, <paramref name="access"/>, <paramref name="share"/>).</para>
							<para>The <paramref name="path "/> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read and may also require permission to write the file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/> and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Open">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.FileStream Open(string path, valuetype System.IO.FileMode mode, valuetype System.IO.FileAccess access)"/>
					<MemberSignature Language="C#" Value="public static FileStream Open(string path, FileMode mode, FileAccess access);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileStream</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="mode" Type="System.IO.FileMode"/>
						<Parameter Name="access" Type="System.IO.FileAccess"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Opens a <see cref="T:System.IO.FileStream"/> on
   the specified file.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file to open.</param>
						<param name=" mode">A <see cref="T:System.IO.FileMode"/> value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.</param>
						<param name=" access">A <see cref="T:System.IO.FileAccess"/> value that specifies the operations that can be performed on the file.</param>
						<returns>
							<para>A <see cref="T:System.IO.FileStream"/>
that provides access to the specified file.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</para>
							<para>-or-</para>
							<para>
								<paramref name="access"/> specified <see langword="Read"/> and <paramref name="mode"/> specified <see langword="Create"/>, <see langword="CreateNew"/>, <see langword="Truncate"/> or <see langword="Append"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="mode"/> or <paramref name="access"/> specified an invalid value.</exception>
						<exception cref="T:System.UnauthorizedAccessException">
							<paramref name="path"/> specified a read-only file and <paramref name="access"/> is not <see langword="Read"/>, or <paramref name="path"/> specified a directory.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred while opening the file.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para> This method is equivalent to <see cref="T:System.IO.FileStream"/> (<paramref name="path"/>,
<paramref name="mode"/>, <paramref name="access"/>, <see cref="F:System.IO.FileShare.None"/> ).</para>
							<para>The <paramref name="path "/> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read and may also require permission to write the file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/> and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Open">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.FileStream Open(string path, valuetype System.IO.FileMode mode)"/>
					<MemberSignature Language="C#" Value="public static FileStream Open(string path, FileMode mode);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileStream</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="mode" Type="System.IO.FileMode"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Opens a <see cref="T:System.IO.FileStream"/> on the specified file
   with read/write access.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file to open.</param>
						<param name=" mode">A <see cref="T:System.IO.FileMode"/> value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.</param>
						<returns>
							<para>A <see cref="T:System.IO.FileStream"/> that provides read/write access to the specified file.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="mode"/> specified an invalid value.</exception>
						<exception cref="T:System.UnauthorizedAccessException">
							<para>
								<paramref name="path"/> specified a read-only file (this method attempts to open the file with read/write access).</para>
							<para>-or-</para>
							<para> This operation is not supported on the current platform.</para>
							<para>-or-</para>
							<para>
								<paramref name="path"/> specified a directory.</para>
						</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred while opening the file.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para> This method is equivalent to <see cref="T:System.IO.FileStream"/> (<paramref name="path"/>,
<paramref name="mode"/>, <see cref="F:System.IO.FileAccess.ReadWrite"/>, 
<see cref="F:System.IO.FileShare.None"/> 
).</para>
							<para>The <paramref name="path "/> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read and write the file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/> and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OpenRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.FileStream OpenRead(string path)"/>
					<MemberSignature Language="C#" Value="public static FileStream OpenRead(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileStream</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Opens an
      existing file for reading.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file to be opened for reading.</param>
						<returns>
							<para> A read-only <see cref="T:System.IO.FileStream"/> containing the contents of the specified file.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.UnauthorizedAccessException">
							<paramref name="path"/> specified a directory.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<paramref name="path "/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="T:System.IO.FileStream"/> (<paramref name="path"/>, <see cref="F:System.IO.FileMode.Open"/>, <see cref="F:System.IO.FileAccess.Read"/>,
<see cref="F:System.IO.FileShare.Read"/> ).</para>
							<para>The <paramref name="path "/> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read the specified file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OpenText">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.StreamReader OpenText(string path)"/>
					<MemberSignature Language="C#" Value="public static StreamReader OpenText(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.StreamReader</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Opens an existing UTF-8 encoded text file
      for reading.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file to be opened for reading.</param>
						<returns>
							<para>A <see cref="T:System.IO.StreamReader"/> containing the contents of the
   specified file.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para> This method is equivalent to <see cref="T:System.IO.StreamReader"/>
(<paramref name="path"/>). </para>
							<para>The <paramref name="path "/> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OpenWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.FileStream OpenWrite(string path)"/>
					<MemberSignature Language="C#" Value="public static FileStream OpenWrite(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileStream</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Opens an
      existing file for writing.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file to be opened for writing.</param>
						<returns>
							<para>A writable <see cref="T:System.IO.FileStream"/> that writes to the file specified by
<paramref name="path"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.UnauthorizedAccessException">
							<paramref name="path"/> specified a read-only file or a directory.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="T:System.IO.FileStream"/> (<paramref name="path"/>, <see cref="F:System.IO.FileMode.OpenOrCreate"/>, <see cref="F:System.IO.FileAccess.Write"/>,
<see cref="F:System.IO.FileShare.None"/> ).</para>
							<para>The <paramref name="path "/> argument is permitted to specify
relative or absolute path information. Relative path information is interpreted
as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write the specified file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetCreationTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void SetCreationTime(string path, valuetype System.DateTime creationTime)"/>
					<MemberSignature Language="C#" Value="public static void SetCreationTime(string path, DateTime creationTime);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="creationTime" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the creation date and time for the specified file.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file for which to set the creation date and time information.</param>
						<param name=" creationTime">A <see cref="T:System.DateTime"/> containing the value to set for the creation date and time of <paramref name="path"/>. This value is expressed in local time.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="creationTime "/> specifies a value outside the range of date/times permitted for this operation.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred while performing the operation.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<remarks>
							<para>The <paramref name="path"/> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
							<para>On platforms that do not support
   this feature, this method has no effect. If this feature is supported, the range of dates that
   is valid for this operation
   is implementation-specific. </para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified file or directory. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetLastAccessTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void SetLastAccessTime(string path, valuetype System.DateTime lastAccessTime)"/>
					<MemberSignature Language="C#" Value="public static void SetLastAccessTime(string path, DateTime lastAccessTime);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="lastAccessTime" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the date and time the specified file was last accessed.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file for which to set the access date and time information.</param>
						<param name="lastAccessTime">A <see cref="T:System.DateTime"/> containing the value to set for the access date and time of <paramref name="path"/>. This value is expressed in local time.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>The <paramref name="path"/> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
							<para>On platforms that do not
   support this feature, this method has no effect. If this feature is
   supported, the range of dates that is valid for this operation
   is implementation-specific. </para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetLastWriteTime">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void SetLastWriteTime(string path, valuetype System.DateTime lastWriteTime)"/>
					<MemberSignature Language="C#" Value="public static void SetLastWriteTime(string path, DateTime lastWriteTime);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="lastWriteTime" Type="System.DateTime"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the date and time a file was last written to.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the name of the file for which to set the date and time information.</param>
						<param name="lastWriteTime">A <see cref="T:System.DateTime"/> containing the value to set for the last write date and time of <paramref name="path"/>. This value is expressed in local time.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<exception cref="T:System.Security.UnauthorizedAccessException">The caller does not have the required permission.</exception>
						<remarks>
							<para>The <paramref name="path"/> argument is permitted to specify
   relative or absolute path information. Relative path information is interpreted
   as relative to the current working directory. <block subset="none" type="note">To obtain the current working directory, see <see cref="M:System.IO.Directory.GetCurrentDirectory" qualify="true"/>.</block>
							</para>
							<para>On platforms that do not
   support this feature, this method has no effect. If this feature is
   supported, the range of dates that is valid for this operation
   is implementation-specific. </para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to write to the specified file. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="FileAccess" FullName="System.IO.FileAccess" FullNameSP="System_IO_FileAccess">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable FileAccess extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum FileAccess"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Defines constants used to specify the level of file access being requested.</para>
				</summary>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>FlagsAttribute</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.FileAccess Read = 0x1"/>
					<MemberSignature Language="C#" Value="Read = 0x1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Read</MemberValue>
					<Docs>
						<summary>
							<para> Specifies read access for a file.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadWrite">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.FileAccess ReadWrite = Read | Write"/>
					<MemberSignature Language="C#" Value="ReadWrite = Read | Write;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ReadWrite</MemberValue>
					<Docs>
						<summary>
							<para> 
      Specifies read and write access for a file.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.FileAccess Write = 0x2"/>
					<MemberSignature Language="C#" Value="Write = 0x2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Write</MemberValue>
					<Docs>
						<summary>
							<para> Specifies write access for
      a file.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="FileIOPermission" FullName="System.Security.Permissions.FileIOPermission" FullNameSP="System_Security_Permissions_FileIOPermission">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable FileIOPermission extends System.Security.CodeAccessPermission"/>
			<TypeSignature Language="C#" Value="public sealed class FileIOPermission : CodeAccessPermission"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Secures access to files and directories.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Security.Permissions.FileIOPermission"/> objects describe protected
   operations on files and directories. Files and directories are specified using
   absolute paths. Case-sensitivity of files and directories is platform
   and file system dependent.</para>
					<block subset="none" type="note">
						<para> This permission distinguishes between the following types of file I/O
      access provided by <see cref="T:System.Security.Permissions.FileIOPermissionAccess"/>:</para>
						<list type="bullet">
							<item>
								<term>
									<see langword="Read"/>: Read 
         access to the contents of the file or access to information about the file,
         such as its length or last modification time.</term>
							</item>
							<item>
								<term>
									<see langword="Write"/>: Write 
         access to the contents of the file or access to change information about the
         file, such as its name. Also allows for deletion and overwriting.</term>
							</item>
							<item>
								<term>
									<see langword="Append"/> : 
         Ability to write to the end of a file only.</term>
							</item>
							<item>
								<term>
									<see langword="PathDiscovery"/>: 
         Ability to obtain path information about a file.</term>
							</item>
							<item>
								<term>
									<see langword="NoAccess"/>: No 
         access to the file or directory.</term>
							</item>
							<item>
								<term>
									<see langword="AllAccess"/>: Full
         access to the file or directory.</term>
							</item>
						</list>
						<para> These access levels are independent, meaning that rights to one do not
   imply rights to another. For example, <see langword="Write "/>permission does not
   imply permission to <see langword="Read"/> or <see langword="Append"/>. <see cref="T:System.Security.Permissions.FileIOPermissionAccess"/>
   
   values can be combined using a bitwise OR operator.</para>
						<para>For information on security considerations when accessing files, see <see cref="T:System.IO.FileStream"/> .</para>
					</block>
					<para>The XML encoding of a <see langword="FileIOPermission "/> instance is defined below
   in EBNF format. The following conventions are used: </para>
					<list type="bullet">
						<item>
							<term>
								<para> All non-literals in the grammar below are shown in normal type.</para>
							</term>
						</item>
						<item>
							<term>
								<para> All literals are in bold font. </para>
							</term>
						</item>
					</list>
					<para> The following meta-language symbols are used: </para>
					<list type="bullet">
						<item>
							<term>
         '*' represents a meta-language symbol suffixing an
         expression that can appear zero or more times.</term>
						</item>
						<item>
							<term>
         '?' represents a meta-language symbol suffixing an
         expression that can appear zero or one time.</term>
						</item>
						<item>
							<term>
         '+' represents a meta-language symbol suffixing an
         expression that can appear one or more times.</term>
						</item>
						<item>
							<term>
         '(',')' is used to group literals, non-literals or a
         mixture of literals and non-literals.</term>
						</item>
						<item>
							<term>
         '|' denotes an exclusive disjunction between two
         expressions.</term>
						</item>
						<item>
							<term>
         '::= ' denotes a production rule where a left hand
         non-literal is replaced by a right hand expression containing literals,
         non-literals or both.</term>
						</item>
					</list>
					<para>BuildVersion refers to the build version of the shipping CLI. This is
   specified as a dotted build number such as '2412.0' . </para>
					<para>ECMAPubKeyToken ::= <see langword="b77a5c561934e089"/>
					</para>
					<para> FileName refers to the full path and file name of a file, or to a path
   name, such as "<c>C:\Temp\test.exe</c>" or "<c>C:\</c>
". </para>
					<para>The XML encoding of a <see langword="FileIOPermission"/> instance is as
follows:</para>
					<para>FileIOPermissionXML ::=
   </para>
					<para>
						<c>
							<see langword="&lt;IPermission"/>
							<see langword="class=&quot;"/>
						</c>
					</para>
					<para>
						<c>
							<see langword="System.Security.Permissions.FileIOPermission,"/>
						</c>
					</para>
					<para>
						<c>
							<see langword="mscorlib, "/>
						</c>
					</para>
					<para>
						<c>
							<see langword="Version=1.0."/>BuildVersion<see langword=","/>
						</c>
					</para>
					<para>
						<c>
							<see langword="Culture=neutral,"/>
						</c>
					</para>
					<para>
						<c>
							<see langword="PublicKeyToken="/>ECMAPubKeyToken<see langword="&quot;"/>
						</c>
					</para>
					<para>
						<c>
							<see langword="version=&quot;1&quot; "/>
						</c>
					</para>
					<para>
						<c>( </c>
					</para>
					<para>
						<c>
							<see langword="Unrestricted=&quot;true&quot;"/>
						</c>
					</para>
					<para>
						<c>) </c>
					</para>
					<para>
						<c>| </c>
					</para>
					<para>
						<c>( </c>
					</para>
					<para>
						<c>(<see langword="Read=&quot;"/>FileName (<see langword=";"/> FileName )*<see langword="&quot;"/> ) ? </c>
					</para>
					<para>
						<c>(<see langword="Write=&quot;"/>FileName (<see langword=";"/> FileName )*<see langword="&quot;"/> ) ? </c>
					</para>
					<para>
						<c>(<see langword="Append=&quot;"/>FileName (<see langword=";"/> FileName )*<see langword="&quot;"/> ) ? </c>
					</para>
					<para>
						<c>(<see langword="PathDiscovery=&quot;"/>FileName (<see langword=";"/> FileName )*<see langword="&quot;"/> ) ? </c>
					</para>
					<para>
						<c>) </c>
					</para>
					<para>
						<c>
							<see langword="/&gt;"/>
						</c>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Security.CodeAccessPermission</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Security.IPermission</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.PermissionState state)"/>
					<MemberSignature Language="C#" Value="public FileIOPermission(PermissionState state);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="state" Type="System.Security.Permissions.PermissionState"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Security.Permissions.FileIOPermission"/> class
   with the specified <see cref="T:System.Security.Permissions.PermissionState"/> value.</para>
						</summary>
						<param name="state">A <see cref="T:System.Security.Permissions.PermissionState"/> value.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="state"/> is not a valid <see cref="T:System.Security.Permissions.PermissionState"/> value.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This constructor creates either fully restricted
         (<see cref="F:System.Security.Permissions.PermissionState.None"/>) or
         <see cref="F:System.Security.Permissions.PermissionState.Unrestricted"/> access to files and directories.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.FileIOPermissionAccess access, string path)"/>
					<MemberSignature Language="C#" Value="public FileIOPermission(FileIOPermissionAccess access, string path);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="access" Type="System.Security.Permissions.FileIOPermissionAccess"/>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Security.Permissions.FileIOPermission"/> class with the specified access
 to the specified file or directory.</para>
						</summary>
						<param name="access">One or more values defined in <see cref="T:System.Security.Permissions.FileIOPermissionAccess"/>. Specify multiple values using the bitwise OR operator.</param>
						<param name="path">The absolute path of the file or directory.</param>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="access"/> specifies values not defined in <see cref="T:System.Security.Permissions.FileIOPermissionAccess"/>. </para>
							<para>
								<paramref name="path"/> contains one or more characters that are invalid for use in files or directory names. </para>
							<para>
								<paramref name="path"/> did not specify the absolute path to the file or directory. </para>
						</exception>
						<remarks>
							<para>The set of characters that are invalid for use 
 in file or directory names is platform specific.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Copy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Copy()"/>
					<MemberSignature Language="C#" Value="public override IPermission Copy();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a new <see cref="T:System.Security.Permissions.FileIOPermission"/> object
   containing the same values as the current instance.</para>
						</summary>
						<returns>
							<para>A new <see cref="T:System.Security.Permissions.FileIOPermission"/> containing the
   same values as the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>The object returned by this method represents the same level of access
         to files and directories as the current instance.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Copy"/> and is implemented to
      support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FromXml">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void FromXml(class System.Security.SecurityElement esd)"/>
					<MemberSignature Language="C#" Value="public override void FromXml(SecurityElement esd);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="esd" Type="System.Security.SecurityElement"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Reconstructs the state of a <see cref="T:System.Security.Permissions.FileIOPermission"/> object using the specified XML
 encoding.</para>
						</summary>
						<param name="esd">A <see cref="T:System.Security.SecurityElement"/> instance containing the XML encoding to use to reconstruct the state of a <see cref="T:System.Security.Permissions.FileIOPermission"/> object.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="esd"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="esd"/> does not contain the encoding for a <see cref="T:System.Security.Permissions.FileIOPermission"/> instance.</para>
							<para>The version number of <paramref name="esd"/> is not valid.</para>
						</exception>
						<remarks>
							<para>The state of the current instance is changed to the
 state encoded in <paramref name="esd"/>.</para>
							<block subset="none" type="note">
								<para> For the XML encoding for this class, see the <see cref="T:System.Security.Permissions.FileIOPermission"/> class
 page.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.FromXml(System.Security.SecurityElement)"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Intersect">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Intersect(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public override IPermission Intersect(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a new <see cref="T:System.Security.Permissions.FileIOPermission"/> object that is the intersection of
 the current instance and the specified object. </para>
						</summary>
						<param name="target">A <see cref="T:System.Security.Permissions.FileIOPermission"/> instance to intersect with the current instance.</param>
						<returns>
							<para>A new <see cref="T:System.Security.Permissions.FileIOPermission"/> instance that
 represents the intersection of the current instance and <paramref name="target"/>. If the intersection is empty or <paramref name="target"/>
 is <see langword="null"/>, returns <see langword="null"/>. If the current instance is unrestricted, returns a copy of <paramref name="target"/>. If
<paramref name="target"/> is unrestricted, returns a copy of the current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target"/> is not <see langword="null"/> and is not of type <see cref="T:System.Security.Permissions.FileIOPermission"/> .</exception>
						<remarks>
							<block subset="none" type="note">
								<para> The intersection of two permissions is a permission that secures the
 resources and operations secured by both permissions. Specifically, it represents the minimum
 permission such that any demand that passes both permissions will also pass
 their intersection.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Intersect(System.Security.IPermission)"/> and is implemented to
 support the <see cref="T:System.Security.IPermission"/>
 interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSubsetOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsSubsetOf(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public override bool IsSubsetOf(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance is a subset of the specified
 object.</para>
						</summary>
						<param name="target">A <see cref="T:System.Security.Permissions.FileIOPermission"/> instance that is to be tested for the subset relationship.</param>
						<returns>
							<para>
								<see langword="true"/> if the
 current instance is a subset of <paramref name="target"/>
 ; otherwise,<see langword=" false"/>. If the current instance is unrestricted, and <paramref name="target"/> is
 not, returns <see langword="false"/>. If <paramref name="target"/> is
 unrestricted, returns <see langword="true"/>. If
<paramref name="target"/> is <see langword="null"/> and no files or directories are secured 
 by the current instance, returns <see langword="true"/>. If target is
<see langword="null"/>, and the current instance secures one or more files or 
 directories, returns <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target"/> is not <see langword="null"/> and is not of type <see cref="T:System.Security.Permissions.FileIOPermission"/> .</exception>
						<remarks>
							<block subset="none" type="note">
								<para>The current instance is a subset of <paramref name="target"/> if the current instance
 specifies a set of accesses to resources that is wholly contained by
 <paramref name="target"/>. For example, a permission that represents read access to a file
 is a subset of a permission that represents read and write access to the file. </para>
								<para>If this method returns <see langword="true"/> , the current instance
 describes a level of access to files and directories that is also described by
<paramref name="target"/>.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.IsSubsetOf(System.Security.IPermission)"/> and is implemented to
support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToXml">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.SecurityElement ToXml()"/>
					<MemberSignature Language="C#" Value="public override SecurityElement ToXml();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.SecurityElement</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns the XML encoding of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Security.SecurityElement"/> containing the XML encoding of the state of the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>For the XML encoding for this class, see the <see cref="T:System.Security.Permissions.FileIOPermission"/> class
 page.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.ToXml"/> .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Union">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Union(class System.Security.IPermission other)"/>
					<MemberSignature Language="C#" Value="public override IPermission Union(IPermission other);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="other" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a new <see cref="T:System.Security.Permissions.FileIOPermission"/> that is the union of the
 current instance and the specified object.</para>
						</summary>
						<param name="other">A <see cref="T:System.Security.Permissions.FileIOPermission"/> instance to combine with the current instance.</param>
						<returns>
							<para>A new <see cref="T:System.Security.Permissions.FileIOPermission"/> instance that represents the union
 of the current instance and <paramref name="other"/> . If the current
 instance or <paramref name="other "/> is unrestricted, returns a
<see cref="T:System.Security.Permissions.FileIOPermission"/> 
instance that is unrestricted. If <paramref name="other"/> is <see langword="null"/>,
returns a copy of the current instance via the <see cref="M:System.Security.IPermission.Copy"/> method.
If the current instance and <paramref name="other"/> do not specify any file or
directory names, returns <see langword="null"/>
.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="other "/> is not <see langword="null"/> and is not of type <see cref="T:System.Security.Permissions.FileIOPermission"/> .</exception>
						<remarks>
							<block subset="none" type="note">
								<para>The result of a call to <see cref="M:System.Security.Permissions.FileIOPermission.Union(System.Security.IPermission)"/> is a permission
 that represents all of
 the access to files and directories represented
 by the current instance as well as the access to files and
 directories represented by <paramref name="other"/>. Any demand that passes either the current
 instance or <paramref name="other"/> passes their union.</para>
								<para> This method overrides <see cref="M:System.Security.CodeAccessPermission.Union(System.Security.IPermission)"/> and is implemented to
 support the <see cref="T:System.Security.IPermission"/>
 interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="FileIOPermissionAccess" FullName="System.Security.Permissions.FileIOPermissionAccess" FullNameSP="System_Security_Permissions_FileIOPermissionAccess">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable FileIOPermissionAccess extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum FileIOPermissionAccess"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Represents access to files and
 directories.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">This enumeration is used by the <see cref="T:System.Security.Permissions.FileIOPermission"/> class. </block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>FlagsAttribute</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="AllAccess">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.FileIOPermissionAccess AllAccess = Read | Write | Append | PathDiscovery"/>
					<MemberSignature Language="C#" Value="AllAccess = Read | Write | Append | PathDiscovery;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.FileIOPermissionAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllAccess</MemberValue>
					<Docs>
						<summary>
							<para>Specifies <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Append"/>, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read"/>
, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write"/>, and
<see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery"/> access to a file or directory.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.FileIOPermissionAccess Append = 0x4"/>
					<MemberSignature Language="C#" Value="Append = 0x4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.FileIOPermissionAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Append</MemberValue>
					<Docs>
						<summary>
							<para> Specifies append access to a file or directory. Append
 access includes the ability to create a new file or directory.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NoAccess">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.FileIOPermissionAccess NoAccess = 0x0"/>
					<MemberSignature Language="C#" Value="NoAccess = 0x0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.FileIOPermissionAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NoAccess</MemberValue>
					<Docs>
						<summary>
							<para> Specifies no access to a file or directory.
 </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PathDiscovery">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.FileIOPermissionAccess PathDiscovery = 0x8"/>
					<MemberSignature Language="C#" Value="PathDiscovery = 0x8;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.FileIOPermissionAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>PathDiscovery</MemberValue>
					<Docs>
						<summary>
							<para> Specifies access to the path information for a file or directory. <see cref="F:System.Security.Permissions.FileIOPermissionAccess.PathDiscovery"/> does not
 include access to the
 contents of a file or directory.</para>
							<para>
								<block subset="none" type="note">This permission is used to protect
 sensitive information in the path, such as user names, as well as information
 about the directory structure revealed in the
 path. </block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.FileIOPermissionAccess Read = 0x1"/>
					<MemberSignature Language="C#" Value="Read = 0x1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.FileIOPermissionAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Read</MemberValue>
					<Docs>
						<summary>
 Specifies read access to a file or directory.
</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.FileIOPermissionAccess Write = 0x2"/>
					<MemberSignature Language="C#" Value="Write = 0x2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.FileIOPermissionAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Write</MemberValue>
					<Docs>
						<summary>
							<para> Specifies write access to a file or
 directory. Write access includes deleting and overwriting files or directories.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="FileIOPermissionAttribute" FullName="System.Security.Permissions.FileIOPermissionAttribute" FullNameSP="System_Security_Permissions_FileIOPermissionAttribute">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable FileIOPermissionAttribute extends System.Security.Permissions.CodeAccessSecurityAttribute"/>
			<TypeSignature Language="C#" Value="public sealed class FileIOPermissionAttribute : CodeAccessSecurityAttribute"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Used to declaratively specify security actions to control
      access to files and directories.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para> The level of access to a file or directory is specified using the members of the
         current instance. For example, to specify read permissions for a file, set the
      <see cref="P:System.Security.Permissions.FileIOPermissionAttribute.Read"/> property
         equal to the name of the file.</para>
						<para> The security information declared by a
         security attribute is stored in the metadata of the attribute target, and is accessed by
         the system at run-time. Security attributes are used for
         declarative security only. For imperative security, use the corresponding
         permission class, <see cref="T:System.Security.Permissions.FileIOPermission"/>.</para>
						<para>The allowable <see cref="T:System.Security.Permissions.FileIOPermissionAttribute"/> targets are
      determined by the <see cref="T:System.Security.Permissions.SecurityAction"/> passed to the constructor.</para>
					</block>
					<para>Case-sensitivity of file and directory names is
   platform dependent. The set of characters that are valid for use in file and
   directory names is determined by the current file system.</para>
				</remarks>
				<example>
					<para>The following example shows a declarative request for full access to the
      specified file. The <see cref="F:System.Security.Permissions.SecurityAction.RequestMinimum"/> security action
      indicates that this is the minimum permission required for the target assembly
      to be able to execute.</para>
					<para>
						<c>[assembly:FileIOPermissionAttribute(SecurityAction.RequestMinimum, All="\\example\\sample.txt")]
   </c>
					</para>
					<para>The following example shows how to demand that the
      calling code has unrestricted access to files and directories. Demands are
      typically made to protect methods or classes from malicious code. </para>
					<para>
						<c>[FileIOPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]</c>
					</para>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Security.Permissions.CodeAccessSecurityAttribute</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>AttributeUsageAttribute(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method, AllowMultiple=true, Inherited=false)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.SecurityAction action)"/>
					<MemberSignature Language="C#" Value="public FileIOPermissionAttribute(SecurityAction action);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="action" Type="System.Security.Permissions.SecurityAction"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Security.Permissions.FileIOPermissionAttribute"/> class
 with the specified <see cref="T:System.Security.Permissions.SecurityAction"/> value.</para>
						</summary>
						<param name="action">A <see cref="T:System.Security.Permissions.SecurityAction"/> value.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="action"/> is not a valid <see cref="T:System.Security.Permissions.SecurityAction"/> value. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="All">
					<MemberSignature Language="ILASM" Value=".property string All { public hidebysig specialname instance void set_All(string value) }"/>
					<MemberSignature Language="C#" Value="public string All { set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sets the name of a file or directory for which full access is
      secured.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing
   the absolute path of the file or directory for which full access is secured.</para>
						</value>
						<exception cref="T:System.ArgumentException">The path information specified for a set operation contains invalid characters or wild card specifiers.</exception>
						<remarks>
							<para>This property is write-only.</para>
							<para>
								<block subset="none" type="note">This property sets
      full access for a single file or directory; use additional
   <see cref="T:System.Security.Permissions.FileIOPermissionAttribute"/>
   attributes to specify additional files
   and directories.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".property string Append { public hidebysig specialname instance string get_Append() public hidebysig specialname instance void set_Append(string value) }"/>
					<MemberSignature Language="C#" Value="public string Append { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the name of a file or directory for which append access is secured.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing
   the absolute path of the file or directory for which append access is secured.</para>
						</value>
						<exception cref="T:System.ArgumentException">The path information specified for a set operation contains invalid characters or wild card specifiers.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This property sets
      append access for a single file or directory; use additional
   <see cref="T:System.Security.Permissions.FileIOPermissionAttribute"/>
   attributes to specify additional files
   and directories.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CreatePermission">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission CreatePermission()"/>
					<MemberSignature Language="C#" Value="public override IPermission CreatePermission();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a new <see cref="T:System.Security.Permissions.FileIOPermission"/> that contains the security
   information of the current instance.</para>
						</summary>
						<returns>
							<para>A new <see cref="T:System.Security.Permissions.FileIOPermission"/> object with the security
   information of the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>Applications typically do not call this method; it is intended for use by the
         system.</para>
								<para>The security information declared by a security attribute is stored in the
         metadata of the attribute target, and is accessed by the system at run-time. The
         system uses the object returned by this method to convert the security
         information of the current instance into the form stored in metadata.</para>
								<para>This method overrides <see cref="M:System.Security.Permissions.SecurityAttribute.CreatePermission"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PathDiscovery">
					<MemberSignature Language="ILASM" Value=".property string PathDiscovery { public hidebysig specialname instance string get_PathDiscovery() public hidebysig specialname instance void set_PathDiscovery(string value) }"/>
					<MemberSignature Language="C#" Value="public string PathDiscovery { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the name of a file or directory for which path discovery
      access is secured.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing
   the absolute path of the file or directory for which access to the
   contents of the path is secured.</para>
						</value>
						<exception cref="T:System.ArgumentException">The path information specified for a set operation contains invalid characters or wild card specifiers.</exception>
						<remarks>
							<block subset="none" type="note">
								<para> This property sets path discovery access for a single
         file or directory; use additional <see cref="T:System.Security.Permissions.FileIOPermissionAttribute"/>
         attributes to specify additional files and
         directories.</para>
								<para>Path discovery controls access to the information in the path itself. This
         protects sensitive information in the path, such as user names, as well as
         information about the directory structure revealed in the path. This value does
         not secure access to files or folders represented by the path.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".property string Read { public hidebysig specialname instance string get_Read() public hidebysig specialname instance void set_Read(string value) }"/>
					<MemberSignature Language="C#" Value="public string Read { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the name of a file or directory for which read access is
      secured.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing
   the absolute path of the file or directory for which read access is secured.</para>
						</value>
						<exception cref="T:System.ArgumentException">The path information specified for a set operation contains invalid characters or wild card specifiers.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This property sets
      read access for a single file or directory; use additional
   <see cref="T:System.Security.Permissions.FileIOPermissionAttribute"/>
   attributes to specify
   additional files and directories.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".property string Write { public hidebysig specialname instance string get_Write() public hidebysig specialname instance void set_Write(string value) }"/>
					<MemberSignature Language="C#" Value="public string Write { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the name of a
      file or directory for which write access is secured.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing
   the absolute path of the file or directory for which write access is secured.</para>
						</value>
						<exception cref="T:System.ArgumentException">The path information specified for a set operation contains invalid characters or wild card specifiers.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This property sets
      write access for a single file or directory; use additional <see cref="T:System.Security.Permissions.FileIOPermissionAttribute"/>
      attributes to
      specify additional files and directories.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="FileLoadException" FullName="System.IO.FileLoadException" FullNameSP="System_IO_FileLoadException">
			<TypeSignature Language="ILASM" Value=".class public serializable FileLoadException extends System.IO.IOException"/>
			<TypeSignature Language="C#" Value="public class FileLoadException : IOException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when a <see cref="T:System.Reflection.Assembly"/> file is found
 but cannot be loaded.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">The <see cref="T:System.IO.FileNotFoundException"/> exception is thrown when
 the file fails to load because it cannot be located. If the file is located, but
 cannot be loaded due to insufficient permissions, a <see cref="T:System.Security.SecurityException"/>
 is
 thrown.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.IO.IOException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public FileLoadException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.FileLoadException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.FileLoadException.Message"/> property of the
 new instance to a system-supplied message that describes the error, such as
 "Could not load the specified file." This message takes into account the current
 system culture.</para>
							<para>The <see cref="!:System.IO.FileLoadException.InnerException"/> property and <see cref="P:System.IO.FileLoadException.FileName"/> property of the new instance are initialized to
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public FileLoadException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.FileLoadException"/>
class with the specified error message.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.FileLoadException.Message"/> property of the
   new instance using <paramref name="message"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="P:System.IO.FileLoadException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no
   arguments. </para>
							<para> The <see cref="!:System.IO.FileLoadException.InnerException"/> property and <see cref="P:System.IO.FileLoadException.FileName"/> property of the new instance are initialized to
<see langword="null"/>. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception inner)"/>
					<MemberSignature Language="C#" Value="public FileLoadException(string message, Exception inner);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="inner" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.FileLoadException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name=" inner">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="inner"/> is non-null, then the current exception was raised in a catch block handling <paramref name="inner"/>.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.FileLoadException.Message"/> property of the new
   instance using <paramref name="message"/> and the <see cref="!:System.IO.FileLoadException.InnerException"/> property using
<paramref name="inner"/>. If <paramref name="message"/> is <see langword="null"/>, 
   the <see cref="P:System.IO.FileLoadException.Message"/> property is initialized to the system-supplied
   message provided by the constructor that takes no arguments.</para>
							<para> The <see cref="P:System.IO.FileLoadException.FileName"/> property of the new 
instance is initialized to <see langword="null"/>. </para>
							<para>
								<block subset="none" type="note">For more information on inner
   exceptions, see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, string fileName)"/>
					<MemberSignature Language="C#" Value="public FileLoadException(string message, string fileName);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="fileName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.FileLoadException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="fileName">A <see cref="T:System.String"/> containing the name of the file that was not loaded.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.FileLoadException.Message"/> property of the
   new instance using <paramref name="message"/> and the <see cref="P:System.IO.FileLoadException.FileName"/> property using
<paramref name="fileName"/>. If <paramref name="message"/> is <see langword="null"/>, 
   the <see cref="P:System.IO.FileLoadException.Message"/> property is initialized to the system-supplied
   message provided by the constructor that takes no arguments. </para>
							<para> The <see cref="!:System.IO.FileLoadException.InnerException"/> property of the 
new instance is initialized to <see langword="null"/>.</para>
							<block subset="none" type="note">
								<para>
									<see cref="P:System.IO.FileLoadException.FileName"/> is not required to be a file stored
   on disk; it can be any part of a system that supports access via streams. For
   example, depending on the system, this class may be able to access a physical
   device.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, string fileName, class System.Exception inner)"/>
					<MemberSignature Language="C#" Value="public FileLoadException(string message, string fileName, Exception inner);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="fileName" Type="System.String"/>
						<Parameter Name="inner" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.FileLoadException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name=" fileName">A <see cref="T:System.String"/> containing the name of the file that was not loaded.</param>
						<param name="inner">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="inner"/> is non-null, then the current exception was raised in a catch block handling <paramref name="inner"/>.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.FileLoadException.Message"/> property of the
   new instance using <paramref name="message"/>, the <see cref="!:System.IO.FileLoadException.InnerException"/> property using
<paramref name="inner"/>, and the <see cref="P:System.IO.FileLoadException.FileName"/> property using 
<paramref name="fileName"/>. If <paramref name="message"/> is <see langword="null"/>, 
   the <see cref="P:System.IO.FileLoadException.Message"/> property is initialized to the system-supplied
   message provided by the constructor that takes no arguments.</para>
							<block subset="none" type="note">
								<para>
									<see cref="P:System.IO.FileLoadException.FileName"/> is not required to be a file stored
   on disk; it can be any part of a system that supports access via streams. For
   example, depending on the system, this class may be able to access a physical
   device.</para>
								<para>For more information on inner exceptions, see <see cref="P:System.Exception.InnerException"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FileName">
					<MemberSignature Language="ILASM" Value=".property string FileName { public hidebysig specialname instance string get_FileName() }"/>
					<MemberSignature Language="C#" Value="public string FileName { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the name of the file that caused the current exception.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the name of the file that caused the
   current exception.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>This property returns the name of the file supplied to the constructor for the
      current instance, if any. If the file name was not specified or is a null
      reference, this property returns <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Message">
					<MemberSignature Language="ILASM" Value=".property string Message { public hidebysig virtual specialname string get_Message() }"/>
					<MemberSignature Language="C#" Value="public override string Message { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the error message that describes the current exception.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing a
   message that describes the error that caused the current exception.</para>
						</value>
						<remarks>
							<para>If the message supplied to the constructor for the current
      instance was not <see langword="null"/> ,
      
      this property returns that message. Otherwise, this property
      returns a system-supplied message that includes the name of the
      file that was not loaded, for example, "Unable to load file a
   <paramref name="FileName"/>." (a <paramref name="FileName"/> represents the value returned by <see cref="P:System.IO.FileLoadException.FileName"/>.) If <see cref="P:System.IO.FileLoadException.FileName"/> is
   <see langword="null"/>, this is indicated in the system-supplied
      message as "(null)". The system-supplied message takes into account the current system culture.</para>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">This property
      overrides <see cref="P:System.Exception.Message"/> .</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a string representation of the current exception.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> 
representation of the current exception.</para>
						</returns>
						<remarks>
							<para>The string representation returned by this method includes the value of the 
   <see cref="P:System.IO.FileLoadException.Message"/> property, the value 
      of the <see cref="P:System.IO.FileLoadException.FileName"/> property, the result of calling
   <see langword="ToString"/> on the exception returned by <see cref="!:System.IO.FileLoadException.InnerException"/>, and the result of calling <see cref="P:System.Environment.StackTrace"/>. 
      If any of these members is <see langword="null"/>, its value is not included in
      the returned string.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Object.ToString"/> .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="FileMode" FullName="System.IO.FileMode" FullNameSP="System_IO_FileMode">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable FileMode extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum FileMode"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Specifies how the operating system opens a file.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.IO.FileMode"/> values specify whether a
   file is created if one does not exist, and determine whether the contents of existing
   files are retained or overwritten.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.FileMode Append = 6"/>
					<MemberSignature Language="C#" Value="Append = 6;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileMode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Append</MemberValue>
					<Docs>
						<summary>
							<para> Requests a file be opened. If the file exists, its contents
      are preserved. This value is valid only for <see cref="F:System.IO.FileAccess.Write" qualify="true"/>
      access. Attempts to read from a file opened with <see langword="Append"/>
      cause an
      exception.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Create">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.FileMode Create = 2"/>
					<MemberSignature Language="C#" Value="Create = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileMode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Create</MemberValue>
					<Docs>
						<summary>
							<para> Requests a new file be created if it does not exist. The 
      file contents are overwritten if it does exist. This value is equivalent to
      requesting that if the file does not exist, use <see cref="F:System.IO.FileMode.CreateNew"/>;
      otherwise, use <see cref="F:System.IO.FileMode.Truncate"/>.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CreateNew">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.FileMode CreateNew = 1"/>
					<MemberSignature Language="C#" Value="CreateNew = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileMode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>CreateNew</MemberValue>
					<Docs>
						<summary>
							<para> Requests a new file be created. An exception
      is thrown if the file already exists.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Open">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.FileMode Open = 3"/>
					<MemberSignature Language="C#" Value="Open = 3;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileMode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Open</MemberValue>
					<Docs>
						<summary>
							<para>Requests an existing file be opened. An exception is
      thrown if the file does not exist.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OpenOrCreate">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.FileMode OpenOrCreate = 4"/>
					<MemberSignature Language="C#" Value="OpenOrCreate = 4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileMode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>OpenOrCreate</MemberValue>
					<Docs>
						<summary>
							<para> Requests a file be opened. The file is
      created if it does not exist.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Truncate">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.FileMode Truncate = 5"/>
					<MemberSignature Language="C#" Value="Truncate = 5;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileMode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Truncate</MemberValue>
					<Docs>
						<summary>
							<para> Requests an existing file be opened; existing contents
      are deleted. This value is valid only for <see cref="F:System.IO.FileAccess.Write" qualify="true"/>
      access. Attempts to read from a file opened with <see langword="Truncate"/>
      cause
      an exception.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="FileNotFoundException" FullName="System.IO.FileNotFoundException" FullNameSP="System_IO_FileNotFoundException">
			<TypeSignature Language="ILASM" Value=".class public serializable FileNotFoundException extends System.IO.IOException"/>
			<TypeSignature Language="C#" Value="public class FileNotFoundException : IOException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when a file path
      argument specifies a file that does not exist.</para>
				</summary>
				<example>
					<para>The following example demonstrates an error that causes
      the <see cref="T:System.IO.FileNotFoundException"/>
      exception to be thrown.</para>
					<code lang="C#">using System;
using System.IO;
class FileNotFoundExample {
    public static void Main () {
    string badPath = "/Eccma/examples/FileTest.cs";
    string goodPath = "/Ecma/examples2/FileTest.cs";
    try {
        File.Copy(badPath,goodPath);
    }
    catch (FileNotFoundException e) {
    Console.WriteLine("Caught: {0}",e.Message);
    }
    }
}
   </code>
					<para>The output is</para>
					<c>
						<para>Caught: Could not find file "/Eccma/examples/FileTest.cs".</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.IO.IOException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public FileNotFoundException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.FileNotFoundException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.FileNotFoundException.Message"/>
property of the new instance to a system-supplied message that
describes the error, such as "Could not find the specified
file." This message takes into account the current system culture.</para>
							<para>
The <see cref="!:System.IO.FileNotFoundException.InnerException"/> and <see cref="P:System.IO.FileNotFoundException.FileName"/> properties of the new instance are initialized
to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public FileNotFoundException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.FileNotFoundException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.FileNotFoundException.Message"/> property of the
   new instance using <paramref name="message"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="P:System.IO.FileNotFoundException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para> The <see cref="!:System.IO.FileNotFoundException.InnerException"/> and <see cref="P:System.IO.FileNotFoundException.FileName"/> properties of the new instance are initialized to
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public FileNotFoundException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.FileNotFoundException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/>.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.FileNotFoundException.Message"/> property of the
   new instance using <paramref name="message"/> and the <see cref="!:System.IO.FileNotFoundException.InnerException"/> property using
<paramref name="innerException"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="P:System.IO.FileNotFoundException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para> The <see cref="P:System.IO.FileNotFoundException.FileName"/> property of the new instance is 
initialized to <see langword="null"/>.</para>
							<para>
								<block subset="none" type="note">For more information on inner
   exceptions, see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, string fileName)"/>
					<MemberSignature Language="C#" Value="public FileNotFoundException(string message, string fileName);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="fileName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.IO.FileNotFoundException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name=" fileName">A <see cref="T:System.String"/> containing the name of the file that was not found.</param>
						<remarks>
							<para>The constructor initializes the <see cref="P:System.IO.FileNotFoundException.Message"/> property of the
   new instance using <paramref name="message"/> and the <see cref="P:System.IO.FileNotFoundException.FileName"/> property using
<paramref name="fileName"/>. If <paramref name="message"/> is <see langword="null"/>, 
   the <see cref="P:System.IO.FileNotFoundException.Message"/> property is initialized to the system-supplied
   message provided by the constructor that takes no arguments.</para>
							<para> The <see cref="!:System.IO.FileNotFoundException.InnerException"/> property of the new instance is initialized to 
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, string fileName, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public FileNotFoundException(string message, string fileName, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="fileName" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.FileNotFoundException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="fileName">The name of the file that was not found.</param>
						<param name=" innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/>.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.FileNotFoundException.Message"/> property of the
   new instance using <paramref name="message"/>, the <see cref="P:System.IO.FileNotFoundException.FileName"/> property using
<paramref name="fileName"/>, and the <see cref="!:System.IO.FileNotFoundException.InnerException"/> property using
<paramref name="innerException"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="P:System.IO.FileNotFoundException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For more information on inner
   exceptions, see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FileName">
					<MemberSignature Language="ILASM" Value=".property string FileName { public hidebysig specialname instance string get_FileName() }"/>
					<MemberSignature Language="C#" Value="public string FileName { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the name of the file that cannot be found.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the name of the file, or
<see langword="null"/> if no file
   name was passed to the constructor for the current instance.</para>
						</value>
						<remarks>
							<para> This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Message">
					<MemberSignature Language="ILASM" Value=".property string Message { public hidebysig virtual specialname string get_Message() }"/>
					<MemberSignature Language="C#" Value="public override string Message { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the error message that explains the reason for the exception.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the
   error message. This string includes the <see cref="P:System.IO.FileNotFoundException.FileName"/> if a value for that property was supplied to the
   constructor for the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the current instance.</para>
						</summary>
						<returns>
							<para>A <see langword="String"/>
representation of the current Exception. </para>
						</returns>
						<remarks>
							<para> The string representation returned
      by this method includes the fully qualified name of the current Exception,
      the message, the result of calling <see langword="ToString"/> on the inner
      Exception, the file name, and the result of calling <see cref="P:System.Environment.StackTrace"/>. Null values are omitted from the returned string.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Object.ToString"/>.</block>
							</para>
						</remarks>
						<example>
							<para>The following example causes a <see cref="T:System.IO.FileNotFoundException"/> exception and displays the result
   of calling <see langword="ToString"/> on that Exception.</para>
							<code lang="C#">using System;
using System.IO;
class FileNotFoundExample {
  public static void Main () {
    string badPath = "/Eccma/examples/FileTest.cs";
    string goodPath = "/Ecma/examples2/FileTest.cs";
    try {
        File.Copy(badPath,goodPath);
    }
    catch (FileNotFoundException e) {
        Console.WriteLine("Caught: {0}",e.ToString());
    }
  }
}
</code>
							<para>The output is </para>
							<code>
Caught: System.IO.FileNotFoundException: Could not find file "/Eccma/examples/FileTest.cs".
File name: "/Eccma/examples/FileTest.cs"
   at System.IO.__Error.WinIOError(Int32 errorCode, String str)
   at System.IO.File.InternalCopy(String sourceFileName, String destFileName,
      Boolean overwrite)
   at FileNotFoundExample.Main()
 </code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="FileShare" FullName="System.IO.FileShare" FullNameSP="System_IO_FileShare">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable FileShare extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum FileShare"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Specifies the level of
      access permitted for a file that is already in use.</para>
				</summary>
				<remarks>
					<para>This enumeration is used to specify the way
      in which multiple threads access the same file. The level of access is set by the
      first thread that requests access to the file. For example, if a thread opens a
      file and specifies <see langword="FileShare.Read"/>,
      other
      threads are permitted to open the file for reading but not for writing.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>FlagsAttribute</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="None">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.FileShare None = 0x0"/>
					<MemberSignature Language="C#" Value="None = 0x0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileShare</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>None</MemberValue>
					<Docs>
						<summary>
							<para> Specifies that the file may not be accessed by
      additional threads.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.FileShare Read = 0x1"/>
					<MemberSignature Language="C#" Value="Read = 0x1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileShare</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Read</MemberValue>
					<Docs>
						<summary>
							<para> Specifies that additional threads can
      share read access to the file. This value does not determine whether such
      access is granted, however.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadWrite">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.FileShare ReadWrite = Read | Write"/>
					<MemberSignature Language="C#" Value="ReadWrite = Read | Write;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileShare</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ReadWrite</MemberValue>
					<Docs>
						<summary>
							<para> Specifies that additional threads can
      share read and/or write access to the file. This value does not determine whether
      such access is granted, however.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.FileShare Write = 0x2"/>
					<MemberSignature Language="C#" Value="Write = 0x2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.FileShare</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Write</MemberValue>
					<Docs>
						<summary>
							<para> 
      Specifies that additional threads can share write access to the file. This value does
      not determine whether such access is granted, however.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="FileStream" FullName="System.IO.FileStream" FullNameSP="System_IO_FileStream">
			<TypeSignature Language="ILASM" Value=".class public FileStream extends System.IO.Stream"/>
			<TypeSignature Language="C#" Value="public class FileStream : Stream"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Exposes a <see cref="T:System.IO.Stream"/> around a file,
   supporting both synchronous and asynchronous read and write operations.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.IO.FileStream"/> is used for reading and writing files on
   a file system, as well as other file-related operating system handles
   such as pipes, standard input, standard output. <see cref="T:System.IO.FileStream"/>
   buffers input and output for better performance.</para>
					<para>The <see cref="T:System.IO.FileStream"/>
class can open a file in one of two modes, either synchronously or
asynchronously, with significant performance consequences for the
synchronous methods (<see cref="M:System.IO.FileStream.Read(System.Byte[],System.Int32,System.Int32)"/> and
<see cref="M:System.IO.FileStream.Write(System.Byte[],System.Int32,System.Int32)"/>) and the asynchronous
methods (<see cref="M:System.IO.FileStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/> and
<see cref="M:System.IO.FileStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/> ). Both sets 
of methods will work in either mode; however, the mode will affect the
performance of these methods. <see cref="T:System.IO.FileStream"/> defaults
to opening files synchronously, but provides a constructor to open
files asynchronously.</para>
					<para> When accessing files, a security check is performed when
   the file is created or opened. The security check is typically not done again unless
   the file is closed and reopened. <block subset="none" type="note">Checking
   permissions when the file is first accessed minimizes the impact of the security
   check on application performance (since opening a file happens once, while
   reading and writing can happen multiple times).</block> Note that if an
opened file is passed to an untrusted caller, the security system can, but is
not required to prevent the caller from accessing the file.</para>
					<para>
						<see cref="T:System.IO.FileStream"/> objects support random access to files using the
<see cref="M:System.IO.FileStream.Seek(System.Int64,System.IO.SeekOrigin)"/> method, and the <see cref="P:System.IO.Stream.CanSeek"/> properties 
of <see cref="T:System.IO.FileStream"/> instances encapsulating files are set to <see langword="true"/>. The <see cref="M:System.IO.FileStream.Seek(System.Int64,System.IO.SeekOrigin)"/> method allows the
read/write position to be moved to any position within the file. This is done
with byte offset reference point parameters. The byte offset is relative to the
seek reference point, which can be the beginning, the current position, or the
end of the underlying file, as represented by the three values of the
<see cref="T:System.IO.SeekOrigin"/> enumeration.</para>
					<para>If a <see cref="T:System.IO.FileStream"/> encapsulates a device that does not support
seeking, its <see cref="P:System.IO.FileStream.CanSeek"/> property is <see langword="false"/>. <block subset="none" type="note">For additional information, see <see cref="P:System.IO.Stream.CanSeek"/>.</block>
					</para>
					<para>
						<block subset="none" type="note">The
<see cref="T:System.IO.File"/> class provides 
   methods for the creation of <see cref="T:System.IO.FileStream"/>
   objects
   based on file paths. The <see cref="T:System.IO.MemoryStream"/> class creates a stream from a byte array and
   functions similarly to a <see cref="T:System.IO.FileStream"/>.</block>
					</para>
				</remarks>
				<example>
					<para>The following example demonstrates the use of a <see cref="T:System.IO.FileStream"/>
object.</para>
					<code lang="C#">using System;
using System.IO;

class Directory {
   public static void Main(String[] args) { 
      FileStream fs = new FileStream("log.txt", FileMode.OpenOrCreate, FileAccess.Write);
      StreamWriter w = new StreamWriter(fs);         
      w.BaseStream.Seek(0, SeekOrigin.End);   // Set the file pointer to the end.

      Log ("Test1", w);
      Log ("Test2", w);
 
      w.Close(); // Close the writer and underlying file.     

      fs = new FileStream("log.txt", FileMode.OpenOrCreate, FileAccess.Read);

      StreamReader r = new StreamReader(fs);        
      r.BaseStream.Seek(0, SeekOrigin.Begin);   
      DumpLog (r);
   }

   public static void Log (String logMessage, StreamWriter w) {
      w.Write("Log Entry : ");
      w.WriteLine("{0} {1}", DateTime.Now.ToLongTimeString(), DateTime.Now.ToLongDateString());
      w.WriteLine(":");
      w.WriteLine(":{0}", logMessage);
      w.WriteLine ("-------------------------------");
      w.Flush();  
   }

   public static void DumpLog (StreamReader r) {
      while (r.Peek() &gt; -1) { // While not at the end of the file, write to standard output.     
        Console.WriteLine(r.ReadLine());
      }

      r.Close();
   }
}
</code>
					<para>Some example output is </para>
					<c>
						<para>Log Entry : 9:26:21 AM Friday, July 06, 2001</para>
						<para>:</para>
						<para>:Test1</para>
						<para>-------------------------------</para>
						<para>Log Entry : 9:26:21 AM Friday, July 06, 2001</para>
						<para>:</para>
						<para>:Test2</para>
						<para>-------------------------------</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.IO.Stream</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IDisposable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, valuetype System.IO.FileMode mode, valuetype System.IO.FileAccess access, valuetype System.IO.FileShare share, int32 bufferSize, bool useAsync)"/>
					<MemberSignature Language="C#" Value="public FileStream(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize, bool useAsync);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="mode" Type="System.IO.FileMode"/>
						<Parameter Name="access" Type="System.IO.FileAccess"/>
						<Parameter Name="share" Type="System.IO.FileShare"/>
						<Parameter Name="bufferSize" Type="System.Int32"/>
						<Parameter Name="useAsync" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.FileStream"/>
class.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the relative or absolute path for the file that the new <see cref="T:System.IO.FileStream"/> object will encapsulate.</param>
						<param name="mode">A <see cref="T:System.IO.FileMode"/> value that determines how to open or create the file.</param>
						<param name="access">A <see cref="T:System.IO.FileAccess"/> value that determines how the file may be accessed by the <see cref="T:System.IO.FileStream"/> object. This parameter is used to specify the initial values of the <see cref="P:System.IO.FileStream.CanRead" qualify="true"/> and <see cref="P:System.IO.FileStream.CanWrite" qualify="true"/> properties.</param>
						<param name="share">A <see cref="T:System.IO.FileShare"/> value that determines how the file will be shared by processes.</param>
						<param name="bufferSize">A <see cref="T:System.Int32"/> containing the desired buffer size in bytes.</param>
						<param name="useAsync">A <see cref="T:System.Boolean"/> value that specifies whether to use asynchronous I/O or synchronous I/O. If the underlying operating system does not support asynchronous I/O, the <see cref="T:System.IO.FileStream"/> ignores this parameter and uses synchronous I/O.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="bufferSize"/> is less than or equal to zero.</para>
							<para>-or-</para>
							<para>
								<paramref name="mode"/>, <paramref name="access"/>, or <paramref name="share "/>contain an invalid value.</para>
						</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<para>
								<paramref name="mode"/> is <see cref="F:System.IO.FileMode.Truncate"/> or <see cref="F:System.IO.FileMode.Open"/>, but the specified file cannot be found. If a different mode is specified and the file cannot be found, a new one is created.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred, such as specifying <see cref="F:System.IO.FileMode.CreateNew"/> and the file specified by <paramref name="path"/> already exists.</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified by <paramref name="path"/> does not exist.</exception>
						<exception cref="T:System.UnauthorizedAccessException">The <paramref name="access"/> requested is not permitted by the operating system for the specified <paramref name="path"/>.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path "/>exceeds the system-defined maximum length. </exception>
						<remarks>
							<para> This constructor sets read/write access to the file.</para>
							<para>
								<block subset="none" type="note">
									<paramref name="path"/> is not required to be a file
   stored on disk; it can be any part of a system that supports access via streams.
   For example, depending on the system, this class may be able to access a
   physical device.</block>
							</para>
							<para>
								<see cref="P:System.IO.Stream.CanSeek"/> is <see langword="true"/> for all <see cref="T:System.IO.FileStream"/> objects
that encapsulate files. If <paramref name="path "/>indicates a device that does not support
seeking, the <see cref="P:System.IO.FileStream.CanSeek"/> property on the resulting <see cref="T:System.IO.FileStream"/> is required to be
<see langword="false"/>. For additional information, see <see cref="P:System.IO.Stream.CanSeek"/>
.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read, write, and append to files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>, and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Append" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, valuetype System.IO.FileMode mode, valuetype System.IO.FileAccess access, valuetype System.IO.FileShare share, int32 bufferSize)"/>
					<MemberSignature Language="C#" Value="public FileStream(string path, FileMode mode, FileAccess access, FileShare share, int bufferSize);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="mode" Type="System.IO.FileMode"/>
						<Parameter Name="access" Type="System.IO.FileAccess"/>
						<Parameter Name="share" Type="System.IO.FileShare"/>
						<Parameter Name="bufferSize" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.FileStream"/>
class.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the relative or absolute path for the file that the current <see cref="T:System.IO.FileStream"/> object will encapsulate.</param>
						<param name="mode">A <see cref="T:System.IO.FileMode"/> constant that determines how to open or create the file.</param>
						<param name="access">A <see cref="T:System.IO.FileAccess"/> value that determines how the file may be accessed by the <see cref="T:System.IO.FileStream"/> object. This parameter is used to specify the initial values of the <see cref="P:System.IO.FileStream.CanRead" qualify="true"/> and <see cref="P:System.IO.FileStream.CanWrite" qualify="true"/> properties. For additional information, see <see cref="P:System.IO.Stream.CanRead"/> and <see cref="P:System.IO.Stream.CanWrite"/> .</param>
						<param name="share">A <see cref="T:System.IO.FileShare"/> constant that determines how the file will be shared by processes.</param>
						<param name="bufferSize">A <see cref="T:System.Int32"/> containing the desired buffer size in bytes.</param>
						<exception cref="T:System.ArgumentNullException">The <paramref name="path"/> parameter is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="bufferSize"/> is less than or equal to zero.</para>
							<para>-or-</para>
							<para>
								<paramref name="mode"/>, <paramref name="access"/>, or <paramref name="share "/>contain an invalid value.</para>
						</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<para>
								<paramref name="mode"/> is <see cref="F:System.IO.FileMode.Truncate"/> or <see cref="F:System.IO.FileMode.Open"/> , but the specified file cannot be found. If a different mode is specified and the file cannot be found, a new one is created.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred, such as specifying <see cref="F:System.IO.FileMode.CreateNew"/> and the file specified by <paramref name="path"/> already exists.</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> does not exist.</exception>
						<exception cref="T:System.UnauthorizedAccessException">The <paramref name="access"/> requested is not permitted by the operating system for the specified <paramref name="path"/>.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path "/>exceeds the system-defined maximum length. </exception>
						<remarks>
							<para>
								<block subset="none" type="note">
									<paramref name="path"/> is not required to be a
   file stored on disk; it can be any part of a system that supports access via
   streams. For example, depending on the system, this class may be able to access
   a physical device.</block>
							</para>
							<para>
								<see cref="P:System.IO.Stream.CanSeek"/> is
<see langword="true"/> for all <see cref="T:System.IO.FileStream"/> objects that encapsulate files. If <paramref name="path  "/>indicates a device that does not support seeking, the <see cref="P:System.IO.FileStream.CanSeek"/>
property on the resulting <see cref="T:System.IO.FileStream"/> is required to be <see langword="false"/>. For additional
information, see <see cref="P:System.IO.Stream.CanSeek"/>
.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read, write, and append to files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>, and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Append" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, valuetype System.IO.FileMode mode, valuetype System.IO.FileAccess access, valuetype System.IO.FileShare share)"/>
					<MemberSignature Language="C#" Value="public FileStream(string path, FileMode mode, FileAccess access, FileShare share);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="mode" Type="System.IO.FileMode"/>
						<Parameter Name="access" Type="System.IO.FileAccess"/>
						<Parameter Name="share" Type="System.IO.FileShare"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.FileStream"/> class
   with the specified path, creation mode, access type, and
   sharing permission.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing relative or absolute path for the file that the current <see cref="T:System.IO.FileStream"/> object will encapsulate.</param>
						<param name="mode">A <see cref="T:System.IO.FileMode"/> value that determines how to open or create the file.</param>
						<param name="access">A <see cref="T:System.IO.FileAccess"/> value that determines how the file may be accessed by the <see cref="T:System.IO.FileStream"/> object. This parameter is used to specify the initial values of the <see cref="P:System.IO.FileStream.CanRead" qualify="true"/> and <see cref="P:System.IO.FileStream.CanWrite" qualify="true"/> properties. For additional information, see <see cref="P:System.IO.Stream.CanRead"/> and <see cref="P:System.IO.Stream.CanWrite"/>.</param>
						<param name="share">A <see cref="T:System.IO.FileShare"/> value that determines how the file will be shared by processes.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<para>
								<paramref name="mode"/> is <see cref="F:System.IO.FileMode.Truncate"/> or <see cref="F:System.IO.FileMode.Open"/> , but the specified file cannot be found. If a different mode is specified and the file cannot be found, a new one is created.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred, such as specifying <see cref="F:System.IO.FileMode.CreateNew"/> and the file specified by <paramref name="path"/> already exists.</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified by <paramref name="path"/> does not exist.</exception>
						<exception cref="T:System.UnauthorizedAccessException">The <paramref name="access"/> requested is not permitted by the operating system for the specified <paramref name="path"/>.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path "/>exceeds the system-defined maximum length. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="mode"/>, <paramref name="access"/>, or <paramref name="share "/>contains an invalid value. </para>
						</exception>
						<remarks>
							<para> This constructor sets read/write access to the file.</para>
							<para>
								<block subset="none" type="note">
									<paramref name="path"/> is not required to be a
   file stored on disk; it can be any part of a system that supports access via
   streams. For example, depending on the system, this class may be able to access
   a physical device.</block>
							</para>
							<para>
								<see cref="P:System.IO.Stream.CanSeek"/> is
<see langword="true"/> for all <see cref="T:System.IO.FileStream"/> objects that encapsulate files. If <paramref name="path  "/>indicates a device that does not support seeking, the <see cref="P:System.IO.FileStream.CanSeek"/>
property on the resulting <see cref="T:System.IO.FileStream"/> is required to be <see langword="false"/>. For additional
information, see <see cref="P:System.IO.Stream.CanSeek"/>
.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read, write, and append to files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>, and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Append" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, valuetype System.IO.FileMode mode, valuetype System.IO.FileAccess access)"/>
					<MemberSignature Language="C#" Value="public FileStream(string path, FileMode mode, FileAccess access);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="mode" Type="System.IO.FileMode"/>
						<Parameter Name="access" Type="System.IO.FileAccess"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.FileStream"/>
class with the specified path, creation mode, and access
type.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the relative or absolute path for the file that the current <see cref="T:System.IO.FileStream"/> object will encapsulate.</param>
						<param name="mode">A <see cref="T:System.IO.FileMode"/> value that determines how to open or create the file.</param>
						<param name="access">A <see cref="T:System.IO.FileAccess"/> value that determines how the file may be accessed by the <see cref="T:System.IO.FileStream"/> object. This parameter is used to specify the initial values of the <see cref="P:System.IO.FileStream.CanRead" qualify="true"/> and <see cref="P:System.IO.FileStream.CanWrite" qualify="true"/> properties.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<para>
								<paramref name="mode"/> is <see cref="F:System.IO.FileMode.Truncate"/> or <see cref="F:System.IO.FileMode.Open"/> , but the specified file was not found. If a different mode is specified and the file was not found, a new one is created.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred, such as specifying <see cref="F:System.IO.FileMode.CreateNew"/> when the file specified by <paramref name="path"/> already exists.</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified by <paramref name="path"/> does not exist.</exception>
						<exception cref="T:System.UnauthorizedAccessException">The <paramref name="access"/> requested is not permitted by the operating system for the specified <paramref name="path"/>.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path "/>exceeds the system-defined maximum length. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="mode"/> or <paramref name="access"/> contain an invalid value. </para>
						</exception>
						<remarks>
							<para> This constructor sets read/write access to the file. Requests to open the
      file for writing by the current or another thread will fail until the <see cref="T:System.IO.FileStream"/> object has
      been closed. Read attempts will succeed.</para>
							<para>
								<block subset="none" type="note">
									<paramref name="path"/> is not required to be a
   file stored on disk; it can be any part of a system that supports access via
   streams. For example, depending on the system, this class may be able to access
   a physical device.</block>
							</para>
							<para>
								<see cref="P:System.IO.Stream.CanSeek"/> is
<see langword="true"/> for all <see cref="T:System.IO.FileStream"/> objects that encapsulate files. If <paramref name="path  "/>indicates a device that does not support seeking, the <see cref="P:System.IO.FileStream.CanSeek"/>
property on the resulting <see cref="T:System.IO.FileStream"/> is required to be <see langword="false"/>. For additional
information, see <see cref="P:System.IO.Stream.CanSeek"/>
.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read, write, and append to files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>, and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Append" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, valuetype System.IO.FileMode mode)"/>
					<MemberSignature Language="C#" Value="public FileStream(string path, FileMode mode);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="mode" Type="System.IO.FileMode"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.FileStream"/>
class with the specified path and creation mode.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the relative or absolute path for the file that the current <see cref="T:System.IO.FileStream"/> object will encapsulate.</param>
						<param name="mode">A <see cref="T:System.IO.FileMode"/> value that determines how to open or create the file.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
						<exception cref="T:System.IO.FileNotFoundException">
							<para>
								<paramref name="mode"/> is <see cref="F:System.IO.FileMode.Truncate"/> or <see cref="F:System.IO.FileMode.Open"/>, but the specified file cannot be found. If a different mode is specified and the file cannot be found, a new one is created.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred, such as specifying <see cref="F:System.IO.FileMode.CreateNew"/> when the file specified by <paramref name="path"/> already exists.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> does not exist.</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path "/>exceeds the system-defined maximum length. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="mode"/> contains an invalid value. </para>
						</exception>
						<remarks>
							<para>This constructor sets <see cref="F:System.IO.FileAccess.ReadWrite"/> access to the file, and the <see cref="P:System.IO.Stream.CanRead"/> and
<see cref="P:System.IO.Stream.CanWrite"/> properties of the current instance are set to 
<see langword="true"/> .</para>
							<para>
								<block subset="none" type="note">
									<paramref name="path"/> is not required to be a
file stored on disk; it can be any part of a system that supports access via
streams. For example, depending on the system, this class may be able to access
a physical device.</block>
							</para>
							<para>
								<see cref="P:System.IO.Stream.CanSeek"/> is
<see langword="true"/> for all <see cref="T:System.IO.FileStream"/> objects that encapsulate files. If <paramref name="path  "/>specifies a device that does not support seeking, the <see cref="P:System.IO.FileStream.CanSeek"/>
property of the resulting <see cref="T:System.IO.FileStream"/> is required to be <see langword="false"/>. <block subset="none" type="note">For additional
information, see <see cref="P:System.IO.Stream.CanSeek"/> .
</block>
							</para>
							<para> Requests to open the
   file for writing by the current or another thread will fail until the <see cref="T:System.IO.FileStream"/> object has been closed.
   Read attempts
   will succeed.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to read, write, and append to files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>, and <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Append" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.IAsyncResult BeginRead(class System.Byte[] array, int32 offset, int32 numBytes, class System.AsyncCallback userCallback, object stateObject)"/>
					<MemberSignature Language="C#" Value="public override IAsyncResult BeginRead(byte[] array, int offset, int numBytes, AsyncCallback userCallback, object stateObject);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="numBytes" Type="System.Int32"/>
						<Parameter Name="userCallback" Type="System.AsyncCallback"/>
						<Parameter Name="stateObject" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Begins an asynchronous read.</para>
						</summary>
						<param name="array">A <see cref="T:System.Byte"/> array that specifies the buffer to read data into.</param>
						<param name="offset">A <see cref="T:System.Int32"/> containing the zero based byte offset in <paramref name="array"/> at which to begin writing data read from the stream.</param>
						<param name="numBytes">A <see cref="T:System.Int32"/> containing the maximum number of bytes to read.</param>
						<param name="userCallback">A <see cref="T:System.AsyncCallback"/> delegate that references the method to be called when the asynchronous read operation is completed.</param>
						<param name="stateObject">An application-defined object containing the status of the asynchronous read.</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/> that references the asynchronous read.</para>
						</returns>
						<exception cref="T:System.ArgumentException">The sum of <paramref name="offset and"/>
							<paramref name="numBytes"/> is greater than the length of <paramref name="array"/>.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="offset"/> or <paramref name="numBytes"/> is negative. </exception>
						<exception cref="T:System.IO.IOException">The asynchronous read operation attempted to read past the end of the file.</exception>
						<remarks>
							<para> To determine the number of bytes read, call
   <see cref="M:System.IO.Stream.EndRead(System.IAsyncResult)"/> with the returned
   <see cref="T:System.IAsyncResult"/>.</para>
							<para>Multiple simultaneous asynchronous requests render the
      request completion order uncertain.</para>
							<block subset="none" type="note">
								<para>Use the <see cref="P:System.IO.FileStream.CanRead"/> property to determine whether the current
   instance supports reading. For additional information, see <see cref="P:System.IO.Stream.CanRead"/>.</para>
								<para>This method overrides <see cref="M:System.IO.Stream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" qualify="true"/>. </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.IAsyncResult BeginWrite(class System.Byte[] array, int32 offset, int32 numBytes, class System.AsyncCallback userCallback, object stateObject)"/>
					<MemberSignature Language="C#" Value="public override IAsyncResult BeginWrite(byte[] array, int offset, int numBytes, AsyncCallback userCallback, object stateObject);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="numBytes" Type="System.Int32"/>
						<Parameter Name="userCallback" Type="System.AsyncCallback"/>
						<Parameter Name="stateObject" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Begins an asynchronous write operation.</para>
						</summary>
						<param name="array">A <see cref="T:System.Byte"/> array buffer containing data to write to the current stream.</param>
						<param name="offset">A <see cref="T:System.Int32"/> containing the zero-based byte offset in <paramref name="array"/>, which marks the beginning of the data to written to the current stream.</param>
						<param name="numBytes">A <see cref="T:System.Int32"/> containing the maximum number of bytes to write.</param>
						<param name="userCallback">A <see cref="T:System.AsyncCallback"/> delegate that references the method to be called when the asynchronous write operation is completed.</param>
						<param name="stateObject">An application-defined object containing the status of the asynchronous write.</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/> that references the asynchronous write.</para>
						</returns>
						<exception cref="T:System.ArgumentException">The sum of <paramref name="offset and "/>
							<paramref name="numBytes"/> is greater than the length of <paramref name="array"/>.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="offset"/> or <paramref name="numBytes"/> is negative.</exception>
						<exception cref="T:System.SystemNotSupportedException">The stream does not support writing. </exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>Multiple simultaneous asynchronous requests render the request completion
      order uncertain.</para>
							<block subset="none" type="note">
								<para>Use the <see cref="P:System.IO.FileStream.CanWrite"/> property to determine whether the current
      instance supports writing. For additional information, see <see cref="P:System.IO.Stream.CanWrite"/>.
      </para>
								<para>This method overrides <see cref="M:System.IO.Stream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CanRead">
					<MemberSignature Language="ILASM" Value=".property bool CanRead { public hidebysig virtual specialname bool get_CanRead() }"/>
					<MemberSignature Language="C#" Value="public override bool CanRead { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current stream supports reading.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the stream supports reading;
<see langword="false"/> if the stream is
   closed or was opened with write-only
   access.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>This property overrides <see cref="P:System.IO.Stream.CanRead"/>.</para>
								<para>If a class derived from <see cref="T:System.IO.Stream"/> does not support reading,
   the <see langword="Read"/> method throws a <see cref="T:System.NotSupportedException"/>
   .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CanSeek">
					<MemberSignature Language="ILASM" Value=".property bool CanSeek { public hidebysig virtual specialname bool get_CanSeek() }"/>
					<MemberSignature Language="C#" Value="public override bool CanSeek { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current stream supports seeking.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the stream supports seeking;
<see langword="false"/> if the stream is 
   closed or if the <see cref="T:System.IO.FileStream"/> was constructed from an
   operating-system handle such as a pipe or output to the console.</para>
						</value>
						<remarks>
							<block subset="none" type="note">
								<para>If a class derived from <see cref="T:System.IO.Stream"/>
   does not support seeking, a call to <see cref="P:System.IO.FileStream.Length"/> (both <see langword="get"/> and
<see langword="set"/>
), <see cref="P:System.IO.FileStream.Position"/>, or <see cref="M:System.IO.FileStream.Seek(System.Int64,System.IO.SeekOrigin)"/> throws a
<see cref="T:System.NotSupportedException"/>
.</para>
								<para>This property overrides <see cref="P:System.IO.Stream.CanSeek"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CanWrite">
					<MemberSignature Language="ILASM" Value=".property bool CanWrite { public hidebysig virtual specialname bool get_CanWrite() }"/>
					<MemberSignature Language="C#" Value="public override bool CanWrite { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current stream supports writing.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the stream supports writing;
<see langword="false"/> if the stream is
   closed or was opened with read-only access.</para>
						</value>
						<remarks>
							<para>If a class derived from <see cref="T:System.IO.Stream"/> does not support writing, a call to <see cref="M:System.IO.FileStream.Write(System.Byte[],System.Int32,System.Int32)"/> or 
<see cref="M:System.IO.FileStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/> will throw a
<see cref="T:System.NotSupportedException"/>
.</para>
							<para>
								<block subset="none" type="note">This property 
   overrides <see cref="P:System.IO.Stream.CanWrite"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Close">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Close()"/>
					<MemberSignature Language="C#" Value="public override void Close();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Closes the file and releases any resources associated with
      the current file stream.</para>
						</summary>
						<remarks>
							<para>This method is
      equivalent to <see cref="M:System.IO.FileStream.Dispose(System.Boolean)"/>(<see langword="true"/>).</para>
							<para>Any data previously written to the buffer is copied to the file
      before the file stream is closed, so it is not necessary to call <see cref="M:System.IO.FileStream.Flush"/> before
      invoking <see langword="Close"/>. Following a call to <see langword="Close"/>, any operations on the file stream
      might raise exceptions. Invoking this method on the
      same instance multiple times does not result in an exception.</para>
							<para>
								<block subset="none" type="usage">The <see cref="M:System.IO.FileStream.Finalize"/>
method invokes <see langword="Close "/>so that the file stream is closed
before the garbage collector finalizes the object. However, objects writing to
the <see cref="T:System.IO.FileStream"/>, such as a <see cref="T:System.IO.StreamWriter"/>, might not have flushed
the data from their internal buffers to the <see cref="T:System.IO.FileStream"/> when the call to <see langword="Finalize"/> closes
the stream. To prevent data loss, always call <see langword="Close"/> on the highest-level object.</block>
							</para>
							<para>
								<block subset="none" type="note">
   
   This method overrides <see cref="M:System.IO.Stream.Close" qualify="true"/>.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Dispose">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Dispose(bool disposing)"/>
					<MemberSignature Language="C#" Value="protected virtual void Dispose(bool disposing);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="disposing" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Releases the unmanaged resources used by the <see cref="T:System.IO.FileStream"/> and
   optionally releases the managed resources.</para>
						</summary>
						<param name="disposing">Specify <see langword="true"/> to release both managed and unmanaged resources, or specify <see langword="false"/> to release only unmanaged resources.</param>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>When the <paramref name="disposing"/> parameter is <see langword="true"/>, this method
   releases all resources held by any managed objects that this <see cref="T:System.IO.FileStream"/> references.</para>
							<block subset="none" type="note">
								<para>
									<see cref="M:System.IO.FileStream.Dispose(System.Boolean)"/>
may be called multiple times by other objects. When overriding
<see cref="M:System.IO.FileStream.Dispose(System.Boolean)"/>(<see cref="T:System.Boolean"/>), be careful not to reference objects 
that have been previously disposed in an earlier call to <see cref="M:System.IO.FileStream.Dispose(System.Boolean)"/> .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 EndRead(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public override int EndRead(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Ends a pending asynchronous read request, and blocks until
      the read request has completed.</para>
						</summary>
						<param name="asyncResult">The <see cref="T:System.IAsyncResult"/> object for the pending asynchronous request.</param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the number of
   bytes read from the stream. Returns 0 only if the end of the file has
   been reached, otherwise, this method blocks until at least one byte is available.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="asyncResult"/> was not returned by a call to <see cref="M:System.IO.FileStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/>.</exception>
						<exception cref="T:System.InvalidOperationException">
							<see cref="M:System.IO.FileStream.EndRead(System.IAsyncResult)"/> was called multiple times with <paramref name="asyncResult"/> .</exception>
						<remarks>
							<para>
								<see langword="EndRead"/> will
   block until the I/O operation has completed.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.Stream.EndRead(System.IAsyncResult)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void EndWrite(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public override void EndWrite(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Ends an asynchronous write, blocking until the I/O operation
      has completed.</para>
						</summary>
						<param name="asyncResult">The <see cref="T:System.IAsyncResult"/> object for the pending asynchronous request.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="asyncResult"/> was not returned by a call to <see cref="M:System.IO.FileStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/>.</exception>
						<exception cref="T:System.InvalidOperationException">
							<see cref="M:System.IO.FileStream.EndWrite(System.IAsyncResult)"/> was called multiple times with <paramref name="asyncResult"/> .</exception>
						<remarks>
							<para>
								<see cref="M:System.IO.FileStream.EndWrite(System.IAsyncResult)"/> will block
   until the I/O operation has completed.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.Stream.EndWrite(System.IAsyncResult)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Finalize">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Finalize()"/>
					<MemberSignature Language="C#" Value="~FileStream();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Releases the resources held by the current instance.</para>
						</summary>
						<remarks>
							<para>
								<see cref="M:System.IO.FileStream.Finalize"/> 
closes the <see cref="T:System.IO.FileStream"/>.</para>
							<block subset="none" type="note">
								<para>Application code does not call this method; it is automatically invoked by 
      during garbage collection unless finalization by the garbage collector has been
      disabled. For more information, see <see cref="M:System.GC.SuppressFinalize(System.Object)" qualify="true"/>, and <see cref="M:System.Object.Finalize" qualify="true"/>.</para>
								<para>This method overrides <see cref="M:System.Object.Finalize" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Flush">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Flush()"/>
					<MemberSignature Language="C#" Value="public override void Flush();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Updates the underlying file with the current state of the buffer and
      subsequently clears the buffer.</para>
						</summary>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has already been closed.</exception>
						<remarks>
							<para>A <see cref="T:System.IO.FileStream"/> buffer can be 
   used either for reading or writing. If data was copied to the buffer for
   writing, it is written to the file and the buffer is
   cleared. </para>
							<para>If data was copied to the buffer for reading, and the
<see cref="P:System.IO.Stream.CanSeek"/> property is <see langword="true"/>, the current 
   position within the file is decremented by the number of unread bytes in the
   buffer. The buffer is then cleared. </para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.Stream.Flush" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsAsync">
					<MemberSignature Language="ILASM" Value=".property bool IsAsync { public hidebysig virtual specialname bool get_IsAsync() }"/>
					<MemberSignature Language="C#" Value="public virtual bool IsAsync { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current
   instance was opened asynchronously or
   synchronously.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the
   current
<see cref="T:System.IO.FileStream"/> was opened
   asynchronously; otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="behaviors">This property is
      read-only.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Length">
					<MemberSignature Language="ILASM" Value=".property int64 Length { public hidebysig virtual specialname int64 get_Length() }"/>
					<MemberSignature Language="C#" Value="public override long Length { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the length in bytes of the stream.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int64"/> value containing the length of the stream in bytes.</para>
						</value>
						<exception cref="T:System.NotSupportedException">
							<see cref="P:System.IO.FileStream.CanSeek"/> for this stream is <see langword="false"/>.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred, such as the file being closed.</exception>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Position">
					<MemberSignature Language="ILASM" Value=".property int64 Position { public hidebysig virtual specialname int64 get_Position() public hidebysig virtual specialname void set_Position(int64 value) }"/>
					<MemberSignature Language="C#" Value="public override long Position { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the current
      position of this stream.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Int64"/> containing the current position of this stream.</para>
						</value>
						<exception cref="T:System.NotSupportedException">The current stream does not support seeking.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.IO.EndOfStreamException">Attempted seeking past the end of a stream that does not support this.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is negative.</exception>
						<remarks>
							<para>The position cannot be set to more than
      one byte beyond the end of the stream.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Read(class System.Byte[] array, int32 offset, int32 count)"/>
					<MemberSignature Language="C#" Value="public override int Read(byte[] array, int offset, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Reads a block of bytes from the stream and returns the data in
      the specified buffer.</para>
						</summary>
						<param name="array">A <see cref="T:System.Byte"/> array. When this method returns, the bytes between <paramref name="offset "/>and <paramref name="(offset + count - 1)"/> in <paramref name="array"/> are replaced by the bytes read from the current stream.</param>
						<param name="offset">A <see cref="T:System.Int32"/> containing the byte offset in <paramref name="array"/> at which to begin writing data read from the current stream.</param>
						<param name="count">A <see cref="T:System.Int32"/> containing maximum number of bytes to read.</param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the total number of bytes
   read into the buffer, or zero if the end of the stream is reached.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="offset"/> or <paramref name="count "/> is negative.</exception>
						<exception cref="T:System.NotSupportedException">The current stream does not support reading.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="offset "/> + <paramref name="count"/> is greater than the length of <paramref name="array"/>.</exception>
						<exception cref="T:System.ObjectDisposedException">The current stream is closed.</exception>
						<remarks>
							<para>The <see cref="M:System.IO.FileStream.Read(System.Byte[],System.Int32,System.Int32)"/> method returns zero only after reaching
   the end of the stream. Otherwise, <see cref="M:System.IO.FileStream.Read(System.Byte[],System.Int32,System.Int32)"/> always reads at least one byte from the
   stream before returning. If no data is available from the stream, this method
   blocks until at least one byte of data can be returned.</para>
							<para>If the read operation is successful, the current position
   of the stream is advanced by the number of bytes read. If
   an exception occurs, the current position of the stream is unchanged.</para>
							<para>
								<block subset="none" type="note">Use the <see cref="P:System.IO.FileStream.CanRead"/> property to determine
whether the current instance supports reading. For additional information, see
<see cref="P:System.IO.Stream.CanRead"/>.</block>
							</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)" qualify="true"/>
.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 ReadByte()"/>
					<MemberSignature Language="C#" Value="public override int ReadByte();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Reads a byte from the file
      and advances the read position one byte.</para>
						</summary>
						<returns>
							<para>The byte cast to a <see cref="T:System.Int32"/>, or -1 if the end of
   the stream has been reached.</para>
						</returns>
						<exception cref="T:System.ObjectDisposedException">The current stream is closed.</exception>
						<exception cref="T:System.NotSupportedException">The current stream does not support reading.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>Use the <see cref="P:System.IO.FileStream.CanRead"/> property to determine whether the current 
      instance supports reading. For additional information, see <see cref="P:System.IO.Stream.CanRead"/>.</para>
								<para>This method overrides <see cref="M:System.IO.Stream.ReadByte" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Seek">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int64 Seek(int64 offset, valuetype System.IO.SeekOrigin origin)"/>
					<MemberSignature Language="C#" Value="public override long Seek(long offset, SeekOrigin origin);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="offset" Type="System.Int64"/>
						<Parameter Name="origin" Type="System.IO.SeekOrigin"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the current position of the current stream to the specified value.</para>
						</summary>
						<param name="offset">A <see cref="T:System.Int64"/> containing the position relative to <paramref name="origin"/> from which to begin seeking.</param>
						<param name="origin">A <see cref="T:System.IO.SeekOrigin"/> value specifying the beginning, the end, or the current position as a reference point for <paramref name="offset."/>
						</param>
						<returns>
							<para>A <see cref="T:System.Int64"/> containing the new position in the stream.</para>
						</returns>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.NotSupportedException">The stream does not support seeking.</exception>
						<exception cref="T:System.ArgumentException">Attempted seeking before the beginning of the stream or to more than one byte past the end of the stream.</exception>
						<exception cref="T:System.ObjectDisposedException">The current stream is closed.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">Use the <see cref="P:System.IO.FileStream.CanSeek"/>
property to determine whether the current instance supports seeking. For
additional information, see <see cref="P:System.IO.Stream.CanSeek"/>
.</block>
							</para>
							<para>
								<block subset="none" type="usage">The position cannot be set to more than
   one byte beyond the end of the stream.</block>
							</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.Stream.Seek(System.Int64,System.IO.SeekOrigin)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetLength">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void SetLength(int64 value)"/>
					<MemberSignature Language="C#" Value="public override void SetLength(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the length of
      the current stream to the specified value.</para>
						</summary>
						<param name="value">A <see cref="T:System.Int64"/> that specifies the new length of the stream.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<exception cref="T:System.NotSupportedException">The current stream does not support writing and seeking.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="value"/> is less than zero.</exception>
						<remarks>
							<para>If <paramref name="value"/> is less than the current length of the 
   stream, the stream is truncated. If <paramref name="value"/>
   is greater than the current length of
   the stream, the stream is expanded, and the contents of the stream between
   the old and the new length are undefined. A stream is required to support
   both writing and seeking to implement <see cref="M:System.IO.FileStream.SetLength(System.Int64)"/>.</para>
							<block subset="none" type="note">
								<para>Use the <see cref="P:System.IO.FileStream.CanWrite"/> property to determine whether the current
   instance supports writing, and the <see cref="P:System.IO.FileStream.CanSeek"/> property to determine whether
   seeking is supported. For additional information, see <see cref="P:System.IO.Stream.CanWrite"/> and <see cref="P:System.IO.Stream.CanSeek"/> .</para>
								<para>This method overrides <see cref="M:System.IO.Stream.SetLength(System.Int64)" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(class System.Byte[] array, int32 offset, int32 count)"/>
					<MemberSignature Language="C#" Value="public override void Write(byte[] array, int offset, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a block of bytes from a specified byte array to
      the current stream.</para>
						</summary>
						<param name="array">The <see cref="T:System.Byte"/> array to read.</param>
						<param name="offset">A <see cref="T:System.Int32"/> that specifies the byte offset in <paramref name="array"/> at which to begin reading.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the maximum number of bytes to write to the current stream.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="offset "/>+ <paramref name="count"/> is greater than the length of <paramref name="array"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="offset"/> or <paramref name="count"/> is negative.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.NotSupportedException">The current stream does not support writing.</exception>
						<remarks>
							<para>If the write operation is successful, the current position of the stream is
      advanced by the number of bytes written. If an exception occurs, the current
      position of the stream is unchanged.</para>
							<block subset="none" type="note">
								<para>Use the <see cref="P:System.IO.FileStream.CanWrite"/> property to determine whether the current
      instance supports writing. For additional information, see <see cref="P:System.IO.Stream.CanWrite"/>.</para>
								<para>This method overrides <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteByte(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public override void WriteByte(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a byte to the current position in the file stream.</para>
						</summary>
						<param name="value">A <see cref="T:System.Byte"/> to write to the stream.</param>
						<exception cref="T:System.IO.IOException">The current stream is closed.</exception>
						<exception cref="T:System.NotSupportedException">The current stream does not support writing.</exception>
						<remarks>
							<para>
								<block subset="none" type="usage">Use <see cref="M:System.IO.FileStream.WriteByte(System.Byte)"/>
method to write a byte to a <see cref="T:System.IO.FileStream"/>
efficiently.</block>
							</para>
							<block subset="none" type="note">
								<para>Use the <see cref="P:System.IO.FileStream.CanWrite"/> property to determine whether the current
   instance supports writing. For additional information, see <see cref="P:System.IO.Stream.CanWrite"/>.</para>
								<para>This method overrides <see cref="M:System.IO.Stream.WriteByte(System.Byte)" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="FlagsAttribute" FullName="System.FlagsAttribute" FullNameSP="System_FlagsAttribute">
			<TypeSignature Language="ILASM" Value=".class public serializable FlagsAttribute extends System.Attribute"/>
			<TypeSignature Language="C#" Value="public class FlagsAttribute : Attribute"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Indicates that the <see cref="T:System.Enum"/> targeted by the current attribute is declared as a bit-field.</para>
				</summary>
				<remarks>
					<para> The <see cref="T:System.FlagsAttribute"/> class provides the consumer of a <see cref="T:System.Enum"/> the information that the
   enumeration is to be used as a bit-field. Additionally, when formatting a <see cref="T:System.Enum"/>, using the <see cref="T:System.FlagsAttribute"/> causes a value that is a bitwise OR combination of
   multiple fields to print correctly.</para>
					<block subset="none" type="note">
						<para> Bit-fields are generally used for lists of
      elements that might occur in combination; whereas enumeration constants are
      generally used for lists of mutually exclusive elements. Therefore, bit-fields
      are designed to be combined with the bitwise OR operator to generate unnamed
      values, whereas enumerated constants are not. Languages
      vary in their usage of bit-fields compared to enumeration constants.</para>
						<para>This attribute can only be applied to enumerations.</para>
					</block>
				</remarks>
				<example>
					<para> The following example demonstrates the use of
      <see cref="T:System.FlagsAttribute"/> on the formatting of a
      <see cref="T:System.Enum"/>. With this attribute, the <paramref name="Position"/> enumeration is used as a bit-field, and the value 3 (Top
      | Left) is considered a valid value for the enumeration when formatting. Without this
      attribute, the enumeration <paramref name="Color"/> is not used as a
      bit-field, and the value 3 (Red | Blue) is not considered a valid value for the
      enumeration when formatting.</para>
					<code lang="C#">
using System;
[FlagsAttribute()] 
public enum Position { 

  Top = 0x1, 
  Left = 0x2, 
  Bottom = 0x4, 
  Right = 0x8 
} 

//enum Color declared without FlagsAttribute 
public enum Color { 

  Red = 0x1, 
  Blue = 0x2, 
  Yellow = 0x4 
} 

public class enumFormat { 

  public static void Main() { 

    Position p = Position.Top | Position.Left; 
    Console.WriteLine("Position: {0}", p); 
    Color c = Color.Red | Color.Blue; 
    Console.WriteLine("Color: {0}", c); 
  } 
} 
      </code>
					<para>The output is</para>
					<c>
						<para>Position: Top, Left</para>
						<para>Color: 3</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Attribute</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>AttributeUsageAttribute(AttributeTargets.Enum, AllowMultiple=false, Inherited=false)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public FlagsAttribute();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs a new instance of the <see cref="T:System.FlagsAttribute"/> class.
 </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="FormatException" FullName="System.FormatException" FullNameSP="System_FormatException">
			<TypeSignature Language="ILASM" Value=".class public serializable FormatException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class FormatException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents errors caused by
      passing incorrectly formatted arguments or invalid format specifiers to methods.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">
							<see cref="T:System.FormatException"/> is thrown from <see langword="Parse"/>
methods when a <see cref="T:System.String"/> being parsed contains characters that are not valid
according to the specified style (passed via the <paramref name="style"/>
parameter) or default
style. <see cref="T:System.FormatException"/> is thrown from <see langword="ToString"/> methods when a format specifier
(passed via the <paramref name="format"/>
parameter) is not a valid format for the
type of the current instance.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public FormatException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.FormatException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.FormatException.Message"/>
property of the new instance to a system-supplied message that describes the
error, such as "Invalid format." This message takes into account the current
system culture. The <see cref="!:System.FormatException.InnerException"/> property is initialized to
<see langword="null"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public FormatException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.FormatException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.FormatException.Message"/> property of the new instance using
<paramref name="message"/> . If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.FormatException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para> 
   The <see cref="!:System.FormatException.InnerException"/> property is initialized to
<see langword="null"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public FormatException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.FormatException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.FormatException.Message"/> property of the new instance using
<paramref name="message"/>
, and the <see cref="!:System.FormatException.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.FormatException.Message"/> property is initialized to the 
system-supplied message provided by the constructor that takes no arguments. </para>
							<para>
								<block subset="none" type="note">For information on
   inner exceptions, see <see cref="P:System.Exception.InnerException"/>
   .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="GC" FullName="System.GC" FullNameSP="System_GC">
			<TypeSignature Language="ILASM" Value=".class public sealed GC extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class GC"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Provides a mechanism for programmatic control of
      the garbage collector.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>The <paramref name="garbage"/>
							<paramref name="collector"/> is responsible for tracking and reclaiming
   objects allocated in managed memory. Periodically, the garbage collector
   performs a garbage collection to reclaim memory allocated to objects for which
   there are no valid references. Garbage collections happen automatically when a
   request for memory cannot be satisfied using available free memory. </para>
						<para>A garbage collection consists of the following
   steps:
   </para>
						<list type="number">
							<item>
								<term>
      The garbage collector searches for managed objects
      that are referenced in managed code.</term>
							</item>
							<item>
								<term>
      The garbage collector attempts to finalize
      unreferenced objects.</term>
							</item>
							<item>
								<term>
      The garbage collector frees unreferenced objects and reclaims their
      memory.</term>
							</item>
						</list>
						<para>During a collection, the garbage collector will not free an object if it
   finds one or more references to the object in managed code. However, the garbage
   collector does not recognize references to an object from unmanaged code, and
   may free objects that are being used exclusively in unmanaged code unless
   explicitly prevented from doing so. The <see cref="M:System.GC.KeepAlive(System.Object)"/> method provides a mechanism that
   prevents the garbage collector from collecting objects that are still in use in
   unmanaged code.</para>
						<para>Implementations of the garbage collector should track the following
      information:</para>
						<list type="bullet">
							<item>
								<term>
         Memory allocated to objects that are still in use</term>
							</item>
							<item>
								<term>
         Memory allocated to objects that are no longer in use</term>
							</item>
							<item>
								<term>
         Objects that require finalization prior to being
         freed</term>
							</item>
						</list>
						<para>Other than managed memory allocations, implementations
   of the garbage collector should not maintain information about resources held by
   an object, such as file handles or database connections. When a type uses
   unmanaged resources that must be released before instances of the type are
   reclaimed, the type should implement a <paramref name="finalizer"/>
   
   . In most cases, finalizers are implemented by
   overriding the <see cref="M:System.Object.Finalize"/> method; however, types written in C# or C++ implement
   destructors, which compilers turn into an override of
<see cref="M:System.Object.Finalize"/>. </para>
						<para>In most cases, if an object has a finalizer, the garbage collector calls it
   prior to freeing the object. However, the garbage collector is not required to
   call finalizers in all situations. Also, the garbage collector is not required
   to use a specific thread to finalize objects, or guarantee the order in which
   finalizers are called for objects that reference each other but are otherwise
   available for garbage collection. </para>
						<para>In scenarios where resources must be released at a specific time, classes
   should implement the <see cref="T:System.IDisposable"/> interface, which contains a single method (<see cref="M:System.IDisposable.Dispose"/>)
   that is used to perform resource management and cleanup tasks. Classes that
   implement <see cref="M:System.IDisposable.Dispose"/> must specify, as part of their class contract, if and when class
   consumers call the method to clean up the object. The garbage collector does
   not, by default, call the <see cref="M:System.IDisposable.Dispose"/> method; however, implementations of the
<see cref="M:System.IDisposable.Dispose"/> method can call methods in the <see cref="T:System.GC"/> class to customize the finalization
   behavior of the garbage collector.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="KeepAlive">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void KeepAlive(object obj)"/>
					<MemberSignature Language="C#" Value="public static void KeepAlive(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Creates a reference to the specified
      object.</para>
						</summary>
						<param name=" obj">A <see cref="T:System.Object"/> that is not to be reclaimed by the garbage collector.</param>
						<remarks>
							<para>The purpose of the <see cref="M:System.GC.KeepAlive(System.Object)"/>
method is to ensure the existence of
a reference to an object that is at risk of being reclaimed by the
garbage collector prematurely.</para>
							<para>The <see cref="M:System.GC.KeepAlive(System.Object)"/>
method performs no operations and does not produce
any side effects.</para>
							<para>This method is required to be implemented in
   such a way as to prevent optimizing tools from omitting the method call from
   the executable code.</para>
							<para>During program execution, after the call to the <see cref="M:System.GC.KeepAlive(System.Object)"/> method is
executed, if there are no additional references to <paramref name="obj"/> in managed code
or data, <paramref name="obj"/>
is eligible
for garbage collection.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReRegisterForFinalize">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void ReRegisterForFinalize(object obj)"/>
					<MemberSignature Language="C#" Value="public static void ReRegisterForFinalize(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Requests that the specified object be added to the list
      of objects that require finalization.</para>
						</summary>
						<param name=" obj">The <see cref="T:System.Object"/> to add to the set of objects that require finalization.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="obj"/> is a <see langword="null"/> reference.</exception>
						<exception cref="T:System.ExecutionEngineException">The caller of this method is not the same as the object passed to this method.</exception>
						<remarks>
							<para>The <see cref="M:System.GC.ReRegisterForFinalize(System.Object)"/> method adds <paramref name="obj"/> to the list of
   objects that request finalization before the garbage collector frees the object.
<paramref name="obj"/> is required to be the caller of this
   method.</para>
							<para>Calling the <see cref="M:System.GC.ReRegisterForFinalize(System.Object)"/> method 
does not guarantee that the garbage collector will call an object's finalizer.
<block subset="none" type="note"> For more information, see
<see cref="M:System.Object.Finalize"/> 
.</block>
							</para>
							<para>
								<block subset="none" type="note">By default, all
   objects that implement finalizers are added to the list of objects that require
   finalization; however, an object may have already been finalized, or may have
   disabled finalization by calling the <see cref="M:System.GC.SuppressFinalize(System.Object)"/>
   method.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SuppressFinalize">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void SuppressFinalize(object obj)"/>
					<MemberSignature Language="C#" Value="public static void SuppressFinalize(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Instructs the garbage collector not to call the <see cref="M:System.Object.Finalize"/> method on the specified
   object.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> whose <see cref="M:System.Object.Finalize"/> method will not be called.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="obj"/> is a <see langword="null"/> reference.</exception>
						<exception cref="T:System.InvalidOperationException">The caller of this method is not the same as the object passed to this method.</exception>
						<remarks>
							<para>The method removes <paramref name="obj"/> from the set of objects
   that require finalization. <paramref name="obj"/> is required to be the caller of this
   method.</para>
							<para>
								<block subset="none" type="note">Objects that
   implement the <see cref="T:System.IDisposable"/> interface should call this method from the <see cref="M:System.IDisposable.Dispose"/>
   method to prevent the garbage collector from calling <see cref="M:System.Object.Finalize"/> on an
   object that does not require it.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WaitForPendingFinalizers">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void WaitForPendingFinalizers()"/>
					<MemberSignature Language="C#" Value="public static void WaitForPendingFinalizers();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Suspends the current thread until the set of objects
 waiting for finalization is empty.</para>
						</summary>
						<remarks>
							<para>
								<see cref="M:System.GC.WaitForPendingFinalizers"/> 

blocks an application until all objects that are awaiting
finalization have been finalized.</para>
							<para>When the garbage collector finds objects that can be 
 reclaimed, it checks each object to determine the object's finalization
 requirements. If an object implements a finalizer and has not disabled
 finalization by calling <see cref="M:System.GC.SuppressFinalize(System.Object)"/>, the object is passed to the thread
 that handles finalization. The <see cref="M:System.GC.WaitForPendingFinalizers"/>
 
 method blocks until all finalizers
 have run to completion.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Hashtable" FullName="System.Collections.Hashtable" FullNameSP="System_Collections_Hashtable">
			<TypeSignature Language="ILASM" Value=".class public serializable Hashtable extends System.Object implements System.ICloneable, System.Collections.ICollection, System.Collections.IDictionary, System.Collections.IEnumerable"/>
			<TypeSignature Language="C#" Value="public class Hashtable : ICloneable, ICollection, IDictionary, IEnumerable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This class is safe for multiple readers and a single writer.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents a hash table.</para>
				</summary>
				<remarks>
					<para> A <see cref="T:System.Collections.Hashtable"/> represents a
   dictionary with a constant lookup time that contains entries of associated keys
   and values. The type of each entry in a <see cref="T:System.Collections.Hashtable"/> is <see cref="T:System.Collections.DictionaryEntry"/>. A statement that exposes each element in the
   collection is required to iterate over this type. <block subset="none" type="note">See
   example.</block>
					</para>
					<para>Objects used as keys in a <see cref="T:System.Collections.Hashtable"/> is required
to either implement both <see cref="M:System.Object.GetHashCode"/> and <see cref="M:System.Object.Equals(System.Object)"/> or neither. Furthermore, for a particular key, these methods are required to produce the same results when called with
the same parameters while that key exists in a particular <see cref="T:System.Collections.Hashtable"/> . Keys cannot be mutated while they are
used in the table.</para>
					<para> Every key in a <see cref="T:System.Collections.Hashtable"/> is required to be unique compared to every other key
in the table. An object that implements <see cref="T:System.Collections.IComparer"/> can determine whether two keys are unequal.
The default comparer for a key is the key's implementation of
<see cref="M:System.Object.Equals(System.Object)" qualify="true"/>.</para>
					<para>Each value in a <see cref="T:System.Collections.Hashtable"/> is required to provide its own hash function, which
can be accessed by calling <see cref="M:System.Collections.Hashtable.GetHash(System.Object)"/>. Alternatively, if an object that implements
<see cref="T:System.Collections.IHashCodeProvider"/> is 
passed to a <see cref="T:System.Collections.Hashtable"/> constructor, the custom hash
function provided by that object is used for every value in the table.</para>
					<block subset="none" type="note">
						<para> The default capacity (i.e. the default number of entries that can be contained) of a <see cref="T:System.Collections.Hashtable"/> is
   zero.</para>
						<para> When an entry is added to the <see cref="T:System.Collections.Hashtable"/>, the entry is placed
into a bucket based on the hash code obtained from the <see cref="T:System.Collections.IHashCodeProvider"/> implementation of the table, or
the <see cref="M:System.Object.GetHashCode"/> if no
specific <see cref="T:System.Collections.IHashCodeProvider"/>
was provided. Subsequent lookups of
the key use the hash code of the key to search in only one particular bucket,
substantially reducing the number of key comparisons required to find an entry.</para>
						<para>As entries are added to a <see cref="T:System.Collections.Hashtable"/>, and the maximum capacity of the table is
reached, the number of buckets in the table is automatically increased to the
smallest prime number that is larger than twice the current number of
buckets.</para>
						<para>A <see cref="T:System.Collections.Hashtable"/> can
safely support
one writer and multiple readers concurrently. To support multiple writers,
all operations
are required to be done through the wrapper returned by the <see cref="M:System.Collections.Hashtable.Synchronized(System.Collections.Hashtable)"/> method.</para>
					</block>
				</remarks>
				<example>
					<para> The following example shows
      how to iterate over the elements of a <see cref="T:System.Collections.Hashtable"/>.</para>
					<c>
						<para>[C#]</para>
						<para>foreach (DictionaryEntry myEntry in
         myHashtable)</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Collections.IDictionary</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.Collections.ICollection</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.Collections.IEnumerable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.ICloneable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Attributes>
				<Attribute>
					<AttributeName>DefaultMemberAttribute("Item")</AttributeName>
					<Excluded>1</Excluded>
					<ExcludedTypeName>System.Reflection.DefaultMemberAttribute</ExcludedTypeName>
					<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Collections.IDictionary d, class System.Collections.IHashCodeProvider hcp, class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public Hashtable(IDictionary d, IHashCodeProvider hcp, IComparer comparer);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="d" Type="System.Collections.IDictionary"/>
						<Parameter Name="hcp" Type="System.Collections.IHashCodeProvider"/>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Collections.Hashtable"/> class
   using the values of the specified <see cref="T:System.Collections.IDictionary"/>, the specified <see cref="T:System.Collections.IHashCodeProvider"/>, and the specified <see cref="T:System.Collections.IComparer"/>.</para>
						</summary>
						<param name="d">The <see cref="T:System.Collections.IDictionary"/> used to initialize the elements of the new instance.</param>
						<param name="hcp">
							<para>The <see cref="T:System.Collections.IHashCodeProvider"/> that supplies the hash codes for all keys in the new instance; or, <see langword="null"/> to use the default hash code provider.</para>
						</param>
						<param name="comparer">
							<para>The <see cref="T:System.Collections.IComparer"/> to use to determine whether two keys are equal in the new instance, or <see langword="null"/> to use the default comparer.</para>
						</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="d"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>The initial capacity of the new
      instance is set to the number of entries in <paramref name="d"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Collections.IDictionary d)"/>
					<MemberSignature Language="C#" Value="public Hashtable(IDictionary d);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="d" Type="System.Collections.IDictionary"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Collections.Hashtable"/> class using
   the values of the specified <see cref="T:System.Collections.IDictionary"/>.</para>
						</summary>
						<param name="d">The <see cref="T:System.Collections.IDictionary"/> used to initialize the elements of the new instance.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="d"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>The initial capacity of the new instance is set to the
      number of entries in <paramref name="d"/>. The new instance is initialized with the default
   <see cref="T:System.Collections.IHashCodeProvider"/> and <see cref="T:System.Collections.IComparer"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 capacity, class System.Collections.IHashCodeProvider hcp, class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public Hashtable(int capacity, IHashCodeProvider hcp, IComparer comparer);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="capacity" Type="System.Int32"/>
						<Parameter Name="hcp" Type="System.Collections.IHashCodeProvider"/>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Collections.Hashtable"/> class with the specified initial capacity, the specified
<see cref="T:System.Collections.IHashCodeProvider"/>, and the specified <see cref="T:System.Collections.IComparer"/>.</para>
						</summary>
						<param name="capacity">A <see cref="T:System.Int32"/> that specifies the number of entries that the new <see cref="T:System.Collections.Hashtable"/> instance can initially contain. </param>
						<param name="hcp">
							<para>The <see cref="T:System.Collections.IHashCodeProvider"/> that supplies the hash codes for all keys in the <see cref="T:System.Collections.Hashtable"/>; or, <see langword="null"/> to use the default hash code provider.</para>
						</param>
						<param name="comparer">
							<para>The <see cref="T:System.Collections.IComparer"/> to use to determine whether two keys are equal, or <see langword="null"/> to use the default comparer.</para>
						</param>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Collections.IHashCodeProvider hcp, class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public Hashtable(IHashCodeProvider hcp, IComparer comparer);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="hcp" Type="System.Collections.IHashCodeProvider"/>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Collections.Hashtable"/> class with the specified <see cref="T:System.Collections.IHashCodeProvider"/> and the specified <see cref="T:System.Collections.IComparer"/>.</para>
						</summary>
						<param name="hcp">
							<para>The <see cref="T:System.Collections.IHashCodeProvider"/> that supplies the hash codes for all keys in the <see cref="T:System.Collections.Hashtable"/>; or, <see langword="null"/> to use the default hash code provider.</para>
						</param>
						<param name="comparer">
							<para>The <see cref="T:System.Collections.IComparer"/> to use to determine whether two keys are equal; or, <see langword="null"/> to use the default comparer.</para>
						</param>
						<remarks>
							<para>The new instance is initialized with the default capacity.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 capacity)"/>
					<MemberSignature Language="C#" Value="public Hashtable(int capacity);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="capacity" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Collections.Hashtable"/>
class with the specified initial capacity.</para>
						</summary>
						<param name="capacity">A <see cref="T:System.Int32"/> that specifies the number of entries that the new <see cref="T:System.Collections.Hashtable"/> instance can initially contain. </param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="capacity"/> &lt; 0. </exception>
						<remarks>
							<para>The new instance is initialized with the default <see cref="T:System.Collections.IHashCodeProvider"/> and <see cref="T:System.Collections.IComparer"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public Hashtable();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Collections.Hashtable"/>
class.</para>
						</summary>
						<remarks>
							<para>The new instance is initialized with the default
 capacity, <see cref="T:System.Collections.IHashCodeProvider"/>, and <see cref="T:System.Collections.IComparer"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Add">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Add(object key, object value)"/>
					<MemberSignature Language="C#" Value="public virtual void Add(object key, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="key" Type="System.Object"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds an entry with the specified key and value into the
      current instance.</para>
						</summary>
						<param name="key">The key of the entry to add.</param>
						<param name="value">The value of the entry to add.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="key"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>An entry with the same key already exists in the current instance.</para>
						</exception>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Clear">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Clear()"/>
					<MemberSignature Language="C#" Value="public virtual void Clear();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Removes all entries from the current instance.</para>
						</summary>
						<exception cref="T:System.NotSupportedException">The current instance is read-only.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support
      the <see cref="T:System.Collections.IDictionary"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<block subset="none" type="default">
								<para>The value of each key and value in the current instance is set to
      <see langword="null"/>. The <see cref="P:System.Collections.Hashtable.Count"/> property of the current instance 
         is set to zero. The capacity of the current instance remains
         unchanged.</para>
								<para>If the current instance is empty, it remains unchanged and no exception is
         thrown.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Clone">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual object Clone()"/>
					<MemberSignature Language="C#" Value="public virtual object Clone();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Creates a <see cref="T:System.Object"/>
that is a copy of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Object"/>
that is a copy of the current instance.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support the <see cref="T:System.ICloneable"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method creates a new <see cref="T:System.Collections.Hashtable"/> instance is initialized with the same count,
<see cref="T:System.Collections.IHashCodeProvider"/> implementation, and <see cref="T:System.Collections.IComparer"/> implementation 
as the current instance. The references to the objects contained by the current
instance are copied to the new instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Contains">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Contains(object key)"/>
					<MemberSignature Language="C#" Value="public virtual bool Contains(object key);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="key" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the current instance contains the specified key.</para>
						</summary>
						<param name="key">The key to locate in the current instance.</param>
						<returns>
							<para>
								<see langword="true"/>
if the current instance contains <paramref name="key"/>; otherwise, <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="key"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support the <see cref="T:System.Collections.IDictionary"/> 
interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="default">
 This method is equivalent to <see cref="M:System.Collections.Hashtable.ContainsKey(System.Object)"/>.</block>
							</para>
							<para>
								<block subset="none" type="note"> 
 For the default implementation, this method has a constant (O(1)) lookup time.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ContainsKey">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool ContainsKey(object key)"/>
					<MemberSignature Language="C#" Value="public virtual bool ContainsKey(object key);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="key" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance contains an entry with the specified key.</para>
						</summary>
						<param name="key">The key of the entry to locate in the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if
 the current instance contains an entry with <paramref name="key"/>; otherwise, <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="key"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="default">
 This method uses <see cref="M:System.Collections.Hashtable.KeyEquals(System.Object,System.Object)"/> to compare <paramref name="key"/> to the keys in the current instance.
 </block>
							</para>
							<para>
								<block subset="none" type="note">For the default implementation, this method has a constant (O(1)) lookup
 time.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ContainsValue">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool ContainsValue(object value)"/>
					<MemberSignature Language="C#" Value="public virtual bool ContainsValue(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance contains an entry with the specified value.</para>
						</summary>
						<param name="value">The value to locate in the current instance.</param>
						<returns>
							<para>
								<see langword="true"/>
if the current instance contains an
entry with <paramref name="value"/>; otherwise, <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support 
 the <see cref="T:System.Collections.IDictionary"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method is equivalent to <see cref="M:System.Collections.Hashtable.ContainsKey(System.Object)"/>.</block>
							</para>
							<para>
								<block subset="none" type="note">For the default implementation, this method has a constant (O(1)) lookup 
 time.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CopyTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void CopyTo(class System.Array array, int32 arrayIndex)"/>
					<MemberSignature Language="C#" Value="public virtual void CopyTo(Array array, int arrayIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="arrayIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Copies the entries of the current instance to a
      one-dimensional <see cref="T:System.Array"/> starting at the specified index.</para>
						</summary>
						<param name="array">The one-dimensional, zero-indexed <see cref="T:System.Array"/> that is the destination of the objects copied from the current instance.</param>
						<param name="arrayIndex">A <see cref="T:System.Int32"/> that specifies the zero-based index in <paramref name="array"/> at which copying begins. This value is between 0 and <paramref name="array"/>.Length minus the <see cref="P:System.Collections.Hashtable.Count"/> of the current instance, inclusive.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="arrayIndex"/> &lt; 0.</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="array"/> has more than one dimension.</para>
							<para>
								<paramref name="arrayIndex"/> &gt; <paramref name="array"/>.Length - The <see cref="P:System.Collections.Hashtable.Count"/> of the current instance.</para>
						</exception>
						<exception cref="T:System.InvalidCastException">The type of the current instance is not assignment-compatible with the type of <paramref name="array"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">The <see cref="T:System.Collections.DictionaryEntry"/> elements in the current instance are copied to the <see cref="T:System.Array"/> in the same order in which they are contained the
   current instance. If <see cref="T:System.Collections.DictionaryEntry"/> is not
   assignment-compatible with the type of <paramref name="array"/>, a <see cref="T:System.InvalidCastException"/>
   is thrown. If an exception is thrown
   while copying, the state of the current instance is undefined.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Count">
					<MemberSignature Language="ILASM" Value=".property int32 Count { public hidebysig virtual specialname int32 get_Count() }"/>
					<MemberSignature Language="C#" Value="public virtual int Count { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the number of key-and-value pairs contained in the
      current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> that specifies the number of key-and-value pairs contained in the
   current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Count">
					<MemberSignature Language="ILASM" Value=".property int32 ICollection.Count { public hidebysig virtual abstract specialname int32 get_ICollection.Count() }"/>
					<MemberSignature Language="C#" Value="int ICollection.Count { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.ICollection"/> interface. [Note: For more information, see <see cref="M:System.Collections.ICollection.Count"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEnumerator">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Collections.IDictionaryEnumerator GetEnumerator()"/>
					<MemberSignature Language="C#" Value="public virtual IDictionaryEnumerator GetEnumerator();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.IDictionaryEnumerator</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Collections.IDictionaryEnumerator"/> for the
   current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Collections.IDictionaryEnumerator"/> for the current
   instance.</para>
						</returns>
						<remarks>
							<para>If the current instance is modified
      while an enumeration is in progress, a call to <see cref="M:System.Collections.IEnumerator.MoveNext"/> or <see cref="P:System.Collections.IEnumerator.Reset"/> throws <see cref="T:System.InvalidOperationException"/>. </para>
							<block subset="none" type="note">
								<para>For detailed information regarding the use of an enumerator, see <see cref="T:System.Collections.IEnumerator"/>.</para>
								<para>This property is implemented to support the <see cref="T:System.Collections.IList"/> interface.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetHash">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual int32 GetHash(object key)"/>
					<MemberSignature Language="C#" Value="protected virtual int GetHash(object key);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="key" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Generates a hash code for the specified key in the current instance.</para>
						</summary>
						<param name="key">The <see cref="T:System.Object"/> whose hash code is to be generated.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for <paramref name="key"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="key"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>This method is accessible only through this class or a derived class.</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">If the current instance was instantiated with a specific <see cref="T:System.Collections.IHashCodeProvider"/> implementation, this method uses that hash
   code provider; otherwise, it uses the <see cref="M:System.Object.GetHashCode" qualify="true"/> implementation of
<paramref name="key"/>
.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsFixedSize">
					<MemberSignature Language="ILASM" Value=".property bool IDictionary.IsFixedSize { public hidebysig virtual abstract specialname bool get_IDictionary.IsFixedSize() }"/>
					<MemberSignature Language="C#" Value="bool IDictionary.IsFixedSize { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IDictionary"/> interface. [Note: For more information, see <see cref="M:System.Collections.IDictionary.IsFixedSize"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsFixedSize">
					<MemberSignature Language="ILASM" Value=".property bool IsFixedSize { public hidebysig virtual specialname bool get_IsFixedSize() }"/>
					<MemberSignature Language="C#" Value="public virtual bool IsFixedSize { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> indicating whether the current instance
   has a fixed size.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the
   current instance has a fixed size; otherwise,
<see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is a read-only.</para>
							<para>
								<block subset="none" type="note">Elements can be modified in, but not
      added to or removed from a <see cref="T:System.Collections.Hashtable"/> with a fixed size.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default
      value of this property is <see langword="false"/> .</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override
      this property, setting it to <see langword=" true"/>
      , to prevent addition or removal of entries in the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsReadOnly">
					<MemberSignature Language="ILASM" Value=".property bool IDictionary.IsReadOnly { public hidebysig virtual abstract specialname bool get_IDictionary.IsReadOnly() }"/>
					<MemberSignature Language="C#" Value="bool IDictionary.IsReadOnly { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IDictionary"/> interface. [Note: For more information, see <see cref="M:System.Collections.IDictionary.IsReadOnly"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsReadOnly">
					<MemberSignature Language="ILASM" Value=".property bool IsReadOnly { public hidebysig virtual specialname bool get_IsReadOnly() }"/>
					<MemberSignature Language="C#" Value="public virtual bool IsReadOnly { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current instance
   is read-only.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the
   current instance is read-only; otherwise,
<see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">Elements cannot be modified in, added
      to, or removed from a <see cref="T:System.Collections.Hashtable"/> that is read-only.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default
      value of this property is <see langword=" false"/>.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override
      this property, setting it to <see langword=" true"/> , in
      order to prevent the addition, removal, or modification of
      entries in the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSynchronized">
					<MemberSignature Language="ILASM" Value=".property bool ICollection.IsSynchronized { public hidebysig virtual abstract specialname bool get_ICollection.IsSynchronized() }"/>
					<MemberSignature Language="C#" Value="bool ICollection.IsSynchronized { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.ICollection"/> interface. [Note: For more information, see <see cref="M:System.Collections.ICollection.IsSynchronized"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSynchronized">
					<MemberSignature Language="ILASM" Value=".property bool IsSynchronized { public hidebysig virtual specialname bool get_IsSynchronized() }"/>
					<MemberSignature Language="C#" Value="public virtual bool IsSynchronized { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether access to the current instance
   is synchronized (thread-safe).</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if access to
   the current instance is synchronized
   (thread-safe); otherwise, <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>This property is implemented to support the <see cref="T:System.Collections.ICollection"/>
   interface.</para>
								<para>For more information regarding synchronization of access to a <see cref="T:System.Collections.Hashtable"/> ,
see <see cref="M:System.Collections.Hashtable.Synchronized(System.Collections.Hashtable)"/> .</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default
   value of this property is <see langword=" false"/>.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override
   this property, setting it to <see langword=" true"/>
   , if thread-safety can be guaranteed for
   the current instance. In order to obtain this safety, use <see cref="P:System.Collections.Hashtable.SyncRoot"/> or <see cref="M:System.Collections.Hashtable.Synchronized(System.Collections.Hashtable)"/>
   .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Item">
					<MemberSignature Language="ILASM" Value=".property object Item[object key] { public hidebysig virtual specialname object get_Item(object key) public hidebysig virtual specialname void set_Item(object key, object value) }"/>
					<MemberSignature Language="C#" Value="public virtual object this[object key] { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="key" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Gets or sets the value in the current instance that is associated with the specified key.</para>
						</summary>
						<param name="key">The key whose value to get or set.</param>
						<value>
							<para> The value in the current instance that is associated
      with <paramref name="key"/>. If <paramref name="key"/> is
      not contained in the current instance, attempting to get it returns
   <see langword="null"/>, and attempting to set it creates a new entry
      using <paramref name="key"/>
      
      .</para>
						</value>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="key"/> is <see langword="null"/>. </exception>
						<exception cref="T:System.NotSupportedException">
							<para>The property is being set and the current instance is read-only.</para>
							<para>The property is being set, <paramref name="key"/> is not contained in the current instance, and the current instance has a fixed size.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This property provides the ability to
      access a specific element in the current instance using the following notation:
      <c>myCollection[key]</c>
      .</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">If this property is being set and <paramref name="key"/> is already contained
   in the current instance, the value associated with the old key is
   replaced.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="KeyEquals">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual bool KeyEquals(object item, object key)"/>
					<MemberSignature Language="C#" Value="protected virtual bool KeyEquals(object item, object key);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="item" Type="System.Object"/>
						<Parameter Name="key" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the specified <see cref="T:System.Object"/> and the specified key in the
   current instance represent the same value.</para>
						</summary>
						<param name="item">The <see cref="T:System.Object"/> to compare with <paramref name="key"/>.</param>
						<param name="key">The key in the current instance to compare with <paramref name="item"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="item"/> and <paramref name="key"/> represent the
   same value; otherwise,
<see langword="false"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="item"/> is <see langword="null"/>. </para>
							<para>-or-</para>
							<para>
								<paramref name="key"/> is <see langword="null"/>. </para>
						</exception>
						<remarks>
							<para>This method is accessible only through this class or a derived class.</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">If the
      current instance was initialized with a specified <see cref="T:System.Collections.IComparer"/> implementation, this method uses that
      implementation to perform the comparison; otherwise, the <see cref="M:System.Object.Equals(System.Object)"/> implementation of <paramref name="item"/> is used.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Keys">
					<MemberSignature Language="ILASM" Value=".property class System.Collections.ICollection IDictionary.Keys { public hidebysig virtual abstract specialname class System.Collections.ICollection get_IDictionary.Keys() }"/>
					<MemberSignature Language="C#" Value="ICollection IDictionary.Keys { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.ICollection</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IDictionary"/> interface. [Note: For more information, see <see cref="M:System.Collections.IDictionary.Keys"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Keys">
					<MemberSignature Language="ILASM" Value=".property class System.Collections.ICollection Keys { public hidebysig virtual specialname class System.Collections.ICollection get_Keys() }"/>
					<MemberSignature Language="C#" Value="public virtual ICollection Keys { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.ICollection</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Collections.ICollection"/> containing the keys of the current
   instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Collections.ICollection"/> containing the keys of the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<block subset="none" type="default">
								<para>The order of the keys in the <see cref="T:System.Collections.ICollection"/> is unspecified, but it is
      the same order as the associated values in the <see cref="T:System.Collections.ICollection"/>
      returned by the <see cref="P:System.Collections.Hashtable.Values"/> method.</para>
								<para> The returned <see cref="T:System.Collections.ICollection"/> is a reference to the current instance, not
   a static copy. Therefore, changes to the current instance continue to be
   reflected in the <see cref="T:System.Collections.ICollection"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Remove">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Remove(object key)"/>
					<MemberSignature Language="C#" Value="public virtual void Remove(object key);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="key" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Removes the entry with the specified key from the
      current instance.</para>
						</summary>
						<param name="key">The key of the entry to remove.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="key"/> is <see langword="null"/>. </exception>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support
      the <see cref="T:System.Collections.IDictionary"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method uses the <see cref="M:System.Object.Equals(System.Object)"/> implementation of
<paramref name="key"/> to locate it in the current instance. If <paramref name="key"/> is 
found in the current instance, the values of both <paramref name="key"/> and its
associated value are set to <see langword="null"/>. If <paramref name="key"/> is not
found in the
current instance, no exception is thrown and the current
instance remains unchanged.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Synchronized">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Collections.Hashtable Synchronized(class System.Collections.Hashtable table)"/>
					<MemberSignature Language="C#" Value="public static Hashtable Synchronized(Hashtable table);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.Hashtable</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="table" Type="System.Collections.Hashtable"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a synchronized (thread-safe) wrapper for the specified <see cref="T:System.Collections.Hashtable"/>.</para>
						</summary>
						<param name="table">The <see cref="T:System.Collections.Hashtable"/> to synchronize.</param>
						<returns>
							<para>A synchronized (thread-safe) wrapper for <paramref name="table"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="table"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>This method returns a new <see cref="T:System.Collections.Hashtable"/> instance that contains values equal to the
   values of <paramref name="table"/> , and provides synchronized access to those values.</para>
							<para>If more than one thread is to write to a <see cref="T:System.Collections.Hashtable"/> concurrently, all
write
operations are required to be done through this wrapper.</para>
							<para>
								<block subset="none" type="note">A <see cref="T:System.Collections.Hashtable"/> can safely support one
writer and multiple readers concurrently.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SyncRoot">
					<MemberSignature Language="ILASM" Value=".property object SyncRoot { public hidebysig virtual specialname object get_SyncRoot() }"/>
					<MemberSignature Language="C#" Value="public virtual object SyncRoot { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Object"/> that can be used to synchronize access to
   the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Object"/> that can be used to synchronize access to the
   current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>A thread is required to perform synchronized operations only on the <see cref="P:System.Collections.Hashtable.SyncRoot"/> of a <see cref="T:System.Collections.Hashtable"/>, not directly on
   the table itself. This maintains proper synchronization with any other threads
   concurrently modifying the table.</para>
							<para>
								<block subset="none" type="note">This property is implemented to support
   the <see cref="T:System.Collections.ICollection"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method returns a reference to
   the current instance.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this property to return an object on which to lock when
   implementing a collection that wraps another collection (using a subset of it, for
   example). This is useful when providing synchronized access through two or more
   wrapper collections to the same underlying collection. Typically, this property returns a
   reference to the current instance.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this property to obtain a <see cref="T:System.Object"/> that can be used to synchronize access to the current
instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SyncRoot">
					<MemberSignature Language="ILASM" Value=".property object ICollection.SyncRoot { public hidebysig virtual abstract specialname object get_ICollection.SyncRoot() }"/>
					<MemberSignature Language="C#" Value="object ICollection.SyncRoot { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.ICollection"/> interface. [Note: For more information, see <see cref="M:System.Collections.ICollection.SyncRoot"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.Collections.IEnumerable.GetEnumerator">
					<MemberSignature Language="ILASM" Value=".method private final hidebysig virtual class System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()"/>
					<MemberSignature Language="C#" Value="IEnumerator IEnumerable.GetEnumerator();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.IEnumerator</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IEnumerable"/> interface. [Note: For more information, see <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Values">
					<MemberSignature Language="ILASM" Value=".property class System.Collections.ICollection Values { public hidebysig virtual specialname class System.Collections.ICollection get_Values() }"/>
					<MemberSignature Language="C#" Value="public virtual ICollection Values { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.ICollection</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Collections.ICollection"/> containing the values of the current
   instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Collections.ICollection"/> containing the values of the current
   instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<block subset="none" type="default">
								<para>The order of the values in the <see cref="T:System.Collections.ICollection"/> is unspecified, but it is
      the same order as the associated keys in the <see cref="T:System.Collections.ICollection"/> returned by the <see cref="P:System.Collections.Hashtable.Keys"/> method.</para>
								<para> The returned <see cref="T:System.Collections.ICollection"/> is a reference to the current instance, not
   a static copy. Therefore, changes to the current instance continue to be
   reflected in the <see cref="T:System.Collections.ICollection"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Values">
					<MemberSignature Language="ILASM" Value=".property class System.Collections.ICollection IDictionary.Values { public hidebysig virtual abstract specialname class System.Collections.ICollection get_IDictionary.Values() }"/>
					<MemberSignature Language="C#" Value="ICollection IDictionary.Values { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.ICollection</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IDictionary"/> interface. [Note: For more information, see <see cref="M:System.Collections.IDictionary.Values"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IAsyncResult" FullName="System.IAsyncResult" FullNameSP="System_IAsyncResult">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IAsyncResult"/>
			<TypeSignature Language="C#" Value="public interface IAsyncResult"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Supported by objects
      that represent the state
      of an asynchronous operation.
      </para>
				</summary>
				<remarks>
					<para>An object that supports the <see cref="T:System.IAsyncResult"/>
interface stores state information for an asynchronous operation, and provides a
synchronization object to allow threads to be signaled when the operation
completes.</para>
					<para>
						<see cref="T:System.IAsyncResult"/> objects are returned by methods that begin
asynchronous operations, such as <see cref="M:System.IO.FileStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/>, and are passed to methods used to
complete asynchronous operations, such as <see cref="M:System.IO.FileStream.EndRead(System.IAsyncResult)"/>. <see cref="T:System.IAsyncResult"/>
objects are also passed to methods invoked by <see cref="T:System.AsyncCallback"/> delegates
when an asynchronous operation completes.</para>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Members>
				<Member MemberName="AsyncState">
					<MemberSignature Language="ILASM" Value=".property object AsyncState { public hidebysig virtual abstract specialname object get_AsyncState() }"/>
					<MemberSignature Language="C#" Value="object AsyncState { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the user-provided state object supplied at the time the asynchronous
      operation was started.
      </para>
						</summary>
						<value>
							<para>The supplied <see cref="T:System.Object"/>.</para>
						</value>
						<remarks>
							<block subset="none" type="behaviors">
								<para> The object returned by this property is required to be
         the object specified as the last parameter to methods that begin asynchronous
         operations, such as <see cref="M:System.IO.FileStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/>.</para>
								<para>This property is read-only.</para>
							</block>
							<para>
								<block subset="none" type="overrides">
      
      Implement this property to allow the caller of an
      asynchronous operation to obtain an application-defined object specified at the
      start of the operation.
      </block>
							</para>
							<para>
								<block subset="none" type="usage"> The object returned by
      
      this property can be used to pass state information for
      the asynchronous operation to a <see cref="T:System.AsyncCallback"/>
      delegate.
      </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AsyncWaitHandle">
					<MemberSignature Language="ILASM" Value=".property class System.Threading.WaitHandle AsyncWaitHandle { public hidebysig virtual abstract specialname class System.Threading.WaitHandle get_AsyncWaitHandle() }"/>
					<MemberSignature Language="C#" Value="WaitHandle AsyncWaitHandle { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.WaitHandle</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Threading.WaitHandle"/> that can be used to block a thread until an asynchronous
   operation completes.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Threading.WaitHandle"/> that is signaled when an asynchronous operation completes.</para>
						</value>
						<remarks>
							<block subset="none" type="behaviors">
								<para>The object returned by <see cref="P:System.IAsyncResult.AsyncWaitHandle"/> can be allocated in advance or on demand. However, once
      allocated it is required to be kept alive until the user calls a method that
      ends the asynchronous operation, such as <see cref="M:System.IO.FileStream.EndRead(System.IAsyncResult)"/>.
      Only after the operation completes or is canceled, can the object be disposed
      of.</para>
								<para>
									<block subset="none" type="note">
										<see langword="WaitHandle"/> supplies methods that support waiting 
   for synchronization objects to become signaled, such as <see cref="M:System.Threading.WaitHandle.WaitOne(System.Int32,System.Boolean)"/>
   .</block>
								</para>
								<para>This property is read-only.</para>
							</block>
							<block subset="none" type="usage">
								<para>Clients that wait for the operation to complete (as
      opposed to polling), use this property to obtain a synchronization object to
      wait on.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CompletedSynchronously">
					<MemberSignature Language="ILASM" Value=".property bool CompletedSynchronously { public hidebysig virtual abstract specialname bool get_CompletedSynchronously() }"/>
					<MemberSignature Language="C#" Value="bool CompletedSynchronously { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> 
value that specifies whether the
asynchronous operation completed synchronously.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the operation synchronously;
   otherwise <see langword="false"/>. </para>
						</value>
						<remarks>
							<block subset="none" type="behaviors">
								<para> 
         As described above.</para>
								<para>
									<block subset="none" type="note">Most 
         implementations of the <see cref="T:System.IAsyncResult"/> interface will not use this property, and should return
      <see langword="false"/> 
      .</block>
								</para>
								<para>This property is read-only.</para>
							</block>
							<para>
								<block subset="none" type="usage">
   Use this property to determine if the asynchronous
   operation completed synchronously. For example, this property can return
<see langword="true"/> for an asynchronous IO
   operation if the IO request was small.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsCompleted">
					<MemberSignature Language="ILASM" Value=".property bool IsCompleted { public hidebysig virtual abstract specialname bool get_IsCompleted() }"/>
					<MemberSignature Language="C#" Value="bool IsCompleted { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> 
value that specifies
whether an asynchronous operation has completed.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the operation has completed;
   otherwise <see langword="false"/>.</para>
						</value>
						<remarks>
							<block subset="none" type="behaviors">
								<para>As described above. </para>
								<para>This property is read-only.</para>
							</block>
							<block subset="none" type="usage">
								<para>Clients that poll for operation status (as opposed to waiting on a
         synchronization object) use this property to determine the status of the
         operation.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ICloneable" FullName="System.ICloneable" FullNameSP="System_ICloneable">
			<TypeSignature Language="ILASM" Value=".class interface public abstract ICloneable"/>
			<TypeSignature Language="C#" Value="public interface ICloneable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Implemented by classes that require control over the
 way in which copies of
 instances are constructed.
 </para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">
							<see cref="T:System.ICloneable"/> contains the <see cref="M:System.ICloneable.Clone"/> method.
 The consumer of an object should call this method when a copy of the object is
 needed.</block>
					</para>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Members>
				<Member MemberName="Clone">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract object Clone()"/>
					<MemberSignature Language="C#" Value="object Clone();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Creates a copy of the current instance.
      </para>
						</summary>
						<returns>
							<para> A <see cref="T:System.Object"/> of the same type as the current instance, containing
   copies of the non-static members of the current instance.
   </para>
						</returns>
						<remarks>
							<para>The exact behavior of this method is unspecified. The intent
      of the method is to provide a mechanism that constructs
      instances that
      are copies of the current instance, without regard for class-specific definitions of the term
      "copy". </para>
							<para>
								<block subset="none" type="note"> Use the <see cref="M:System.Object.MemberwiseClone"/>
method to create a shallow copy of an object. For more information, see <see cref="M:System.Object.MemberwiseClone"/> . </block>
							</para>
							<para>
								<block subset="none" type="behaviors"> This method is required to return
   an instance of the same type as the current instance. </block>
							</para>
							<para>
								<block subset="none" type="overrides"> Implement this method to provide
   class-specific copying behavior. </block>
							</para>
							<para>
								<block subset="none" type="usage"> Use the <see cref="M:System.ICloneable.Clone"/> method
to obtain a copy of the current instance. </block>
							</para>
						</remarks>
						<example>
							<para>The following example shows an implementation of <see cref="M:System.ICloneable.Clone"/> that
   uses the <see cref="M:System.Object.MemberwiseClone"/>
   method to create a copy of
   the current instance.</para>
							<code lang="C#">using System;
class MyClass :ICloneable {
    public int myField;
    public MyClass() {
        myField = 0;
    }
    public MyClass(int value) {
        myField = value;
    }
    public object Clone() {
        return this.MemberwiseClone();
    }
}
public class TestMyClass {
    public static void Main() {
        MyClass my1 = new MyClass(44);
        MyClass my2 = (MyClass) my1.Clone();
        Console.WriteLine("my1 {0} my2 {1}",my1.myField, my2.myField);
        my2.myField = 22;
        Console.WriteLine("my1 {0} my2 {1}",my1.myField, my2.myField);
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>my1 44 my2 44</para>
								<para>my1 44 my2 22</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ICollection" FullName="System.Collections.ICollection" FullNameSP="System_Collections_ICollection">
			<TypeSignature Language="ILASM" Value=".class interface public abstract ICollection implements System.Collections.IEnumerable"/>
			<TypeSignature Language="C#" Value="public interface ICollection : IEnumerable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Serves as the base interface for implementing collection
 classes. Defines
 size, enumeration, and synchronization methods for all system collections.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">
							<see cref="T:System.Collections.ICollection"/> contains the <see cref="M:System.Collections.ICollection.CopyTo(System.Array,System.Int32)"/> method. The consumer of 
 a collection object that implements this interface should call this method when
 copying the elements of that object to a
<see cref="T:System.Array"/>.</block>
					</para>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Collections.IEnumerable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName="CopyTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void CopyTo(class System.Array array, int32 index)"/>
					<MemberSignature Language="C#" Value="void CopyTo(Array array, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Copies the elements from the current instance to the
      specified <see cref="T:System.Array"/>, starting at the specified
      index in the array.</para>
						</summary>
						<param name="array">A one-dimensional, zero-based <see cref="T:System.Array"/> that is the destination of the elements copied from the current instance.</param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the zero-based index in <paramref name="array"/> at which copying begins. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> &lt; 0.</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="array"/> has more than one dimension.</para>
							<para>
								<paramref name="index"/> is greater than or equal to <paramref name="array"/>.Length.</para>
							<para> The sum of <paramref name="index"/> and the <see cref="P:System.Collections.ICollection.Count"/> of the current instance is greater than <paramref name="array"/>.Length.</para>
						</exception>
						<exception cref="T:System.InvalidCastException">At least one element in the current instance is not assignment-compatible with the type of <paramref name="array"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to copy from a collection to a
   <see cref="T:System.Array"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Count">
					<MemberSignature Language="ILASM" Value=".property int32 Count { public hidebysig virtual abstract specialname int32 get_Count() }"/>
					<MemberSignature Language="C#" Value="int Count { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the number of elements contained in the current
      instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> that indicates the number of elements contained in the current
   instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="behaviors">
								<para>The <see cref="P:System.Collections.ICollection.Count"/> property
      is required to return the total number of elements contained in the current instance.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSynchronized">
					<MemberSignature Language="ILASM" Value=".property bool IsSynchronized { public hidebysig virtual abstract specialname bool get_IsSynchronized() }"/>
					<MemberSignature Language="C#" Value="bool IsSynchronized { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> indicating whether access to the
   current instance is synchronized
   (thread-safe).</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if access to
   the current instance is synchronized (thread-safe); otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="behaviors"> As described above.</block>
							</para>
							<para>
								<block subset="none" type="usage"> To
   synchronize a collection, use <see cref="P:System.Collections.ICollection.SyncRoot"/> to obtain a <see cref="T:System.Object"/>
   with
   which to synchronize the collection. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SyncRoot">
					<MemberSignature Language="ILASM" Value=".property object SyncRoot { public hidebysig virtual abstract specialname object get_SyncRoot() }"/>
					<MemberSignature Language="C#" Value="object SyncRoot { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Object"/> that can be used
   for thread-safe synchronized access to the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Object"/> that can be
   used for thread-safe synchronized access to the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>For collections with no publicly available underlying 
         store, the expected implementation is to simply return the current instance.
         Note that
         this might not be sufficient for collections that wrap other collections; those
         should return the underlying collection's <see cref="P:System.Collections.ICollection.SyncRoot"/>
         property.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IComparable" FullName="System.IComparable" FullNameSP="System_IComparable">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IComparable"/>
			<TypeSignature Language="C#" Value="public interface IComparable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Implemented by classes that support an ordering of instances of the class.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">
							<see cref="T:System.IComparable"/> contains the
<see cref="M:System.IComparable.CompareTo(System.Object)"/> method. The consumer of an object should call this 
 method when sorting instances of a class.</block>
					</para>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Members>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 CompareTo(object obj)"/>
					<MemberSignature Language="C#" Value="int CompareTo(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the sort order of the current instance compared 
      to the specified
      object.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   current instance as compared to object. The following table defines the conditions under which the returned value is a negative
   number, zero, or a positive number.</para>
							<list type="table">
								<listheader>
									<term>Returned Value </term>
									<description>Description </description>
								</listheader>
								<item>
									<term> Any negative value </term>
									<description> The current instance is &lt; <paramref name="obj"/>. </description>
								</item>
								<item>
									<term> Zero </term>
									<description>The current instance is ==
   <paramref name="obj"/>. </description>
								</item>
								<item>
									<term> Any positive value </term>
									<description> The current instance is &gt; than <paramref name="obj"/> or <paramref name="obj"/> is a null
   reference. </description>
								</item>
							</list>
						</returns>
						<remarks>
							<block subset="none" type="behaviors">
								<para>For any objects A, B and C, the following are required to be true:</para>
								<para>A.CompareTo(A) is required to return zero. </para>
								<para>If A.CompareTo(B) returns zero then B.CompareTo(A) is required to return zero.</para>
								<para>If A.CompareTo(B) returns zero and B.CompareTo(C) 
         returns zero then A.CompareTo(C) is required to return zero.</para>
								<para>If A.CompareTo(B) returns a value other than zero then 
         B.CompareTo(A) is required to return a value of the opposite
         sign.</para>
								<para>If A.CompareTo(B) returns a value <paramref name="x"/> not equal 
      to zero, and B.CompareTo(C) returns a value <paramref name="y"/> of the same sign as
   <paramref name="x"/>, then A.CompareTo(C) is required to a value of the same sign as 
   <paramref name="x"/> and <paramref name="y"/> 
   .</para>
								<para>The exact behavior of this method is unspecified. The intent of this method is
   to provide a mechanism that orders instances of a class in a manner that is
   consistent with the mathematical definitions of the relational operators (&lt;,
   &gt;, and ==), without regard for class-specific definitions of the
   operators.</para>
							</block>
							<para>
								<block subset="none" type="usage">Use the <see cref="M:System.IComparable.CompareTo(System.Object)"/> method to determine the ordering of instances of a
class.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IComparer" FullName="System.Collections.IComparer" FullNameSP="System_Collections_IComparer">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IComparer"/>
			<TypeSignature Language="C#" Value="public interface IComparer"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Provides a mechanism to customize the sort
      ordering of a collection.</para>
				</summary>
				<remarks>
					<para> The default implementation of this interface
      is <see cref="T:System.Collections.Comparer"/>
      .</para>
					<para>
						<block subset="none" type="note">
							<see cref="T:System.Collections.IComparer"/> contains the <see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)"/> method. The consumer of an object
      should call this method when sorting members of a collection.</block>
					</para>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Members>
				<Member MemberName="Compare">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 Compare(object x, object y)"/>
					<MemberSignature Language="C#" Value="int Compare(object x, object y);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="x" Type="System.Object"/>
						<Parameter Name="y" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the sort order of two <see cref="T:System.Object"/> instances.</para>
						</summary>
						<param name="x">First <see cref="T:System.Object"/> to compare.</param>
						<param name="y">Second <see cref="T:System.Object"/> to compare.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of
<paramref name="x"/> as compared to <paramref name="y"/>. The following table defines the conditions
   under which the returned value is a negative number, zero, or a positive
   number.</para>
							<list type="table">
								<listheader>
									<term>Value</term>
									<description>Condition</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>
										<paramref name="x"/> &lt; <paramref name="y"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>
										<paramref name="x"/> == <paramref name="y"/>.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>
										<paramref name="x"/> &gt; <paramref name="y"/>.</description>
								</item>
							</list>
						</returns>
						<remarks>
							<block subset="none" type="behaviors">
								<para>For any objects A, B, and C, the following are required to be true: </para>
								<para>
									<see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)"/> (A, A) is required to
      return zero.
      </para>
								<para> If
   <see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)"/>(A, B)
      returns zero, then <see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)"/> (B, A) is required to
      return zero.
      </para>
								<para> If <see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)"/>(A, B) returns zero and <see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)"/>(B, C)
   returns zero then <see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)"/> (A, C) is required to
   return zero.
   </para>
								<para> If <see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)"/>(A, B) returns a value other than
zero, then <see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)"/> (B,
A)
is required to return a value of the
opposite sign.</para>
								<para> If <see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)"/>(A, B) returns a value x not equal to
zero, and <see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)"/>(B, C)
returns
a value y of the same sign as x, then <see cref="M:System.Collections.IComparer.Compare(System.Object,System.Object)"/> (A,
C) is required to return
a value of the same sign as x
and y.</para>
							</block>
							<block subset="none" type="note">
								<para>The exact ordering of this method is unspecified. The intent of the method
      is to provide a mechanism that orders instances of a class in a manner that
      is consistent with the mathematical definitions of the relational operators (&lt;,
      &gt;, and ==), without regard for class-specific definitions of the
      operators.</para>
							</block>
							<block subset="none" type="usage">
								<para>This interface is used in conjunction with the <see cref="M:System.Array.Sort(System.Array)"/> and <see cref="M:System.Array.BinarySearch(System.Array,System.Object)" qualify="true"/> methods.
</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IDictionary" FullName="System.Collections.IDictionary" FullNameSP="System_Collections_IDictionary">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IDictionary implements System.Collections.ICollection, System.Collections.IEnumerable"/>
			<TypeSignature Language="C#" Value="public interface IDictionary : ICollection, IEnumerable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Implemented by classes that support collections of associated keys and values (i.e. dictionaries).</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para> Each key-value pair must have a unique non-null key, but
 the value of an association can be any object reference, including a null
 reference. The <see cref="T:System.Collections.IDictionary"/> interface allows
 the contained keys and values to be enumerated, but it does not imply any
 particular sort order.</para>
						<para>
							<see cref="T:System.Collections.IDictionary"/>
 implementations fall into three categories: read-only, fixed-size,
 variable-size. A read-only implementation cannot be modified. A fixed-size
 implementation does not allow the addition or removal of elements, but it allows
 the modification of existing elements. A variable-size implementation allows the addition,
 removal and modification of elements.</para>
					</block>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Collections.ICollection</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.Collections.IEnumerable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Attributes>
				<Attribute>
					<AttributeName>DefaultMemberAttribute("Item")</AttributeName>
					<Excluded>1</Excluded>
					<ExcludedTypeName>System.Reflection.DefaultMemberAttribute</ExcludedTypeName>
					<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="Add">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void Add(object key, object value)"/>
					<MemberSignature Language="C#" Value="void Add(object key, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="key" Type="System.Object"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Adds an entry with the provided key and value to the
      current instance.</para>
						</summary>
						<param name="key">The <see cref="T:System.Object"/> to use as the key of the entry to add.</param>
						<param name="value">The <see cref="T:System.Object"/> to use as the value of the entry to add.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="key"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para> An entry with the same key already exists in the current instance.</para>
						</exception>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<para>If the specified key already exists in the current
      instance, this method throws a <see cref="T:System.ArgumentException"/>
      exception but does not modify the
      associated value.</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Clear">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void Clear()"/>
					<MemberSignature Language="C#" Value="void Clear();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Removes all key and value pairs from the current instance.</para>
						</summary>
						<exception cref="T:System.NotSupportedException">
							<para>The <see cref="T:System.Collections.IDictionary"/> is read-only. </para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Contains">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract bool Contains(object key)"/>
					<MemberSignature Language="C#" Value="bool Contains(object key);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="key" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the current instance contains an entry with the specified key.</para>
						</summary>
						<param name="key">The key to locate in the <see cref="T:System.Collections.IDictionary"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the <see cref="T:System.Collections.IDictionary"/> contains an entry with the key; otherwise, <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="key "/>is <see langword="null"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEnumerator">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Collections.IDictionaryEnumerator GetEnumerator()"/>
					<MemberSignature Language="C#" Value="IDictionaryEnumerator GetEnumerator();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.IDictionaryEnumerator</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a
   <see cref="T:System.Collections.IDictionaryEnumerator"/> for the current
      instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Collections.IDictionaryEnumerator"/> for the current
   instance.</para>
						</returns>
						<remarks>
							<para>If the current instance is modified while an enumeration is
      in progress, a call to <see cref="M:System.Collections.IEnumerator.MoveNext"/> or <see cref="P:System.Collections.IEnumerator.Reset"/> will throw <see cref="T:System.InvalidOperationException"/> . </para>
							<para>
								<block subset="none" type="note">For detailed information regarding the
      use of an enumerator, see <see cref="T:System.Collections.IEnumerator"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsFixedSize">
					<MemberSignature Language="ILASM" Value=".property bool IsFixedSize { public hidebysig virtual abstract specialname bool get_IsFixedSize() }"/>
					<MemberSignature Language="C#" Value="bool IsFixedSize { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a value indicating whether the current instance
      has a fixed size.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the
   current instance has a fixed size;
   otherwise, <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">A collection with a fixed size does not
      allow the addition or removal of elements, but does allow the modification of
      existing elements.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default of this property is
   <see langword="false"/>.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override
      this method, setting the value as <see langword=" true"/>
      , to prevent the addition
      and removal of the elements in the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsReadOnly">
					<MemberSignature Language="ILASM" Value=".property bool IsReadOnly { public hidebysig virtual abstract specialname bool get_IsReadOnly() }"/>
					<MemberSignature Language="C#" Value="bool IsReadOnly { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a value indicating whether the current instance
      is read-only.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the
   current instance is read-only; otherwise,
<see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">A collection that is read-only does not
      allow the addition, removal, or modification of elements.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default of this property is
   <see langword="false"/>.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override
      this method, setting the value as <see langword=" true"/>
      , to prevent the addition, removal, and modification of the elements in
      the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Item">
					<MemberSignature Language="ILASM" Value=".property object Item[object key] { public hidebysig virtual abstract specialname object get_Item(object key) public hidebysig virtual abstract specialname void set_Item(object key, object value) }"/>
					<MemberSignature Language="C#" Value="object this[object key] { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="key" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Gets or sets the element in the current instance that is associated with the specified key.</para>
						</summary>
						<param name="key">The key of the element to get or set.</param>
						<value>
							<para>The element with the specified key.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="key"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.NotSupportedException">
							<para>The property is set and the current instance is read-only.</para>
							<para>The property is set, <paramref name="key"/> does not exist in the collection, and the current instance has a fixed size.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This property provides the ability to
      access a specific element in the collection by using the following syntax: <c>myCollection[index]</c>.</block>
							</para>
							<block subset="none" type="behaviors">
								<para>When setting this property, if the specified key already 
         exists in the current instance, the value is required to be replaced; otherwise,
         a new element is required to be created.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Keys">
					<MemberSignature Language="ILASM" Value=".property class System.Collections.ICollection Keys { public hidebysig virtual abstract specialname class System.Collections.ICollection get_Keys() }"/>
					<MemberSignature Language="C#" Value="ICollection Keys { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.ICollection</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Collections.ICollection"/> containing the keys of the current
   instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Collections.ICollection"/> containing the keys of the current
   instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Remove">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void Remove(object key)"/>
					<MemberSignature Language="C#" Value="void Remove(object key);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="key" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Removes the entry with the specified key from the
      current instance.</para>
						</summary>
						<param name="key">The key of the entry to remove.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="key "/> is <see langword="null"/>.</exception>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<block subset="none" type="behaviors">
								<para> If <paramref name="key"/> is not found in the 
      current instance, no exception is thrown and the current instance remains unchanged.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Values">
					<MemberSignature Language="ILASM" Value=".property class System.Collections.ICollection Values { public hidebysig virtual abstract specialname class System.Collections.ICollection get_Values() }"/>
					<MemberSignature Language="C#" Value="ICollection Values { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.ICollection</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Collections.ICollection"/> containing the values in the current
   instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Collections.ICollection"/> containing the values in the current
   instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IDictionaryEnumerator" FullName="System.Collections.IDictionaryEnumerator" FullNameSP="System_Collections_IDictionaryEnumerator">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IDictionaryEnumerator implements System.Collections.IEnumerator"/>
			<TypeSignature Language="C#" Value="public interface IDictionaryEnumerator : IEnumerator"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Implemented by classes that support the use of an enumerator over a
      dictionary (i.e., a collection of <see cref="T:System.Collections.DictionaryEntry"/>
      objects).</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>
							<see cref="T:System.Collections.IDictionaryEnumerator"/> contains members that get
      the properties of <see cref="T:System.Collections.DictionaryEntry"/> objects.</para>
						<para> For detailed information regarding the use of an
      enumerator, see <see cref="T:System.Collections.IEnumerator"/>.</para>
					</block>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Collections.IEnumerator</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName="Entry">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Collections.DictionaryEntry Entry { public hidebysig virtual abstract specialname valuetype System.Collections.DictionaryEntry get_Entry() }"/>
					<MemberSignature Language="C#" Value="DictionaryEntry Entry { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.DictionaryEntry</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the <see cref="T:System.Collections.DictionaryEntry"/> in the collection over 
   which the current instance is positioned.</para>
						</summary>
						<value>
							<para> The <see cref="T:System.Collections.DictionaryEntry"/> in the collection over which the current instance is positioned.</para>
						</value>
						<exception cref="T:System.InvalidOperationException">
							<para>The <see cref="T:System.Collections.IDictionaryEnumerator"/> is positioned before the first element of the dictionary or after the last element.</para>
							<para>-or-</para>
							<para>The dictionary was modified after the <see cref="T:System.Collections.IDictionaryEnumerator"/> was created.</para>
						</exception>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="behaviors">It is required that a call to
   <see cref="P:System.Collections.IDictionaryEnumerator.Entry"/> leave the position of
      the enumerator unchanged: consecutive calls to this property are required to return the same <see cref="T:System.Object"/> until <see cref="M:System.Collections.IEnumerator.MoveNext"/> or <see cref="M:System.Collections.IEnumerator.Reset"/> is
      called.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use
   <see cref="P:System.Collections.IDictionaryEnumerator.Entry"/> to get the same data
      that would be provided by a call to <see cref="P:System.Collections.IEnumerator.Current" qualify="true"/>. Because this property is a <see cref="T:System.Collections.DictionaryEntry"/>, boxing is not required as it is for <see cref="P:System.Collections.IEnumerator.Current" qualify="true"/>;
      therefore, for this operation, <see cref="P:System.Collections.IDictionaryEnumerator.Entry"/> has reduced overhead compared to <see cref="P:System.Collections.IEnumerator.Current"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Key">
					<MemberSignature Language="ILASM" Value=".property object Key { public hidebysig virtual abstract specialname object get_Key() }"/>
					<MemberSignature Language="C#" Value="object Key { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the <see cref="P:System.Collections.DictionaryEntry.Key"/> of the <see cref="T:System.Collections.DictionaryEntry"/> in the collection over which the current instance is positioned.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Object"/> that contains the
<see cref="P:System.Collections.DictionaryEntry.Key"/> 
of the <see cref="T:System.Collections.DictionaryEntry"/> in the collection over which the current instance is positioned.</para>
						</value>
						<exception cref="T:System.InvalidOperationException">
							<para>The <see cref="T:System.Collections.IDictionaryEnumerator"/> is positioned before the first element of the dictionary or after the last element.</para>
							<para>-or-</para>
							<para>The dictionary was modified after the <see cref="T:System.Collections.IDictionaryEnumerator"/> was instantiated.</para>
						</exception>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="behaviors">It is required that reading
   <see cref="P:System.Collections.IDictionaryEnumerator.Key"/> leave the position of
      the enumerator unchanged: consecutive calls to this property are required to return the
      same <see cref="T:System.Object"/>
      until <see cref="M:System.Collections.IEnumerator.MoveNext"/> or <see cref="M:System.Collections.IEnumerator.Reset"/> is called.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Value">
					<MemberSignature Language="ILASM" Value=".property object Value { public hidebysig virtual abstract specialname object get_Value() }"/>
					<MemberSignature Language="C#" Value="object Value { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the <see cref="P:System.Collections.DictionaryEntry.Value"/> of the <see cref="T:System.Collections.DictionaryEntry"/> in the collection over which the current instance is positioned.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Object"/> that contains the
<see cref="P:System.Collections.DictionaryEntry.Value"/> 
of the <see cref="T:System.Collections.DictionaryEntry"/> in the collection over which the current instance is positioned.</para>
						</value>
						<exception cref="T:System.InvalidOperationException">
							<para>The <see cref="T:System.Collections.IDictionaryEnumerator"/> is positioned before the first element of the dictionary or after the last element.</para>
							<para>-or-</para>
							<para>The dictionary was modified after the <see cref="T:System.Collections.IDictionaryEnumerator"/> was created.</para>
						</exception>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="behaviors">It is required
      that a call to <see cref="P:System.Collections.IDictionaryEnumerator.Value"/> leave the position of
      the enumerator unchanged: consecutive calls to this property
      are required to return the same <see cref="T:System.Object"/> until <see cref="M:System.Collections.IEnumerator.MoveNext"/> or <see cref="M:System.Collections.IEnumerator.Reset"/> is called.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IDisposable" FullName="System.IDisposable" FullNameSP="System_IDisposable">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IDisposable"/>
			<TypeSignature Language="C#" Value="public interface IDisposable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Implemented by classes that require explicit control over resource cleanup.</para>
				</summary>
				<remarks>
					<para>Objects that need to free resources that cannot safely be reclaimed by the
      garbage collector implement the <see cref="T:System.IDisposable"/> interface. </para>
					<para>It is a version breaking change to add the <see cref="T:System.IDisposable"/> interface to an existing class, as it
   changes the semantics of the class. </para>
					<para>
						<block subset="none" type="note">
							<see cref="T:System.IDisposable"/> contains the <see cref="M:System.IDisposable.Dispose"/> method. The consumer of an object should 
call this method when the object is no longer needed. The <see cref="T:System.IDisposable"/> interface is generally provided for the
release of unmanaged resources that need to be reclaimed in some order or time
dependent manner. It is important to note that the actual release of these
resources happens at the first call to <see cref="M:System.IDisposable.Dispose"/> for
any given object that supports this interface. Programmers should take care
to pair the creation of objects that implement <see langword="IDisposable"/> with
at most one invocation of the <see langword="Dispose"/> method. Though it
is legal to invoke <see langword="Dispose"/> more than once, if this happens it
may indicate the presence of a bug since such an object is usually rendered
otherwise unusable after the first <see langword="Dispose"/> invocation. </block>
					</para>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Members>
				<Member MemberName="Dispose">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void Dispose()"/>
					<MemberSignature Language="C#" Value="void Dispose();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Performs application-defined tasks associated with
      freeing or resetting resources.</para>
						</summary>
						<remarks>
							<block subset="none" type="note">
								<para>This method is, by convention, used for all tasks associated with freeing
         resources held by an object, or preparing an object for reuse. </para>
								<para>When implementing the <see cref="M:System.IDisposable.Dispose"/> method, objects should seek to ensure
      that all held resources are freed by propagating the call through the
      containment hierarchy. For example, if an object A allocates an object B, and B
      allocates an object C, then A's <see cref="M:System.IDisposable.Dispose"/> implementation should call
   <see cref="M:System.IDisposable.Dispose"/> on B,
      which should in turn call <see cref="M:System.IDisposable.Dispose"/> on C. Objects should also call the
   <see cref="M:System.IDisposable.Dispose"/> method
      of their base class if the base class implements <see cref="T:System.IDisposable"/>.</para>
								<para>If an object's <see cref="M:System.IDisposable.Dispose"/> method is called more than once, the object should
   ignore all calls after the first one. The object should not throw an exception
   if its <see cref="M:System.IDisposable.Dispose"/>
   method is called multiple times. <see cref="M:System.IDisposable.Dispose"/> may throw an exception if an error
   occurs because a resource has already been freed and
<see cref="M:System.IDisposable.Dispose"/> had 
   not been called previously. </para>
								<para>A resource type may use a particular convention to denote an allocated state
   versus a freed state. An example of this is stream classes, which are
   traditionally thought of as open or closed. Classes that have such conventions
   may choose to implement a public method with a customized name, which calls the
<see cref="M:System.IDisposable.Dispose"/> 
method. </para>
								<para>Because the <see cref="M:System.IDisposable.Dispose"/> method must be called explicitly, objects that implement
<see cref="T:System.IDisposable"/> 
should also implement a finalizer to handle freeing resources when
<see cref="M:System.IDisposable.Dispose"/> is not 
called. By default, the garbage collector will automatically call an object's
finalizer prior to reclaiming its memory. However, once the
<see cref="M:System.IDisposable.Dispose"/> method 
has been called, it is typically unnecessary and/or undesirable for the garbage
collector to call the disposed object's finalizer. To prevent automatic
finalization, <see cref="M:System.IDisposable.Dispose"/> implementations can call <see cref="M:System.GC.SuppressFinalize(System.Object)"/>. For
additional information on implementing finalizers, see <see cref="T:System.GC"/> and <see cref="M:System.Object.Finalize"/>.</para>
							</block>
						</remarks>
						<example>
							<para>Resource classes should follow the pattern illustrated by
      this example:</para>
							<code lang="C#">class ResourceWrapper : BaseType, IDisposable {
  // Pointer to a external resource.
  private int handle; 
  private OtherResource otherRes; //Other resource you use.
  private bool disposed = false;

  public ResourceWrapper () {
    handle = //Allocate on the unmanaged side.
    otherRes = new OtherResource (...);
  }
  // Free your own state.
  private void freeState () {
    if (!disposed) {
       CloseHandle (handle);
       dispose = true;
    }
  }

  // Free your own state, call dispose on all state you hold, 
  // and take yourself off the Finalization queue.
  public void Dispose () {
    freeState ();
    OtherRes.Dispose();
    // If base type implements dispose, call it.
    base.Dispose(); 
    GC.SuppressFinalize(this);  
  }

  // Free your own state (not other state you hold) 
  // and give your base class a chance to finalize. 
  ~ResourceWrapper (){
     freeState();
  }
}
   </code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IEnumerable" FullName="System.Collections.IEnumerable" FullNameSP="System_Collections_IEnumerable">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IEnumerable"/>
			<TypeSignature Language="C#" Value="public interface IEnumerable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Implemented by classes that support a simple iteration over instances of the collection.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>
							<see cref="T:System.Collections.IEnumerable"/> contains the <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>
   method. The consumer of an object should call this method to obtain an
   enumerator for simple iteration over an instance of a collection.</para>
						<para>Implement this interface to support the 
<see langword="foreach"/> semantics of C#.</para>
					</block>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Attributes/>
			<Members>
				<Member MemberName="GetEnumerator">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Collections.IEnumerator GetEnumerator()"/>
					<MemberSignature Language="C#" Value="IEnumerator GetEnumerator();"/>
					<MemberType>Method</MemberType>
					<Attributes/>
					<ReturnValue>
						<ReturnType>System.Collections.IEnumerator</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Collections.IEnumerator"/> that
   can be used for simple iteration over a collection.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Collections.IEnumerator"/>
that can be used for simple iteration over a collection.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="usage">For a detailed description regarding the use of an
      enumerator, see <see cref="T:System.Collections.IEnumerator"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IEnumerator" FullName="System.Collections.IEnumerator" FullNameSP="System_Collections_IEnumerator">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IEnumerator"/>
			<TypeSignature Language="C#" Value="public interface IEnumerator"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Implemented by classes that support a simple iteration over a collection.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>
							<see cref="T:System.Collections.IEnumerator"/> contains the <see cref="M:System.Collections.IEnumerator.MoveNext"/> and <see cref="M:System.Collections.IEnumerator.Reset"/> methods and the <see cref="P:System.Collections.IEnumerator.Current"/> property. The consumer of an
      object should call these methods or use this property when iterating over or
      reading the elements of a collection.</para>
						<para>When an enumerator is instantiated or a call is made to
   <see cref="M:System.Collections.IEnumerator.Reset"/>, the enumerator is positioned immediately
      before the first element of the collection and a snapshot of the collection is
      taken. When the enumerator is in this position, a
      call to <see cref="M:System.Collections.IEnumerator.MoveNext"/> is necessary before
      reading <see cref="P:System.Collections.IEnumerator.Current"/>
      from the collection. If changes are made to the collection (such as adding, modifying or deleting elements) the snapshot may get out of sync, causing the enumerator to throw a <see cref="T:System.InvalidOperationException"/> if the <see cref="M:System.Collections.IEnumerator.MoveNext"/> or <see cref="M:System.Collections.IEnumerator.Reset"/> are invoked. Two enumerators instantiated from the same collection
      at the same time can have different snapshots of the collection.</para>
						<para> Enumerators are intended to
      be used only to read data in the collection.</para>
						<para>An enumerator does not have exclusive access to the collection for which it was instantiated.</para>
					</block>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Attributes/>
			<Members>
				<Member MemberName="Current">
					<MemberSignature Language="ILASM" Value=".property object Current { public hidebysig virtual abstract specialname object get_Current() }"/>
					<MemberSignature Language="C#" Value="object Current { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the element in the collection over which the current instance is positioned.</para>
						</summary>
						<value>
							<para> The element in the collection over which the current instance is positioned.</para>
						</value>
						<exception cref="T:System.InvalidOperationException">
							<para> The current instance is positioned before the first element or after the last element of the collection.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">When the current instance is constructed
      or after <see cref="M:System.Collections.IEnumerator.Reset"/> is called, use <see cref="M:System.Collections.IEnumerator.MoveNext"/> to position the current instance
      over the first element of the collection. </block>
							</para>
							<block subset="none" type="behaviors">
								<para>It is required that <see cref="P:System.Collections.IEnumerator.Current"/> return the element in the collection over which the current
      instance is positioned unless it is positioned before the first or after
      the last element of the collection. If the current instance is
      positioned before the first element or after the last element of the
      collection, <see cref="P:System.Collections.IEnumerator.Current"/> is required to throw <see cref="T:System.InvalidOperationException"/> If elements were added, removed, or repositioned in the collection after the current
      instance was instantiated, <see cref="P:System.Collections.IEnumerator.Current"/> returns the value it would have returned before the collection was modified.</para>
								<para>It is also required that <see cref="P:System.Collections.IEnumerator.Current"/> not change the position of
   the current instance: consecutive calls to <see cref="P:System.Collections.IEnumerator.Current"/> are required to return the same object until
   either <see cref="M:System.Collections.IEnumerator.MoveNext"/> or <see cref="M:System.Collections.IEnumerator.Reset"/> is called.</para>
								<para>This property is read-only.</para>
							</block>
							<para>
								<block subset="none" type="usage">Use <see cref="P:System.Collections.IEnumerator.Current"/> to get the element in
the collection over which the current instance is positioned, provided that the current
instance is not positioned before the first element
or after the last element of the collection.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MoveNext">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract bool MoveNext()"/>
					<MemberSignature Language="C#" Value="bool MoveNext();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Advances the current instance to the next element of the collection.</para>
						</summary>
						<returns>
							<para>
								<see langword="true"/> if the current instance was successfully advanced to the next element;
<see langword="false"/> if the current instance has passed the end of the collection.</para>
						</returns>
						<exception cref="T:System.InvalidOperationException">
							<para>The collection was modified after the current instance was instantiated.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">When the current
      instance is constructed or after <see cref="M:System.Collections.IEnumerator.Reset"/> is
      called, the current instance
      is positioned immediately before the first element of the collection. Use <see cref="M:System.Collections.IEnumerator.MoveNext"/> to position it over the first
      element of the collection.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">A call to
   <see cref="M:System.Collections.IEnumerator.MoveNext"/> is required to position the
      current instance over the next element in the collection and return
   <see langword="true"/> if the current instance was not
      positioned beyond the last element of the collection when <see cref="M:System.Collections.IEnumerator.MoveNext"/> was
      called.
      If the current instance is already positioned immediately after the last
      element of the collection, a call to <see cref="M:System.Collections.IEnumerator.MoveNext"/> is required to
      return <see langword="false"/>, and the current instance
      is required to remain in the same
      position. If elements are added, removed, or repositioned in the
      collection after the current instance was instantiated, it is required that a call
      to <see cref="M:System.Collections.IEnumerator.MoveNext"/>
      throw <see cref="T:System.InvalidOperationException"/>.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use the <see cref="M:System.Collections.IEnumerator.MoveNext"/> method to check if the current
instance is positioned immediately after the last element of the collection, and
to position it over the next element if it is not already past the last element
of the collection. This allows the use of a conditional loop to iterate over the
entire collection.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Reset">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void Reset()"/>
					<MemberSignature Language="C#" Value="void Reset();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Positions the enumerator immediately before
      the first element in the collection.</para>
						</summary>
						<exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was instantiated.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">When the current instance is constructed
      or after <see cref="M:System.Collections.IEnumerator.Reset"/> is called, the current instance
      is positioned immediately before the first element of the collection, use <see cref="M:System.Collections.IEnumerator.MoveNext"/> to position the current instance
      over the first element of the collection. </block>
							</para>
							<para>
								<block subset="none" type="behaviors">A call to
      <see cref="M:System.Collections.IEnumerator.Reset"/> is required to position
      the current instance immediately before the first element of the collection.
      If elements are added, removed, or repositioned in the collection
      after the current instance was instantiated, it is required that
      a call to <see cref="M:System.Collections.IEnumerator.Reset"/> throw a <see cref="T:System.InvalidOperationException"/>.</block>
							</para>
							<para>
								<block subset="none" type="overrides">A call to <see cref="M:System.Collections.IEnumerator.Reset"/> can involve taking a new snapshot of the
collection or simply moving to the beginning of the collection. The preferred
implementation is to simply move the current instance to
the beginning of the collection, before the first
element. This invalidates the current instance
if the collection has been modified since the current instance was
constructed, which is consistent with <see cref="M:System.Collections.IEnumerator.MoveNext"/> and <see cref="P:System.Collections.IEnumerator.Current"/>.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use the <see cref="M:System.Collections.IEnumerator.MoveNext"/> method to check if the current
instance is positioned immediately past the last element of the collection, and
to position it over the next element if it is not already past the last element
of the collection.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IFormatProvider" FullName="System.IFormatProvider" FullNameSP="System_IFormatProvider">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IFormatProvider"/>
			<TypeSignature Language="C#" Value="public interface IFormatProvider"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Implemented by classes that supply objects that provide formatting
      services.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>When a <paramref name="format specifier"/> includes symbols that
      vary by culture, such as the currency symbol included by the "C" and "c"
      formats, a <paramref name="formatting object"/>
      supplies the actual characters used in a string representation of a numeric
      value. For example, a formatting object may supply "$" for the currency symbol.
      The formatting object for system-supplied numeric types is a <see cref="T:System.Globalization.NumberFormatInfo"/>
      instance. For <see cref="T:System.DateTime"/> instances, a <see cref="T:System.Globalization.DateTimeFormatInfo"/> is used.</para>
						<para>
							<see cref="T:System.IFormatProvider"/> contains the <see cref="M:System.IFormatProvider.GetFormat(System.Type)"/> method. The consumer of an object
   should call this method to obtain a formatting object.</para>
					</block>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Members>
				<Member MemberName="GetFormat">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract object GetFormat(class System.Type formatType)"/>
					<MemberSignature Language="C#" Value="object GetFormat(Type formatType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="formatType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Object"/> that provides formatting services.</para>
						</summary>
						<param name="formatType">The <see cref="T:System.Type"/> of the formatting object to be returned.</param>
						<returns>
							<para>A formatting object of the specified <see cref="T:System.Type"/>. If no formatting
   object of the specified type is available, or <paramref name="formatType"/> is a null reference, returns the formatting object
   for the current culture.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Implement in 
      classes that provide formatting objects for use in methods that generate or
      parse string representations of objects, such as <see langword="ToString"/> and
   <see langword="Parse"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IFormattable" FullName="System.IFormattable" FullNameSP="System_IFormattable">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IFormattable"/>
			<TypeSignature Language="C#" Value="public interface IFormattable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Implemented by classes that construct customizable string representations of
      objects.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<see cref="T:System.IFormattable"/>
contains the <see cref="M:System.IFormattable.ToString(System.String,System.IFormatProvider)"/> method. The consumer of an object calls
this method to obtain a formatted string representation of the value of the
object.</block>
					<para>A <paramref name="format"/> is a string that describes the appearance of an object when
it is converted to a string. Either standard or custom formats can be used. A
standard format takes the form <paramref name="Axx"/>, where <paramref name="A"/> is a single
alphabetic character called the <paramref name="format specifier"/>
, and <paramref name="xx"/> is an integer between zero and 99 inclusive, called the <paramref name="precision specifier"/>. The format specifier controls the type
of formatting applied to the value being represented as a string. The
<paramref name="precision specifier"/> controls the number 
of significant digits or decimal places in the string, if applicable. <block subset="none" type="note"> For the list of standard format specifiers, see the
table below. Note that a given data type, such as <see cref="T:System.Int32"/>
, might not support one
or more of the standard format specifiers.</block>
					</para>
					<para>
						<block subset="none" type="note"> When a format includes symbols that vary by culture, such as the currency
   symbol included by the "C" and "c" formats, a formatting object supplies the
   actual characters used in the string representation. A method may include a
   parameter to pass a <see cref="T:System.IFormatProvider"/> object that supplies a
   formatting object, or the method may use the default formatting object, which
   contains the symbol definitions for the current culture. The current culture
   typically uses the same set of symbols used system-wide by default. In the Base
   Class Library, the formatting object for system-supplied numeric types is a
<see cref="T:System.Globalization.NumberFormatInfo"/> instance. For <see cref="T:System.DateTime"/> instances, a 
<see cref="T:System.Globalization.DateTimeFormatInfo"/> is
   used.</block>
					</para>
					<para>The following table describes the standard format specifiers and associated formatting
   object members that are used with numeric data types in the Base Class
   Library.</para>
					<list type="table">
						<listheader>
							<term>Format Specifier</term>
							<description>Description</description>
						</listheader>
						<item>
							<term>
								<para>
									<see langword="C"/>
								</para>
								<para>
									<see langword="c"/>
								</para>
							</term>
							<description>
								<para>
									<see langword="Currency Format"/>: Used for strings containing a monetary value. The <see cref="P:System.Globalization.NumberFormatInfo.CurrencySymbol"/>, <see cref="P:System.Globalization.NumberFormatInfo.CurrencyGroupSizes"/>, <see cref="P:System.Globalization.NumberFormatInfo.CurrencyGroupSeparator"/>, and <see cref="P:System.Globalization.NumberFormatInfo.CurrencyDecimalSeparator"/> members of a <see cref="T:System.Globalization.NumberFormatInfo"/>
supply the currency symbol, size and separator for digit groupings, and
decimal separator, respectively.</para>
								<para>
									<see cref="P:System.Globalization.NumberFormatInfo.CurrencyNegativePattern"/> and <see cref="P:System.Globalization.NumberFormatInfo.CurrencyPositivePattern"/> determine the symbols used to represent negative
and positive values. For example, a negative value may be prefixed with a
minus sign, or enclosed in parentheses. </para>
								<para>If the precision specifier is omitted, <see cref="P:System.Globalization.NumberFormatInfo.CurrencyDecimalDigits"/> determines the number of decimal places in the
string. Results are rounded to the nearest representable value when
necessary.</para>
							</description>
						</item>
						<item>
							<term>
								<para>
									<see langword="D"/>
								</para>
								<para>
									<see langword="d"/>
								</para>
							</term>
							<description>
								<para>
									<see langword="Decimal Format"/>: (This format is valid only
when specified with integral data types.) Used for strings containing
integer values. Negative numbers are prefixed with the negative number
symbol specified by the <see cref="P:System.Globalization.NumberFormatInfo.NegativeSign"/>
property.</para>
								<para>The precision specifier determines the
   minimum number of digits that appear in the string. If the specified
   precision requires more digits than the value contains, the string is
   left-padded with zeros. If the precision specifier specifies fewer digits
   than are in the value, the precision specifier is
   ignored.</para>
							</description>
						</item>
						<item>
							<term>
								<para>
									<see langword="E"/>
								</para>
								<para>
									<see langword="e"/>
								</para>
							</term>
							<description>
								<para>
									<see langword="Scientific (Engineering) Format"/>: Used for strings in
one of the following forms: </para>
								<para>[-]<paramref name="m.ddddddE+xxx"/>
								</para>
								<para>[-]<paramref name="m.ddddddE-xxx"/>
								</para>
								<para>[-]<paramref name="m.dddddd"/>e<paramref name="+xxx"/>
								</para>
								<para>[-]<paramref name="m.dddddd"/>e<paramref name="-xxx"/>
								</para>
								<para>The negative number symbol ('-') appears only if
   the value is negative, and is supplied by the <see cref="P:System.Globalization.NumberFormatInfo.NegativeSign"/> property.
   </para>
								<para>Exactly one non-zero decimal digit <paramref name="(m)"/> precedes the decimal separator ('.'), which
is supplied by the <see cref="P:System.Globalization.NumberFormatInfo.NumberDecimalSeparator"/>
property.</para>
								<para> The precision specifier determines the number of decimal places
   (<paramref name="dddddd"/>
   ) in the string. If the precision specifier
   is omitted, six decimal places are included in the
   string.</para>
								<para> The exponent
<paramref name="(+/-xxx"/>) 
   consists of either a positive or negative number symbol followed by a
   minimum of three digits (<paramref name="xxx"/>). The exponent is
   left-padded with zeros, if necessary. The case of the format specifier
   ('E' or 'e') determines the case used for the exponent prefix (E or e) in
   the string. Results are rounded to the nearest representable value when
   necessary. The positive number symbol is supplied by the <see cref="P:System.Globalization.NumberFormatInfo.PositiveSign"/>
   
   property.</para>
							</description>
						</item>
						<item>
							<term>
								<para>
									<see langword="F"/>
								</para>
								<para>
									<see langword="f"/>
								</para>
							</term>
							<description>
								<para>
									<see langword="Fixed-Point Format"/>: Used for strings in the following
form: </para>
								<para>"[-]<paramref name="m.dd...d"/>" </para>
								<para>At least one non-zero decimal digit (<paramref name="m"/>) precedes the decimal separator ('.'), which is
supplied by the <see cref="P:System.Globalization.NumberFormatInfo.NumberDecimalSeparator"/>
property.</para>
								<para> A
   negative number symbol sign ('-') precedes <paramref name="m"/> only if the value is negative. This symbol is
   supplied by the <see cref="P:System.Globalization.NumberFormatInfo.NegativeSign"/>
   property. </para>
								<para> The precision specifier determines the number of decimal places
   (<paramref name="dd...d"/>) in the string. If the precision specifier is omitted,
<see cref="P:System.Globalization.NumberFormatInfo.NumberDecimalDigits"/> determines the number of decimal 
   places in the string. Results are rounded to the nearest representable
   value when necessary.</para>
							</description>
						</item>
						<item>
							<term>
								<para>
									<see langword="G"/>
								</para>
								<para>
									<see langword="g"/>
								</para>
							</term>
							<description>
								<para>
									<see langword="General Format"/>: The string is formatted in either fixed-point format ('F' or 'f') or scientific format ('E' or 'e'). </para>
								<para> For integral types: </para>
								<para> Values are formatted using fixed-point format if
<paramref name="exponent"/> &lt; precision specifier, where <paramref name="exponent "/> is the exponent of the value in scientific format. For all other values, scientific format is used.</para>
								<para> If the precision specifier is omitted, a default
   precision equal to the field width required
   to display the
   maximum value for the data
   type is used, which results in the value being formatted in
   fixed-point format. The default precisions for integral types are as
   follows: </para>
								<para>
									<see cref="T:System.Int16"/>, <see cref="T:System.UInt16"/> - 5</para>
								<para>
									<see cref="T:System.Int32"/>,
<see cref="T:System.UInt32"/>- 10</para>
								<para>
									<see cref="T:System.Int64"/>,
<see cref="T:System.UInt64"/> - 
19</para>
								<para>For Single, Decimal and Double
   types:</para>
								<para>Values are formatted using fixed-point format
   if <paramref name="exponent"/>
   &gt;= -4 and <paramref name="exponent"/> &lt; precision specifier, where <paramref name="exponent"/> is
   the exponent of the value in scientific format. For all other values,
   scientific format is used. <SPAN>Results
   are rounded to the nearest representable value when necessary.</SPAN>
								</para>
								<para>
									<SPAN>If
   the precision specifier is omitted, the following default precisions are
   used:</SPAN>
								</para>
								<SPAN>
									<para>
										<see cref="T:System.Single"/>
: 7</para>
									<para>
										<see cref="T:System.Double"/>
: 15</para>
									<para>
										<see cref="T:System.Decimal"/>
: 29</para>
								</SPAN>
								<para>
									<SPAN>For
   all types:</SPAN>
								</para>
								<para>
									<SPAN>- The
   number of digits that appear in the result (not including the exponent)
   will not exceed the value of the precision specifier; values are rounded
   as necessary.</SPAN>
								</para>
								<para>
									<SPAN>- The
   decimal point and any trailing zeros after the decimal point are removed
   whenever possible.</SPAN>
								</para>
								<para>
									<SPAN>- The
   case of the format specifier ('G' or 'g') determines whether 'E' or 'e'
   prefixes the scientific format exponent.</SPAN>
								</para>
							</description>
						</item>
						<item>
							<term>
								<para>
									<see langword="N"/>
								</para>
								<para>
									<see langword="n"/>
								</para>
							</term>
							<description>
								<para>
									<see langword="Number Format"/>: Used for strings in the following form: </para>
								<para>[-]<paramref name="d,ddd,ddd.dd...d"/>
								</para>
								<para> The representation of negative values is
   determined by the <see cref="P:System.Globalization.NumberFormatInfo.NumberNegativePattern"/>property. If the pattern includes a negative number
   symbol ('-'), this symbol is supplied by the <see cref="P:System.Globalization.NumberFormatInfo.NegativeSign"/>
   property.</para>
								<para>At least one non-zero decimal digit (<paramref name="d"/>) precedes
the decimal separator ('.'), which is supplied by the <see cref="P:System.Globalization.NumberFormatInfo.NumberDecimalSeparator"/> property. Digits between the decimal
point and the most significant digit in the value are grouped using the
group size specified by the <see cref="P:System.Globalization.NumberFormatInfo.NumberGroupSizes"/> property. The group separator (',')
is inserted between each digit group, and is supplied by the <see cref="P:System.Globalization.NumberFormatInfo.NumberGroupSeparator"/>
property.</para>
								<para>The precision specifier determines the number of
   decimal places (<paramref name="dd...d"/>). If the precision specifier is omitted,
<see cref="P:System.Globalization.NumberFormatInfo.NumberDecimalDigits"/> determines the number of decimal places in the
   string. Results are rounded to the nearest representable value when
   necessary.</para>
							</description>
						</item>
						<item>
							<term>
								<para>
									<see langword="P"/>
								</para>
								<para>
									<see langword="p"/>
								</para>
							</term>
							<description>
								<para>
									<see langword="Percent Format:"/> Used for strings containing a
percentage. The <see cref="P:System.Globalization.NumberFormatInfo.PercentSymbol"/>, <see cref="P:System.Globalization.NumberFormatInfo.PercentGroupSizes"/>, <see cref="P:System.Globalization.NumberFormatInfo.PercentGroupSeparator"/>, and <see cref="P:System.Globalization.NumberFormatInfo.PercentDecimalSeparator"/> members of a <see cref="T:System.Globalization.NumberFormatInfo"/>
supply the percent symbol, size and separator for digit groupings, and
decimal separator, respectively.</para>
								<para>
									<see cref="P:System.Globalization.NumberFormatInfo.PercentNegativePattern"/> and <see cref="P:System.Globalization.NumberFormatInfo.PercentPositivePattern"/> determine the symbols used to represent negative
and positive values. For example, a negative value may be prefixed with a
minus sign, or enclosed in parentheses. </para>
								<para>If no precision is specified, the number of decimal places in the
   result is determined by <see cref="P:System.Globalization.NumberFormatInfo.PercentDecimalDigits"/>. Results are rounded to the nearest representable
   value when necessary.</para>
								<para>The result is scaled by 100 (.99 becomes 99%).</para>
							</description>
						</item>
						<item>
							<term>
								<para>
									<see langword="R"/>
								</para>
								<para>
									<see langword="r"/>
								</para>
							</term>
							<description>
								<see langword="Round trip Format"/>: (This format is valid only when
specified with <see cref="T:System.Double"/> or <see cref="T:System.Single"/>.) Used to ensure that the precision of the string
representation of a floating-point value is such that parsing the string
does not result in a loss of precision when compared to the original
value. If the maximum precision of the data type (7 for <see cref="T:System.Single"/>, and 15 for
<see cref="T:System.Double"/>) would result in a loss of precision, the precision 
is increased by
two decimal places. If a precision specifier is supplied with this format specifier,
it is ignored. This format is otherwise identical to the fixed-point
format.</description>
						</item>
						<item>
							<term>
								<para>
									<see langword="X"/>
								</para>
								<para>
									<see langword="x"/>
								</para>
							</term>
							<description>
								<see langword="Hexadecimal Format"/>: (This format is valid only when
specified with integral data types.) Used for string representations of numbers in Base
16. The precision determines the minimum number of digits in
the string. If the precision specifies more digits than the number contains,
the number is left-padded with zeros. The case of the format specifier
('X' or 'x') determines whether upper case or lower case
letters are used in the hexadecimal representation.</description>
						</item>
					</list>
					<para>If the numerical value is a <see cref="T:System.Single"/> or <see cref="T:System.Double"/> with a value of
<see langword="NaN"/>,
<see langword="PositiveInfinity"/>, or <see langword="NegativeInfinity"/>, the format 
specifier is ignored, and one of the following is returned: <see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol"/>, <see cref="P:System.Globalization.NumberFormatInfo.PositiveInfinitySymbol"/>, or <see cref="P:System.Globalization.NumberFormatInfo.NegativeInfinitySymbol"/>.</para>
					<para>A custom format is any string specified as a format that
   is not in the form of a standard format string (Axx) described above. The
   following table describes the characters that are used in constructing custom
   formats.</para>
					<list type="table">
						<listheader>
							<term>Format Specifier</term>
							<description>Description</description>
						</listheader>
						<item>
							<term> 0 (zero)</term>
							<description>
								<para>
									<see langword="Zero placeholder:"/>
   If
   the value being formatted has a digit in the position where a '0' appears in the custom format, then that digit is copied to the output string;
   otherwise a zero is stored in that position in the output string. The
   position of the leftmost '0' before the decimal separator and the
   rightmost '0' after the decimal separator determine the range of digits
   that are always present in the output string.</para>
								<para>
   
   The number of Zero and/or Digit placeholders after
   the decimal separator determines the number of digits that appear after
   the decimal separator. Values are rounded as necessary.</para>
							</description>
						</item>
						<item>
							<term> # </term>
							<description>
								<para>
									<see langword="Digit placeholder:"/>
If the value being formatted has a digit in
the position where a '#' appears in the custom format, then that digit
is copied to the output string; otherwise, nothing is stored in that
position in the output string. Note that this specifier never stores the
'0' character if it is not a significant digit, even if '0' is the only
digit in the string. (It does display the '0' character in the output string
if it is a significant digit.)</para>
								<para>
   
   
   The number of Zero and/or Digit
   placeholders after the decimal separator determines the number of digits that appear after the decimal
   separator. Values are rounded as necessary.</para>
							</description>
						</item>
						<item>
							<term> . (period)</term>
							<description>
								<see langword="Decimal separator:"/>
The left most '.'
character in the format string determines the location of the
decimal separator in the formatted value; any additional '.' characters are
ignored. The <see cref="P:System.Globalization.NumberFormatInfo.NumberDecimalSeparator"/> property determines
the symbol used as the decimal
separator.</description>
						</item>
						<item>
							<term> , (comma)</term>
							<description>
								<para>
									<see langword="Group separator and number scaling:"/>
The ',' character serves two purposes. First,
if the custom format contains this character between two Zero or Digit placeholders (0 or #)
and to the left of the decimal separator if one is present,
then the output will have group separators inserted between each group of digits
to the left of the decimal separator. The <see cref="P:System.Globalization.NumberFormatInfo.NumberGroupSeparator"/>
and <see cref="P:System.Globalization.NumberFormatInfo.NumberGroupSizes"/>
properties determine the symbol used as the group separator and
the number of digits in each group, respectively.</para>
								<para>If
   the format
   string contains one or more ',' characters immediately to the left of
   the decimal separator, then the number will be scaled. The scale factor is
   determined by the number of group separator characters immediately to the
   left of the decimal separator. If there are x characters, then the value is
   divided by 1000<sup>X</sup> before it is formatted. For example, the format string '0,,'
will divide a value by one million. Note that the presence of the ','
character to indicate scaling does not insert group separators in the
output string. Thus, to scale a number by 1 million and insert group
separators, use a custom format similar to "#,##0,,".</para>
							</description>
						</item>
						<item>
							<term> %
      (percent) </term>
							<description>
								<see langword="Percentage placeholder:"/>
The presence of a '%' character
in a custom format causes a number to be multiplied by 100
before it is formatted. The percent symbol is inserted in the output string
at the location where the '%' appears in the format string. The <see cref="P:System.Globalization.NumberFormatInfo.PercentSymbol"/> property determines
the percent
symbol.</description>
						</item>
						<item>
							<term>
								<para>E0</para>
								<para>E+0</para>
								<para>E-0</para>
								<para>e0</para>
								<para>e+0</para>
								<para>e-0</para>
							</term>
							<description>
								<see langword="Engineering format:"/> If any of the strings 'E', 'E+', 'E-', 'e', 'e+', or 'e-' are present
   in a custom format and is followed immediately by at least one '0'
   character, then the value is formatted using scientific notation. The number
   of '0' characters following the exponent prefix (E or e) determines the
   minimum number of digits in the exponent. The 'E+' and 'e+' formats indicate
   that a positive or negative number symbol always precedes the
   exponent. The 'E', 'E-', 'e', or 'e-' formats indicate that a negative number symbol
   precedes negative exponents; no symbol is precedes positive exponents. The
   positive number symbol is supplied by the <see cref="P:System.Globalization.NumberFormatInfo.PositiveSign"/> property. The negative number symbol
   is supplied by the <see cref="P:System.Globalization.NumberFormatInfo.NegativeSign"/>
   
   property.</description>
						</item>
						<item>
							<term> \
      (backslash) </term>
							<description>
								<see langword="Escape character:"/> In some languages, such as C#, the
   backslash character causes the next character in the custom format to be interpreted
   as an escape sequence. It is used with C language
   formatting sequences, such as "\n" (newline). In some languages, the escape character
   itself is required to be preceded by an escape character
   when used as a literal. Otherwise, the compiler interprets the character as
   an escape sequence. This escape character is not required to be
   supported in all programming languages.</description>
						</item>
						<item>
							<term>
								<para>'ABC'</para>
								<para>"ABC"</para>
							</term>
							<description>
								<see langword="Literal string:"/> Characters enclosed in single or double quotes are
   copied to the output string literally, and do not affect formatting.</description>
						</item>
						<item>
							<term> ; (semicolon)</term>
							<description>
								<see langword="Section separator:"/> The ';' character is used to separate sections for
   positive, negative, and zero numbers in the format string. (This feature
   is described in detail below.)</description>
						</item>
						<item>
							<term> Other</term>
							<description>
								<see langword="All other characters:"/> All other characters are stored in the output
   string as literals in the position in which they
   appear.</description>
						</item>
					</list>
					<para>Note that for fixed-point format strings (strings not containing an 'E0',
   E+0', 'E-0', 'e0', 'e+0', or 'e-0'), numbers are rounded to as many decimal
   places as there are Zero or Digit placeholders to the right of the decimal
   separator. If the custom format does not contain a decimal separator, the number is
   rounded to the nearest integer. If the number has more digits than there are
   Zero or Digit placeholders to the left of the decimal separator, the extra
   digits are copied to the output string immediately before the first Zero or
   Digit placeholder.</para>
					<para> A custom format can contain
   up to three sections separated by section separator characters, to specify different formatting for
   positive, negative, and zero values. The sections are interpreted as follows:</para>
					<list type="bullet">
						<item>
							<term>
								<see langword="One section:"/> The
   custom format applies to all values (positive, negative and zero). Negative
   values include a negative sign.</term>
						</item>
						<item>
							<term>
								<see langword="Two sections:"/> The
   first section applies to positive values and zeros, and the second section
   applies to negative values. If the value to be formatted is negative, but
   becomes zero after rounding according to the format in the second section,
   then the resulting zero is formatted according to the first section. Negative
   values do not include a negative sign to allow full control over
   representations of negative values. For example, a negative can be represented
   in parenthesis using a custom format similar to "####.####;(####.####)".</term>
						</item>
						<item>
							<term>
								<see langword="Three sections:"/>
The first section applies to positive values, the second section
applies to negative values, and the third section applies to zeros. The
second section can be empty (nothing appears between the semicolons), in which case the
first section applies to all nonzero values, and negative values include a
negative sign. If the number to be formatted is nonzero, but becomes zero
after rounding according to the format in the first or second section, then
the resulting zero is formatted according to the third section.</term>
						</item>
					</list>The <see cref="T:System.Enum"/> and <see cref="T:System.DateTime"/> types also support using format specifiers to format
string representations of values. The meaning of a specific format specifier
varies according to the kind of data (numeric, date/time, enumeration) being
formatted. See <see cref="T:System.Enum"/> and <see cref="T:System.Globalization.DateTimeFormatInfo"/> for a comprehensive list
of the format specifiers supported by each type.
</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Members>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract string ToString(string format, class System.IFormatProvider formatProvider)"/>
					<MemberSignature Language="C#" Value="string ToString(string format, IFormatProvider formatProvider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="formatProvider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<param name="format">
							<para>A <see cref="T:System.String"/> that specifies the format of the returned string. If <paramref name="format"/> is a null reference or the empty string, the default format defined for the type of the current instance is used.</para>
						</param>
						<param name="formatProvider">A <see cref="T:System.IFormatProvider"/> that supplies a formatting object containing culture-specific formatting information, or <see langword="null"/> .</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing the value of the current instance formatted
   in accordance with <paramref name="format"/> and <paramref name="formatProvider"/> .</para>
						</returns>
						<exception cref="T:System.FormatException">The specified <paramref name="format"/> is invalid or cannot be used with the type of the current instance.</exception>
						<remarks>
							<block subset="none" type="behaviors">
								<para>Conforming implementations do not throw an exception when <paramref name="format"/>
   and/or <paramref name="formatProvider"/> are null references. If <paramref name="formatProvider"/> is a null reference, the string is
   constructed using a system-supplied formatting object containing information for
   the current system culture. If <paramref name="format"/> is <see langword="null"/>, the
   string is constructed using a system-supplied default format appropriate for the
   type of the current instance.</para>
								<para>If the object returned by <paramref name="formatProvider"/>
supplies a culture-specific representation of symbols or patterns included in
<paramref name="format"/>, the returned string is required to use the information supplied 
by <paramref name="formatProvider"/>
. </para>
							</block>
							<para>
								<block subset="none" type="overrides">Implement to allow consumers of a class to use format strings and formatting
   objects to control the way in which the class is represented as a string.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.IFormattable.ToString(System.String,System.IFormatProvider)"/>
method to display values in a variety of formats. The current system culture is
U.S. English, which provides the default values for the <paramref name="formatProvider"/>
parameter of <see cref="M:System.IFormattable.ToString(System.String,System.IFormatProvider)"/>.</para>
							<code lang="C#">using System;
class FormattableExample {
    public static void Main() {
    double d = 123.12345678901234;
    string[] formats = {"C","E","e","F","G","N","P","R"};
    for (int i = 0; i&lt; formats.Length;i++) 
        Console.WriteLine("{0:R} as {1}:  {2}",d,formats[i],d.ToString(formats[i],null));

    string[]intFormats = {"D","x","X"};
    int val = 255;
    for (int i = 0; i&lt; intFormats.Length;i++) 
        Console.WriteLine("{0} as {1}:  {2}",val,intFormats[i],val.ToString(intFormats[i],null));

    }
}
</code>
							<para>The output is</para>
							<c>
								<para>123.12345678901234 as C: $123.12</para>
								<para>123.12345678901234 as E: 1.231235E+002</para>
								<para>123.12345678901234 as e: 1.231235e+002</para>
								<para>123.12345678901234 as F: 123.12</para>
								<para>123.12345678901234 as G: 123.123456789012</para>
								<para>123.12345678901234 as N: 123.12</para>
								<para>123.12345678901234 as P: 12,312.35 %</para>
								<para>123.12345678901234 as R: 123.12345678901234</para>
								<para>255 as D: 255</para>
								<para>255 as x: ff</para>
								<para>255 as X: FF</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IHashCodeProvider" FullName="System.Collections.IHashCodeProvider" FullNameSP="System_Collections_IHashCodeProvider">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IHashCodeProvider"/>
			<TypeSignature Language="C#" Value="public interface IHashCodeProvider"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Implemented by classes that support custom hash functions for instances of the class.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">
							<see cref="T:System.Collections.IHashCodeProvider"/> contains the <see cref="M:System.Collections.IHashCodeProvider.GetHashCode(System.Object)"/> method. The consumer of an
 object should call this method to obtain a hash code for the object using a
 custom hash function.</block>
					</para>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Members>
				<Member MemberName="GetHashCode">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 GetHashCode(object obj)"/>
					<MemberSignature Language="C#" Value="int GetHashCode(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Generates a hash code for the specified <see cref="T:System.Object"/>.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> for which a hash code is to be generated.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for the specified <see cref="T:System.Object"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="obj "/> is <see langword="null"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">If <paramref name="obj"/> is <see langword="null"/>, it is required that a call to
<see cref="M:System.Collections.IHashCodeProvider.GetHashCode(System.Object)"/> throw <see cref="T:System.ArgumentNullException"/>.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Implement
   this method to generate a better hash table
   distribution than the default method provided by the type of the <see cref="T:System.Object"/> for which the hash code is
   being generated.</block>
							</para>
							<para>
								<block subset="none" type="usage">The value returned by this method
   should not be persisted past the lifetime of the application that created the
   value. The first reason is that the hash function of a class may be
   altered to generate a better distribution, rendering any values from the old
   hash function useless. The second reason is that the default
   implementation of this class does not guarantee that the same value will be
   returned by different instances.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IList" FullName="System.Collections.IList" FullNameSP="System_Collections_IList">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IList implements System.Collections.ICollection, System.Collections.IEnumerable"/>
			<TypeSignature Language="C#" Value="public interface IList : ICollection, IEnumerable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Implemented by
 classes that support a collection of objects that can be individually indexed.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">
							<see cref="T:System.Collections.IList"/> implementations fall into three categories:
 read-only, fixed-size, variable-size. A read-only list cannot be modified. A
 fixed-size list allows the modification of existing elements, but does not
 allow the addition or removal of elements. A variable-size list allows the modification, addition, and
 removal of elements.</block>
					</para>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Collections.ICollection</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.Collections.IEnumerable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Attributes>
				<Attribute>
					<AttributeName>DefaultMemberAttribute("Item")</AttributeName>
					<Excluded>1</Excluded>
					<ExcludedTypeName>System.Reflection.DefaultMemberAttribute</ExcludedTypeName>
					<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="Add">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 Add(object value)"/>
					<MemberSignature Language="C#" Value="int Add(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Adds an item to the current instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to add to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the index of the current instance into which the new element was inserted.</para>
						</returns>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use
      the <see cref="M:System.Collections.IList.Add(System.Object)"/> method to add another element to the
      current instance. The index into which that element is
      added is implementation-dependent. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Clear">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void Clear()"/>
					<MemberSignature Language="C#" Value="void Clear();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Removes all items from the current instance.</para>
						</summary>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only. </para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Implementations 
      of this method can vary in how a call to this method affects the capacity of a list. Typically, the count
      is set to zero. The capacity can be set to zero, some default, or remain
      unchanged.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to
      delete all values from the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Contains">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract bool Contains(object value)"/>
					<MemberSignature Language="C#" Value="bool Contains(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the current instance contains a specific value.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to locate in the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if the <see cref="T:System.Object"/> is found in the current instance; otherwise, <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use the <see cref="M:System.Collections.IList.Contains(System.Object)"/> method to determine if a particular <see cref="T:System.Object"/> is an element of the current
   instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 IndexOf(object value)"/>
					<MemberSignature Language="C#" Value="int IndexOf(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines the index of a specific item in the current
      instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to locate in the current instance.</param>
						<returns>
							<para>The index of <paramref name="value"/> if found
   in the current instance; otherwise, -1.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">The default
      implementations of this method use <see cref="M:System.Object.Equals(System.Object)"/> to search for value in the
      current instance.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use <see cref="M:System.Collections.IList.IndexOf(System.Object)"/> to determine if a <see cref="T:System.Object"/> is contained in the current instance and, if it is
contained, its index in the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void Insert(int32 index, object value)"/>
					<MemberSignature Language="C#" Value="void Insert(int index, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Inserts an item to the current instance at the
      specified position.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the zero-based index at which <paramref name="value"/> is inserted.</param>
						<param name="value">The <see cref="T:System.Object"/> to insert into the current instance.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> is not a valid index in the current instance (i.e. is greater than the number of elements in the current instance).</exception>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors"> If <paramref name="index"/> equals the number
   of items in the <see cref="T:System.Collections.IList"/>, then <paramref name="value"/> is
   required to be appended
   to the end of the current instance.
   
</block>
							</para>
							<para>
								<block subset="none" type="usage">Use <see cref="M:System.Collections.IList.Insert(System.Int32,System.Object)"/>
to place a new element into a specific position in the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsFixedSize">
					<MemberSignature Language="ILASM" Value=".property bool IsFixedSize { public hidebysig virtual abstract specialname bool get_IsFixedSize() }"/>
					<MemberSignature Language="C#" Value="bool IsFixedSize { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating whether the current instance has a fixed size.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the
   current instance has a fixed size; otherwise,
<see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">A collection with a fixed size does not
      allow the addition or removal of elements, but it allows the modification of
      existing elements.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">Any method that adds or removes an
      element of a collection is required to check the value of this property for
      the particular collection before adding or removing elements. If the
      value of this property is <see langword="false"/>, any
      attempt to add or remove an element
      of the current instance is required to throw a <see cref="T:System.NotSupportedException"/>.</block>
							</para>
							<para>
								<block subset="none" type="default">The default of this property is <see langword="false"/>.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this property, setting the
   value to <see langword="true"/>, in order to prevent the addition or removal of
   elements in the current instance.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use
<see cref="P:System.Collections.IList.IsFixedSize"/> to secure
   the current instance from
   modification from methods, such as <see cref="M:System.Collections.IList.Add(System.Object)"/> and <see cref="M:System.Collections.IList.Remove(System.Object)"/>, which add or remove elements from a
   list.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsReadOnly">
					<MemberSignature Language="ILASM" Value=".property bool IsReadOnly { public hidebysig virtual abstract specialname bool get_IsReadOnly() }"/>
					<MemberSignature Language="C#" Value="bool IsReadOnly { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a value indicating whether the current instance is read-only.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the
   current instance is read-only; otherwise,
<see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">A collection that is read-only does not
      allow the modification, addition, or removal of elements.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">Any method that modifies,
      adds, or removes an element of a collection is required to check the
      value of this property for the particular collection before
      executing. If the value of this property is <see langword="false"/>, any
      attempt to
      modify, add, or remove an element of the current instance is required to throw
      a <see cref="T:System.NotSupportedException"/>.
      </block>
							</para>
							<para>
								<block subset="none" type="default">The default of this property is
      <see langword="false"/>.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this property, setting the
      value to <see langword="true"/>, in order to prevent the
      modification, addition, or removal of elements in the current
      instance.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use <see cref="P:System.Collections.IList.IsReadOnly"/> to
   secure the current instance from
   modification from methods, such as <see cref="M:System.Collections.IList.Add(System.Object)"/> and <see cref="M:System.Collections.IList.Remove(System.Object)"/>, which modify, add, or remove elements
   from a list.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Item">
					<MemberSignature Language="ILASM" Value=".property object Item[int32 index] { public hidebysig virtual abstract specialname object get_Item(int32 index) public hidebysig virtual abstract specialname void set_Item(int32 index, object value) }"/>
					<MemberSignature Language="C#" Value="object this[int index] { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Gets or sets the element at the specified index in the current
      instance.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the zero-based index of the element to get or set.</param>
						<value>
							<para>The element at the specified index in the current instance.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> is not a valid index in the current instance.</exception>
						<exception cref="T:System.NotSupportedException">The property is being set and the current instance is read-only.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this property
      for subscript indexing for the current instance in the following form: <c> myCollection[index]</c>.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Remove">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void Remove(object value)"/>
					<MemberSignature Language="C#" Value="void Remove(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Removes the first occurrence of a specified <see cref="T:System.Object"/> from
   the current instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to remove from the current instance.</param>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<block subset="none" type="behaviors">
								<para>As described above.</para>
								<para>In addition, if <paramref name="value"/>
   is <see langword="null"/> or is not found in the current instance, it is required that no
   exception be thrown and the current instance remain unchanged.</para>
							</block>
							<para>
								<block subset="none" type="overrides">The default implementations
   of this method use <see cref="M:System.Object.Equals(System.Object)"/> to search for value
   in the current instance.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use <see cref="M:System.Collections.IList.Remove(System.Object)"/>
to delete a specified <see cref="T:System.Object"/> from the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RemoveAt">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void RemoveAt(int32 index)"/>
					<MemberSignature Language="C#" Value="void RemoveAt(int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Removes the item at the specified
      index of the current instance.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the zero-based index of the item to remove.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> is not a valid index in current instance.</exception>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only or has a fixed size.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use <see cref="M:System.Collections.IList.RemoveAt(System.Int32)"/> to delete a specified <see cref="T:System.Object"/> from the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IndexOutOfRangeException" FullName="System.IndexOutOfRangeException" FullNameSP="System_IndexOutOfRangeException">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable IndexOutOfRangeException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public sealed class IndexOutOfRangeException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when
      an attempt is made to access an element of an array with
      an index that is outside the bounds of the array.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>The following IL instructions throw <see cref="T:System.IndexOutOfRangeException"/>
   :</para>
						<list type="bullet">
							<item>
								<term>
      ldelem.&lt;type&gt;</term>
							</item>
							<item>
								<term>
      ldelema</term>
							</item>
							<item>
								<term>
      stelem.&lt;type&gt;</term>
							</item>
						</list>
					</block>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes
      a <see cref="T:System.IndexOutOfRangeException"/> exception.</para>
					<code lang="C#">using System;
public class IndexRangeTest {
 public static void Main() {
   int[] array = {0,0,0};
   try {
     for (int i = 0; i&lt;4; i++) {
       Console.WriteLine("array[{0}] = {1}",i,array[i]);
     }
   }
   catch (IndexOutOfRangeException e) {
     Console.WriteLine("Error: {0}",e);
   }
 }
}
   </code>
					<para>The output is</para>
					<code>
array[0] = 0
array[1] = 0
array[2] = 0
Error: System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at IndexRangeTest.Main()
 </code>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public IndexOutOfRangeException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IndexOutOfRangeException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.IndexOutOfRangeException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "An array index is out of range." This
   message takes into account the current system culture.</para>
							<para>The <see cref="!:System.IndexOutOfRangeException.InnerException"/> property is initialized to 
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public IndexOutOfRangeException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IndexOutOfRangeException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.IndexOutOfRangeException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.IndexOutOfRangeException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments. The <see cref="!:System.IndexOutOfRangeException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public IndexOutOfRangeException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IndexOutOfRangeException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.IndexOutOfRangeException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="!:System.IndexOutOfRangeException.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.IndexOutOfRangeException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments. </para>
							<para>
								<block subset="none" type="note">For information on inner exceptions, see
<see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Int16" FullName="System.Int16" FullNameSP="System_Int16">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable Int16 extends System.ValueType implements System.IComparable, System.IFormattable"/>
			<TypeSignature Language="C#" Value="public struct Int16 : IComparable, IFormattable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents a 16-bit signed integer.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Int16"/> data type represents integer values ranging from
   negative 32,768 to positive 32,767; that is, hexadecimal: 0x8000 to 0x7FFF.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IFormattable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared to the specified
      <see cref="T:System.Object"/>.</para>
						</summary>
						<param name=" value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   current instance as compared to <paramref name="value"/>. The following table defines the
   conditions under which the return value is a negative number, zero, or a
   positive number.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>Current instance &lt; <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>Current instance == <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>Current instance &gt; <paramref name="value"/>, or
<paramref name="value"/> is a null reference.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is not a <see cref="T:System.Int16"/> and is not a null reference.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is
      implemented to support the <see cref="T:System.IComparable"/>
      interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the
      specified <see cref="T:System.Object"/> represent the same type and
      value.</para>
						</summary>
						<param name=" obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> represents the
   same type and value as the current instance. If <paramref name="obj"/> is a null reference
   or is not an instance of <see cref="T:System.Int16"/>, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para>The algorithm used to
      generate the hash code is unspecified. </para>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxValue">
					<MemberSignature Language="ILASM" Value=".field public static literal int16 MaxValue = 32767"/>
					<MemberSignature Language="C#" Value="public const short MaxValue = 32767;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>32767</MemberValue>
					<Docs>
						<summary>
							<para>Contains the maximum value for the <see cref="T:System.Int16"/> type.</para>
						</summary>
						<remarks>
							<para> The value of this constant is 32,767 (hexadecimal 0X7FFF).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinValue">
					<MemberSignature Language="ILASM" Value=".field public static literal int16 MinValue = -32768"/>
					<MemberSignature Language="C#" Value="public const short MinValue = -32768;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Contains the minimum value for the <see cref="T:System.Int16"/> type.</para>
						</summary>
						<remarks>
							<para>The value of this constant is -32,768 (hexadecimal 0X8000).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 Parse(string s)"/>
					<MemberSignature Language="C#" Value="public static short Parse(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Int16"/> value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<returns>
							<para>The <see cref="T:System.Int16"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Int16.MaxValue"/> or less than <see cref="F:System.Int16.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Int16.Parse(System.String)"/> is equivalent to <see cref="M:System.Int16.Parse(System.String)"/>
(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/>, <see langword="null"/> ).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system
culture. <block subset="none" type="note"> For
more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.</block>
							</para>
							<paramref name=""/>
						</remarks>
						<example>
							<para>This example demonstrates parsing a string to a <see cref="T:System.Int16"/>.</para>
							<code lang="C#">using System;
public class Int16ParseClass {
  public static void Main() {
    string str = "  100   ";
    Console.WriteLine("String: \"{0}\" &lt;Int16&gt; {1}",str,Int16.Parse(str));
  }
}
</code>
							<para>The output is</para>
							<para>
								<c>String: "
   100 " &lt;Int16&gt; 100</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 Parse(string s, valuetype System.Globalization.NumberStyles style)"/>
					<MemberSignature Language="C#" Value="public static short Parse(string s, NumberStyles style);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Int16"/>
value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/>. </param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style. </param>
						<returns>
							<para>The <see cref="T:System.Int16"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference. </exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Int16.MaxValue"/> or less than <see cref="F:System.Int16.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Int16.Parse(System.String)"/> is equivalent to <see cref="M:System.Int16.Parse(System.String)"/>(<paramref name="s"/>, <paramref name="style"/>, <see langword="null"/> ).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system culture. <block subset="none" type="note">For more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/> .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 Parse(string s, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static short Parse(string s, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Int16"/>value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.Int16"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Int16.MaxValue"/> or less than <see cref="F:System.Int16.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Int16.Parse(System.String)"/> is equivalent to <see cref="M:System.Int16.Parse(System.String)"/>(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/>, <paramref name="provider"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the
culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> 
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
							<paramref name=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 Parse(string s, valuetype System.Globalization.NumberStyles style, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static short Parse(string s, NumberStyles style, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Int16"/>
value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/>.</param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.Int16"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Int16.MaxValue"/> or less than <see cref="F:System.Int16.MinValue"/>.</exception>
						<remarks>
							<para>The string <paramref name="s"/> is parsed using the
   culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
   instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> 
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
							<paramref name=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string takes into account the
   formatting information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by
<paramref name="provider"/>.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Int16.ToString"/> is equivalent to <see cref="M:System.Int16.ToString"/>("G",
<paramref name="provider"/>).</para>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
be obtained from <paramref name="provider"/>, the formatting information for the current
system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(string format, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of
   the current instance. </para>
						</summary>
						<param name=" format">A <see cref="T:System.String"/> containing a character that specifies the format of the returned string.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the formatting
   information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
   be obtained from <paramref name="provider"/>, the formatting information for the current
   system culture is used.</para>
							<para>If <paramref name="format"/> is a null reference, the general
format specifier "G" is used.</para>
							<block subset="none" type="note">
								<para> For a
      detailed description of formatting, see the <see cref="T:System.IFormattable"/> interface.</para>
								<para> This method is implemented
      to support the <see cref="T:System.IFormattable"/> interface.</para>
							</block>
							<para>The following table lists the characters that are valid for the <see cref="T:System.Int16"/> type.</para>
							<list type="table">
								<listheader>
									<term>Format Characters</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> "C", "c"</term>
									<description>Currency format.</description>
								</item>
								<item>
									<term> "D", "d"</term>
									<description>Decimal format.</description>
								</item>
								<item>
									<term> "E", "e"</term>
									<description>Exponential notation format.</description>
								</item>
								<item>
									<term> "F", "f"</term>
									<description>Fixed-point format.</description>
								</item>
								<item>
									<term> "G", "g"</term>
									<description>General format.</description>
								</item>
								<item>
									<term> "N", "n"</term>
									<description>Number format.</description>
								</item>
								<item>
									<term> "P", "p"</term>
									<description>Percent format.</description>
								</item>
								<item>
									<term> "X", "x"</term>
									<description>Hexadecimal format.</description>
								</item>
							</list>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier ("G"). The string takes into account the current
   system culture.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Int16.ToString"/> is equivalent to <see cref="M:System.Int16.ToString"/>(<see langword="null"/>, <see langword="null"/>).</para>
							<para>
								<block subset="none" type="note">This method
   overrides <see cref="M:System.Object.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(string format)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<param name=" format">A <see cref="T:System.String"/> that specifies the format of the returned string. <block subset="none" type="note">For a list of valid values, see <see cref="M:System.Int16.ToString"/>(<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/>).</block>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the current system culture.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Int16.ToString"/> is equivalent to <see cref="M:System.Int16.ToString"/>(<paramref name="format"/>, null).</para>
							<para>If <paramref name="format"/> is a null reference, the general
format specifier "G" is used.</para>
						</remarks>
						<example>
							<para>This example demonstrates converting a <see cref="T:System.Int16"/> to a string.</para>
							<code lang="C#">using System;
public class Int16ToStringExample {
   public static void Main() {
      Int16 i = 16;
      Console.WriteLine(i);
      string[] formats = {"c", "d", "e", "f", "g", "n", "p", "x" };
      foreach(string str in formats)
         Console.WriteLine("{0}: {1}", str, i.ToString(str));
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>16</para>
								<para>c: $16.00</para>
								<para>d: 16</para>
								<para>e: 1.600000e+001</para>
								<para>f: 16.00</para>
								<para>g: 16</para>
								<para>n: 16.00</para>
								<para>p: 1,600.00 %</para>
								<para>x: 10</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Int32" FullName="System.Int32" FullNameSP="System_Int32">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable Int32 extends System.ValueType implements System.IComparable, System.IFormattable"/>
			<TypeSignature Language="C#" Value="public struct Int32 : IComparable, IFormattable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents a 32-bit signed integer.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Int32"/> data type represents integer values ranging from
   negative 2,147,483,648 to positive 2,147,483,647; that is, hexadecimal
   0X80000000 to 0X7FFFFFFF.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IFormattable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared
      to the specified <see cref="T:System.Object"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   current instance as compared to <paramref name="value"/>. The following table defines the
   conditions under which the return value is a negative number, zero, or a
   positive number.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>Current instance &lt; <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>Current instance == <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>
										<para>Current instance &gt; <paramref name="value"/>, or
<paramref name="value"/> is a null reference.</para>
									</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is not a <see cref="T:System.Int32"/> and is not a null reference.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is
      implemented to support the <see cref="T:System.IComparable"/>
      interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the specified
      <see cref="T:System.Object"/> represent the same type and value.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> represents the same
   type and value as the current instance. If <paramref name="obj"/> is a null reference or
   is not an instance of <see cref="T:System.Int32"/>, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para> The algorithm used to
      generate the hash code is unspecified. </para>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxValue">
					<MemberSignature Language="ILASM" Value=".field public static literal int32 MaxValue = 2147483647"/>
					<MemberSignature Language="C#" Value="public const int MaxValue = 2147483647;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>2147483647</MemberValue>
					<Docs>
						<summary>
							<para>Contains the maximum value for the <see cref="T:System.Int32"/> type.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 2,147,483,647 (hexadecimal 
 0X7FFFFFFF).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinValue">
					<MemberSignature Language="ILASM" Value=".field public static literal int32 MinValue = -2147483648"/>
					<MemberSignature Language="C#" Value="public const int MinValue = -2147483648;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Contains the minimum value for the <see cref="T:System.Int32"/> type.</para>
						</summary>
						<remarks>
							<para> The value of this constant is -2,147,483,648 (hexadecimal
 0X80000000).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Parse(string s)"/>
					<MemberSignature Language="C#" Value="public static int Parse(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Int32"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<returns>
							<para>The <see cref="T:System.Int32"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Int32.MaxValue"/> or less than <see cref="F:System.Int32.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Int32.Parse(System.String)"/> is equivalent to <see cref="M:System.Int32.Parse(System.String)"/>(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/>, <see langword="null"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system culture. <block subset="none" type="note">For more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.</block>
							</para>
							<paramref name=""/>
						</remarks>
						<example>
							<para>This example demonstrates parsing a string to a <see cref="T:System.Int32"/>.</para>
							<code lang="C#">using System;
public class Int32ParseClass {
  public static void Main() {
    string str = "  100   ";
    Console.WriteLine("String: \"{0}\" &lt;Int32&gt; {1}",str,Int32.Parse(str));
  }
}
</code>
							<para>The output is</para>
							<para>
								<c>String: "
   100 " &lt;Int32&gt; 100</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Parse(string s, valuetype System.Globalization.NumberStyles style)"/>
					<MemberSignature Language="C#" Value="public static int Parse(string s, NumberStyles style);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Int32"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/>.</param>
						<param name="style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<returns>
							<para>The <see cref="T:System.Int32"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Int32.MaxValue"/> or less than <see cref="F:System.Int32.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Int32.Parse(System.String)"/> is equivalent to <see cref="M:System.Int32.Parse(System.String)"/>
(<paramref name="s"/>, <paramref name="style"/>, <see langword="null"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system
culture. <block subset="none" type="note"> For
more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.</block>
							</para>
							<paramref name=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Parse(string s, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static int Parse(string s, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Int32"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.Int32"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Int32.MaxValue"/> or less than <see cref="F:System.Int32.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Int32.Parse(System.String)"/> is equivalent to <see cref="M:System.Int32.Parse(System.String)"/>(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/>, <paramref name="provider"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the
culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> 
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
							<paramref name=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Parse(string s, valuetype System.Globalization.NumberStyles style, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static int Parse(string s, NumberStyles style, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Int32"/>
value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/>.</param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.Int32"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Int32.MaxValue"/> or less than <see cref="F:System.Int32.MinValue"/>.</exception>
						<remarks>
							<para>The string <paramref name="s"/> is parsed using the
   culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
   instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> 
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
							<paramref name=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string takes into account the
   formatting information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by
<paramref name="provider"/>.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Int32.ToString"/> is equivalent to <see cref="M:System.Int32.ToString"/>("G",
<paramref name="provider"/>).</para>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
be obtained from <paramref name="provider"/>, the formatting information for the current
system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(string format, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing a character that specifies the format of the returned string.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the formatting
   information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>.
   </para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
   be obtained from <paramref name="provider"/>, the formatting information for the current
   system culture is used.</para>
							<para>If <paramref name="format"/> is a null reference, the general
format specifier "G" is used.</para>
							<block subset="none" type="note">
								<para>For a detailed
      description of formatting, see the <see cref="T:System.IFormattable"/> interface.</para>
								<para> This method is implemented
      to support the <see cref="T:System.IFormattable"/> interface.</para>
							</block>
							<para>The following table lists the characters that are valid for the <see cref="T:System.Int32"/> type.</para>
							<list type="table">
								<listheader>
									<term>Item</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> "C", "c"</term>
									<description>Currency format.</description>
								</item>
								<item>
									<term> "D", "d"</term>
									<description>Decimal format.</description>
								</item>
								<item>
									<term> "E", "e"</term>
									<description>Exponential notation format.</description>
								</item>
								<item>
									<term> "F", "f"</term>
									<description>Fixed-point format.</description>
								</item>
								<item>
									<term> "G", "g"</term>
									<description>General format.</description>
								</item>
								<item>
									<term> "N", "n"</term>
									<description>Number format.</description>
								</item>
								<item>
									<term> "P", "p"</term>
									<description>Percent format.</description>
								</item>
								<item>
									<term> "X", "x"</term>
									<description>Hexadecimal
         format.</description>
								</item>
							</list>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier ("G"). The string takes into account the current
   system culture.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Int32.ToString"/> is equivalent to <see cref="M:System.Int32.ToString"/> (<see langword="null"/>, 
<see langword="null"/>).</para>
							<para>
								<block subset="none" type="note">This method
   overrides <see cref="M:System.Object.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(string format)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format of the returned string. <block subset="none" type="note"> For a list of valid values, see <see cref="M:System.Int32.ToString"/>(<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/>).</block>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the current system
   culture.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Int32.ToString"/>(<paramref name="format"/>, 
<see langword="null"/>).</para>
							<para>If <paramref name="format"/> is a null reference, the general format specifier "G" is used.</para>
						</remarks>
						<example>
							<para>This example demonstrates converting a <see cref="T:System.Int32"/> to a string.</para>
							<code lang="C#">using System;
public class Int32ToStringExample {
   public static void Main() {
      Int32 i = 32;
      Console.WriteLine(i);
      String[] formats = {"c", "d", "e", "f", "g", "n", "p", "x" };
      foreach(String str in formats)
         Console.WriteLine("{0}: {1}", str, i.ToString(str));
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>32</para>
								<para>c: $32.00</para>
								<para>d: 32</para>
								<para>e: 3.200000e+001</para>
								<para>f: 32.00</para>
								<para>g: 32</para>
								<para>n: 32.00</para>
								<para>p: 3,200.00 %</para>
								<para>x: 20</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Int64" FullName="System.Int64" FullNameSP="System_Int64">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable Int64 extends System.ValueType implements System.IComparable, System.IFormattable"/>
			<TypeSignature Language="C#" Value="public struct Int64 : IComparable, IFormattable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents a 64-bit signed integer.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Int64"/> data type represents integer values ranging from
   negative 9,223,372,036,854,775,808 to positive 9,223,372,036,854,775,807; that
   is, hexadecimal 0X8000000000000000 to 0X7FFFFFFFFFFFFFFF.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IFormattable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared to the specified
   <see cref="T:System.Object"/>.</para>
						</summary>
						<param name=" value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   current instance as compared to <paramref name="value"/>. The following table defines the
   conditions under which the return value is a negative number, zero, or a
   positive number.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>Current instance &lt; <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>Current instance == <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>
										<para>Current instance &gt; <paramref name="value"/>, or
<paramref name="value"/> is a null reference.</para>
									</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is not a <see cref="T:System.Int64"/> and is not a null reference.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is
      implemented to support the <see cref="T:System.IComparable"/>
      interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the specified <see cref="T:System.Object"/> represent the
   same type and value.</para>
						</summary>
						<param name=" obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> represents the
   same type and value as the current instance. If <paramref name="obj"/> is a null reference
   or is not an instance of <see cref="T:System.Int64"/>, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para>The algorithm used to
      generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxValue">
					<MemberSignature Language="ILASM" Value=".field public static literal int64 MaxValue = 9223372036854775807"/>
					<MemberSignature Language="C#" Value="public const long MaxValue = 9223372036854775807;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>9223372036854775807</MemberValue>
					<Docs>
						<summary>
							<para>Contains the maximum value for the <see cref="T:System.Int64"/> type.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 9,223,372,036,854,775,807 (hexadecimal 
 0X7FFFFFFFFFFFFFFF).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinValue">
					<MemberSignature Language="ILASM" Value=".field public static literal int64 MinValue = -9223372036854775808"/>
					<MemberSignature Language="C#" Value="public const long MinValue = -9223372036854775808;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Contains the minimum value for the <see cref="T:System.Int64"/> type.</para>
						</summary>
						<remarks>
							<para>The value of this constant is -9,223,372,036,854,775,808 (hexadecimal 
 0X8000000000000000).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 Parse(string s)"/>
					<MemberSignature Language="C#" Value="public static long Parse(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Int64"/>
value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<returns>
							<para>The <see cref="T:System.Int64"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Int64.MaxValue"/> or less than <see cref="F:System.Int64.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Int64.Parse(System.String)"/> is equivalent to <see cref="M:System.Int64.Parse(System.String)"/>
(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/>, <see langword="null"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system
culture. <block subset="none" type="note"> For
more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.</block>
							</para>
						</remarks>
						<example>
							<para>This example demonstrates parsing a string to a <see cref="T:System.Int64"/>.</para>
							<code lang="C#">using System;
public class Int64ParseClass {
  public static void Main() {
    string str = "  100   ";
    Console.WriteLine("String: \"{0}\" &lt;Int64&gt; {1}",str,Int64.Parse(str));
  }
}
</code>
							<para>The output is</para>
							<para>
								<c>String: " 100
   " &lt;Int64&gt; 100</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 Parse(string s, valuetype System.Globalization.NumberStyles style)"/>
					<MemberSignature Language="C#" Value="public static long Parse(string s, NumberStyles style);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Int64"/> value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/>.</param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<returns>
							<para>The <see cref="T:System.Int64"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Int64.MaxValue"/> or less than <see cref="F:System.Int64.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Int64.Parse(System.String)"/> is equivalent to <see cref="M:System.Int64.Parse(System.String)"/>(<paramref name="s"/>, <paramref name="style"/>, <see langword="null"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system culture. <block subset="none" type="note">For more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 Parse(string s, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static long Parse(string s, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Int64"/> value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.Int64"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Int64.MaxValue"/> or less than <see cref="F:System.Int64.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Int64.Parse(System.String)"/> is equivalent to <see cref="M:System.Int64.Parse(System.String)"/>
(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/>, <paramref name="provider"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the
culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> 
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 Parse(string s, valuetype System.Globalization.NumberStyles style, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static long Parse(string s, NumberStyles style, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Int64"/> value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/>.</param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.Int64"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Int64.MaxValue"/> or less than <see cref="F:System.Int64.MinValue"/>.</exception>
						<remarks>
							<para>The string <paramref name="s"/> is parsed using the
   culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
   instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> 
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string takes into account the
   formatting information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by
<paramref name="provider"/> .</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Int64.ToString"/> is equivalent to <see cref="M:System.Int64.ToString"/>("G",
<paramref name="provider"/>).</para>
							<para>If <paramref name="provider"/> is
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
be obtained from <paramref name="provider"/>, the formatting information for the current
system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(string format, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of
   the current instance. </para>
						</summary>
						<param name=" format">A <see cref="T:System.String"/> containing a character that specifies the format of the returned string.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the formatting
   information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be
   obtained from <paramref name="provider"/>, the formatting information for the current system
   culture is used.</para>
							<para>If <paramref name="format"/> is a null reference, the general
format specifier "G" is used.</para>
							<block subset="none" type="note">
								<para>For a detailed
      description of formatting, see the <see cref="T:System.IFormattable"/> interface.</para>
								<para> This method is implemented
      to support the <see cref="T:System.IFormattable"/> interface.</para>
							</block>
							<para> The following table lists the characters that are valid for the <see cref="T:System.Int64"/> type.</para>
							<list type="table">
								<listheader>
									<term>Format Characters</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> "C", "c"</term>
									<description>Currency format.</description>
								</item>
								<item>
									<term> "D", "d"</term>
									<description>Decimal format.</description>
								</item>
								<item>
									<term> "E", "e"</term>
									<description>Exponential notation format.</description>
								</item>
								<item>
									<term> "F", "f"</term>
									<description>Fixed-point format.</description>
								</item>
								<item>
									<term> "G", "g"</term>
									<description>General format.</description>
								</item>
								<item>
									<term> "N", "n"</term>
									<description>Number format.</description>
								</item>
								<item>
									<term> "P", "p"</term>
									<description>Percent format.</description>
								</item>
								<item>
									<term> "X", "x"</term>
									<description>Hexadecimal format.</description>
								</item>
							</list>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier ("G"). The string takes into account the current
   system culture.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Int64.ToString"/> is equivalent to <see cref="M:System.Int64.ToString"/>(<see langword="null"/>, <see langword="null"/>).</para>
							<para>
								<block subset="none" type="note">This method
   overrides <see cref="M:System.Object.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(string format)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<param name=" format">A <see cref="T:System.String"/> that specifies the format of the returned string. <block subset="none" type="note">For a list of valid values, see <see cref="M:System.Int64.ToString"/>(<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/>).</block>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the current system culture.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Int64.ToString"/>
(<paramref name="format"/>,
<see langword="null"/>).</para>
							<para>If <paramref name="format"/> is a null reference, the general
format specifier "G" is used.</para>
						</remarks>
						<example>
							<para>This example demonstrates converting a <see cref="T:System.Int64"/> to a string.</para>
							<code lang="C#">using System;
public class Int64ToStringExample {
   public static void Main() {
      Int64 i = 64;
      Console.WriteLine(i);
      String[] formats = {"c", "d", "e", "f", "g", "n", "p", "x" };
      foreach(String str in formats)
         Console.WriteLine("{0}: {1}", str, i.ToString(str));
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>64</para>
								<para>c: $64.00</para>
								<para>d: 64</para>
								<para>e: 6.400000e+001</para>
								<para>f: 64.00</para>
								<para>g: 64</para>
								<para>n: 64.00</para>
								<para>p: 6,400.00 %</para>
								<para>x: 40</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Interlocked" FullName="System.Threading.Interlocked" FullNameSP="System_Threading_Interlocked">
			<TypeSignature Language="ILASM" Value=".class public sealed Interlocked extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class Interlocked"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> The <see cref="T:System.Threading.Interlocked"/> class provides atomic operations for variables that are shared by
   multiple threads.</para>
				</summary>
				<remarks>
					<para> The <see cref="T:System.Threading.Interlocked"/> methods protect against errors that can
   occur when the scheduler switches contexts while a
   thread is updating a variable that can be accessed by other threads. The
   members of this class do not throw exceptions.</para>
					<block subset="none" type="note">
						<para>The <see cref="M:System.Threading.Interlocked.Increment(System.Int32@)"/> method
   and its counterpart, <see cref="M:System.Threading.Interlocked.Decrement(System.Int32@)"/>,
   
   increment or decrement a variable and store
   the resulting value, as an atomic operation.</para>
						<para>The <see cref="M:System.Threading.Interlocked.Exchange(System.Int32@,System.Int32)"/> method atomically exchanges the values of the
specified variables. The <see cref="M:System.Threading.Interlocked.CompareExchange(System.Int32@,System.Int32,System.Int32)"/> method
provides an atomic
operation that compares two values and stores a third value in one of the
variables, based on the outcome of the comparison.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="CompareExchange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 CompareExchange(class System.Int32&amp; location1, int32 value, int32 comparand)"/>
					<MemberSignature Language="C#" Value="public static int CompareExchange(ref int location1, int value, int comparand);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="location1" Type="System.Int32&amp;"/>
						<Parameter Name="value" Type="System.Int32"/>
						<Parameter Name="comparand" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Compares two <see cref="T:System.Int32"/> values for equality and stores a
   specified value if they are equal.</para>
						</summary>
						<param name="location1">A <see cref="T:System.Int32"/> reference whose value is updated with <paramref name="value"/> if the original value of <paramref name="location1"/> is equal to <paramref name="comparand"/>. </param>
						<param name="value">A <see cref="T:System.Int32"/> whose value will replace the value of <paramref name="location1"/> if <paramref name="location1"/> and <paramref name="comparand "/> are equal. </param>
						<param name="comparand">A <see cref="T:System.Int32"/> to be compared to <paramref name="location1."/>
						</param>
						<returns>
							<para> The original value of <paramref name="location1"/>.
   </para>
						</returns>
						<remarks>
							<para> The compare and store operations are performed as
      an atomic operation.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CompareExchange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 CompareExchange(class System.Single&amp; location1, float32 value, float32 comparand)"/>
					<MemberSignature Language="C#" Value="public static float CompareExchange(ref float location1, float value, float comparand);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="location1" Type="System.Single&amp;"/>
						<Parameter Name="value" Type="System.Single"/>
						<Parameter Name="comparand" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Compares two <see cref="T:System.Single"/> values for equality and stores a
   specified value if they are equal.</para>
						</summary>
						<param name="location1">A <see cref="T:System.Single"/> whose value is updated with <paramref name="value"/> if its original value is equal to <paramref name="comparand"/>. </param>
						<param name="value">The <see cref="T:System.Single"/> value that will replace value of <paramref name="location1"/> if <paramref name="location1"/> and <paramref name="comparand "/> are equal. </param>
						<param name="comparand">A <see cref="T:System.Single"/> to be compared to <paramref name="location1."/>
						</param>
						<returns>
							<para> A <see cref="T:System.Single"/> containing the original value of <paramref name="location1"/>.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">The address of <paramref name="location1"/> is <see langword="null"/> .</exception>
						<remarks>
							<para> The compare and store operations are performed as
      an atomic operation.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="CompareExchange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static object CompareExchange(class System.Object&amp; location1, object value, object comparand)"/>
					<MemberSignature Language="C#" Value="public static object CompareExchange(ref object location1, object value, object comparand);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="location1" Type="System.Object&amp;"/>
						<Parameter Name="value" Type="System.Object"/>
						<Parameter Name="comparand" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Compares two <see cref="T:System.Object"/> variables for equality and stores a specified object
   if they are equal.</para>
						</summary>
						<param name="location1">A <see cref="T:System.Object"/> reference that is set to <paramref name="value"/> if the object to which it refers is equal to <paramref name="comparand"/>. </param>
						<param name="value">The reference that will replace the value of <paramref name="location1"/> if <paramref name="location1"/> and <paramref name="comparand"/> are equal. </param>
						<param name="comparand">An object to be compared to that referred to by <paramref name="location1."/>
						</param>
						<returns>
							<para> A <see cref="T:System.Object"/> containing the original value of <paramref name="location1"/>.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">The address of <paramref name="location1"/> is <see langword="null"/> .</exception>
						<remarks>
							<para> The compare and store operations are performed as an
      atomic operation.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Decrement">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Decrement(class System.Int32&amp; location)"/>
					<MemberSignature Language="C#" Value="public static int Decrement(ref int location);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="location" Type="System.Int32&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Decrements the specified variable and stores the result as an atomic operation.
      </para>
						</summary>
						<param name="location">A <see cref="T:System.Int32"/> containing the variable whose value is to be decremented. </param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the
   decremented value.
   </para>
						</returns>
						<remarks>
							<para>This method handles an overflow condition by wrapping:
      if <paramref name="location"/> = <see cref="F:System.Int32.MinValue"/> , <paramref name="location"/> - 1 =
   <see cref="F:System.Int32.MaxValue"/> . No exception is
      thrown. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Decrement">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 Decrement(class System.Int64&amp; location)"/>
					<MemberSignature Language="C#" Value="public static long Decrement(ref long location);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="location" Type="System.Int64&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Decrements the specified variable and stores the result as an atomic operation.
      </para>
						</summary>
						<param name="location">A <see cref="T:System.Int64"/> containing the variable whose value is to be decremented. </param>
						<returns>
							<para>A <see cref="T:System.Int64"/>
containing the decremented value. </para>
						</returns>
						<remarks>
							<para>This method handles an overflow condition by wrapping: if <paramref name="location"/> = 
<see cref="F:System.Int64.MinValue"/> , 
<paramref name="location"/> - 1 = <see cref="F:System.Int64.MaxValue"/> . No exception is thrown. </para>
							<para>The 64-bit versions
   of <see cref="M:System.Threading.Interlocked.Increment(System.Int32@)"/> and <see cref="M:System.Threading.Interlocked.Decrement(System.Int32@)"/> are truly atomic only on systems where
   a <see cref="T:System.IntPtr"/> is
   64-bits long. On other systems, these methods are atomic with respect to
   each other, but not with respect to other means of accessing the data.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Exchange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Exchange(class System.Int32&amp; location1, int32 value)"/>
					<MemberSignature Language="C#" Value="public static int Exchange(ref int location1, int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="location1" Type="System.Int32&amp;"/>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sets a <see cref="T:System.Int32"/> variable to a specified value as an atomic
   operation and returns the original value.
   </para>
						</summary>
						<param name="location1">A <see cref="T:System.Int32"/> variable to set to the supplied value as an atomic operation. </param>
						<param name="value">The <see cref="T:System.Int32"/> value to which <paramref name="location1"/> is set. </param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the value of <paramref name="location1"/>
before the exchange.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Exchange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 Exchange(class System.Single&amp; location1, float32 value)"/>
					<MemberSignature Language="C#" Value="public static float Exchange(ref float location1, float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="location1" Type="System.Single&amp;"/>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sets a <see cref="T:System.Single"/> variable to a specified value as an atomic
   operation and returns the original value.
   </para>
						</summary>
						<param name="location1">A <see cref="T:System.Single"/> variable to set to the supplied value as an atomic operation. </param>
						<param name="value">The <see cref="T:System.Single"/> value to which <paramref name="location1"/> is set. </param>
						<returns>
							<para> A <see cref="T:System.Single"/> containing the value of <paramref name="location1"/>
before the exchange.</para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="Exchange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static object Exchange(class System.Object&amp; location1, object value)"/>
					<MemberSignature Language="C#" Value="public static object Exchange(ref object location1, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="location1" Type="System.Object&amp;"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sets a <see cref="T:System.Object"/> reference to refer to a specified object as an
   atomic operation and returns a reference to the original object.
   </para>
						</summary>
						<param name="location1">The variable to set. </param>
						<param name="value">The reference to which <paramref name="location1"/> is set. </param>
						<returns>
							<para> The original value of <paramref name="location1"/> .
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">The address of <paramref name="location1"/> is <see langword="null"/> .</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Increment">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Increment(class System.Int32&amp; location)"/>
					<MemberSignature Language="C#" Value="public static int Increment(ref int location);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="location" Type="System.Int32&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Increments the specified variable and stores the result as an atomic operation.
      </para>
						</summary>
						<param name="location">A <see cref="T:System.Int32"/> containing the variable whose value is to be incremented.</param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the incremented value.
   </para>
						</returns>
						<remarks>
							<para>This method handles an overflow condition by wrapping: if <paramref name="location"/> = 
<see cref="F:System.Int32.MaxValue"/> , 
<paramref name="location"/> + 1 = <see cref="F:System.Int32.MinValue"/> . No exception is thrown. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Increment">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 Increment(class System.Int64&amp; location)"/>
					<MemberSignature Language="C#" Value="public static long Increment(ref long location);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="location" Type="System.Int64&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Increments the specified variable and stores the result as an atomic operation.
      </para>
						</summary>
						<param name="location">A <see cref="T:System.Int64"/> containing the variable whose value is to be incremented. </param>
						<returns>
							<para>A <see cref="T:System.Int64"/>
containing the incremented value. </para>
						</returns>
						<remarks>
							<para>This method handles an overflow condition by wrapping: if <paramref name="location"/> = 
<see cref="F:System.Int64.MaxValue"/> , 
<paramref name="location"/> + 1 = <see cref="F:System.Int64.MinValue"/> . No exception is thrown. </para>
							<para> The 64-bit versions of <see cref="M:System.Threading.Interlocked.Increment(System.Int32@)"/>
and <see cref="M:System.Threading.Interlocked.Decrement(System.Int32@)"/> are truly atomic only on systems where a <see cref="T:System.IntPtr"/> is 64-bits
long. On other systems, these methods are atomic with respect to each
other, but not with respect to other means of accessing the data.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="InvalidCastException" FullName="System.InvalidCastException" FullNameSP="System_InvalidCastException">
			<TypeSignature Language="ILASM" Value=".class public serializable InvalidCastException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class InvalidCastException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents the error that occurs when an explicit
      conversion (casting operation) fails because the source type cannot be converted to the destination
      type.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>For information on conversions supported by the system, see the <see cref="T:System.Convert"/> class.</para>
						<para>For errors that occur when the destination type can store source type values,
      but is not large enough to store a specific source value, see <see cref="T:System.OverflowException"/>
      exception.</para>
						<para>The following IL instructions throw <see cref="T:System.InvalidCastException"/>:</para>
						<list type="bullet">
							<item>
								<term>
      castclass</term>
							</item>
							<item>
								<term>refanyval</term>
							</item>
							<item>
								<term>
      unbox</term>
							</item>
						</list>
					</block>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes
      a <see cref="T:System.InvalidCastException"/> exception.</para>
					<code lang="C#">using System;
public class InvalidCastExample {
 public static void Main() {
   object obj = new Object();
   int i;
   try {
     i = (int) obj;
   }
   catch( InvalidCastException e ) {
     Console.WriteLine("Caught: {0}", e);
   }
 }
}
   </code>
					<para>The output is</para>
					<code>
Caught: System.InvalidCastException: Specified cast is not valid.
   at InvalidCastExample.Main()
			</code>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public InvalidCastException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.InvalidCastException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.InvalidCastException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "Cannot cast from source type to
   destination type." This message takes into account the current system
   culture.</para>
							<para>The <see cref="!:System.InvalidCastException.InnerException"/> property is initialized to 
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public InvalidCastException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.InvalidCastException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.InvalidCastException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.InvalidCastException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments. The <see cref="!:System.InvalidCastException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public InvalidCastException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.InvalidCastException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.InvalidCastException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="!:System.InvalidCastException.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.InvalidCastException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For information on inner exceptions, see
<see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="InvalidOperationException" FullName="System.InvalidOperationException" FullNameSP="System_InvalidOperationException">
			<TypeSignature Language="ILASM" Value=".class public serializable InvalidOperationException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class InvalidOperationException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when an operation cannot be
      performed.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>
							<see cref="T:System.InvalidOperationException"/> is typically thrown when the state of
      one or more objects determines whether an operation can be performed. For
      example, when initially enumerating over a set of objects, if the enumerator has not been
      positioned over the first element via a call to <see cref="M:System.Collections.IEnumerator.MoveNext"/>,
      the system throws a <see cref="T:System.InvalidOperationException"/> exception when <see cref="M:System.Collections.IEnumerator.Current"/> is accessed. </para>
						<para>The <see cref="T:System.InvalidOperationException"/> exception should not be thrown for
   errors caused by invalid arguments. For invalid argument errors, throw <see cref="T:System.ArgumentException"/> or one
   of its derived types, such as <see cref="T:System.ArgumentNullException"/> or <see cref="T:System.ArgumentOutOfRangeException"/>. </para>
						<para> The ldflda IL instruction throws <see cref="T:System.InvalidOperationException"/>. </para>
					</block>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes
      a <see cref="T:System.InvalidOperationException"/> exception.</para>
					<code lang="C#">using System;
using System.Collections;
public class InvalidOpExample  {
  public static void Main()  {
    int[] array = {0,0};
    IEnumerator enumerator = array.GetEnumerator();
    Console.Write("{0}",enumerator.Current);
  }
}
   </code>
					<para>The output is</para>
					<c>
						<para>Unhandled Exception: System.InvalidOperationException: Enumeration has not
         started. Call MoveNext.</para>
						<para>at System.SZArrayEnumerator.get_Current()</para>
						<para>at InvalidOpExample.Main()</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public InvalidOperationException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.InvalidOperationException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.InvalidOperationException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "The requested operation cannot be
   performed." This message takes into account the current system culture.</para>
							<para>The <see cref="!:System.InvalidOperationException.InnerException"/> property is initialized to 
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public InvalidOperationException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.InvalidOperationException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.InvalidOperationException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.InvalidOperationException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments. The <see cref="!:System.InvalidOperationException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public InvalidOperationException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.InvalidOperationException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current Exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.InvalidOperationException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="!:System.InvalidOperationException.InnerException"/> property using
<paramref name="innerException"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.InvalidOperationException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For information on
   inner exceptions, see <see cref="P:System.Exception.InnerException"/>
   .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="InvalidProgramException" FullName="System.InvalidProgramException" FullNameSP="System_InvalidProgramException">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable InvalidProgramException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public sealed class InvalidProgramException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the
 error that occurs when a program contains invalid IL instructions or
 metadata.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">This exception is 
 thrown by the system when a compiler emits incorrect IL
 or metadata.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public InvalidProgramException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.InvalidProgramException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.InvalidProgramException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "Metadata is incorrect." This message
   takes into account the current system culture.</para>
							<para>The <see cref="!:System.InvalidProgramException.InnerException"/> property is initialized to <see langword="null"/> 
.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public InvalidProgramException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.InvalidProgramException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.InvalidProgramException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.InvalidProgramException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments. The <see cref="!:System.InvalidProgramException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception inner)"/>
					<MemberSignature Language="C#" Value="public InvalidProgramException(string message, Exception inner);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="inner" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.InvalidProgramException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="inner">An instance of <see cref="T:System.Exception"/> that is the cause of the current Exception. If <paramref name="inner"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="inner"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.InvalidProgramException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="!:System.InvalidProgramException.InnerException"/> property using <paramref name="inner"/>. If <paramref name="message"/> is <see langword="null"/>,
   the <see cref="!:System.InvalidProgramException.Message"/> property is initialized to the system-supplied message
   provided by the constructor that takes no arguments. </para>
							<para>
								<block subset="none" type="note">For information on inner exceptions, see
<see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IOException" FullName="System.IO.IOException" FullNameSP="System_IO_IOException">
			<TypeSignature Language="ILASM" Value=".class public serializable IOException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class IOException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents the error that occurs when an I/O operation fails.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.IO.IOException"/> is the
   base
   class for exceptions thrown while accessing information using streams, files and
   directories.</para>
					<block subset="none" type="note">
						<para>The Base Class Library includes the following types, 
      each of which is derived from <see cref="T:System.IO.IOException"/>:</para>
						<list type="bullet">
							<item>
								<term>
									<see cref="T:System.IO.DirectoryNotFoundException"/>
								</term>
							</item>
							<item>
								<term>
									<see cref="T:System.IO.EndOfStreamException"/>
								</term>
							</item>
							<item>
								<term>
									<see cref="T:System.IO.FileNotFoundException"/>
								</term>
							</item>
						</list>
						<para>Where appropriate, use these types instead of <see cref="T:System.IO.IOException"/>.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public IOException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.IOException"/> class.</para>
						</summary>
						<remarks>
							<para>The constructor initializes the <see cref="!:System.IO.IOException.Message"/> property of the new instance
   to a system-supplied message that describes the error, such as "An I/O
   error occurred while performing the requested operation." This message takes into
   account the current system culture.</para>
							<para>The <see cref="!:System.IO.IOException.InnerException"/> property of the new instance is 
initialized to <see langword="null"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public IOException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.IOException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>The constructor initializes the <see cref="!:System.IO.IOException.Message"/> property of the new
   instance using <paramref name="message"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.IO.IOException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para> The <see cref="!:System.IO.IOException.InnerException"/> property of the new
instance is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public IOException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.IOException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/>.</param>
						<remarks>
							<para>The constructor initializes the <see cref="!:System.IO.IOException.Message"/> property of the new
   instance using <paramref name="message"/> and the <see cref="!:System.IO.IOException.InnerException"/> property using
<paramref name="innerException"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.IO.IOException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For more information on inner
   exceptions, see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IPermission" FullName="System.Security.IPermission" FullNameSP="System_Security_IPermission">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IPermission"/>
			<TypeSignature Language="C#" Value="public interface IPermission"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Defines methods implemented by permission types. </para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>Permission types describe a level of access to secured
 operations or resources, such as files or environment variables. Permission instances do not confer the right to
 access a resource or perform an operation; the security system determines whether or not requested permissions
 are granted. Permissions are used by both application code and the security system in the
 following ways:</para>
						<list type="bullet">
							<item>
								<term>
 
 Code requests the permissions it needs in order to
 run.</term>
							</item>
							<item>
								<term>
 
 Permissions are granted by the security system.</term>
							</item>
							<item>
								<term>
 
 Code demands that calling code has a permission.</term>
							</item>
							<item>
								<term>
 
 Code
 
 alters the default behavior
 
 of the security system by asserting or denying
 permissions.</term>
							</item>
						</list>
					</block>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Members>
				<Member MemberName="Copy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Security.IPermission Copy()"/>
					<MemberSignature Language="C#" Value="IPermission Copy();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Security.IPermission"/> object of the same type and containing the same
 values as the current instance.</para>
						</summary>
						<returns>
							<para>A new <see cref="T:System.Security.IPermission"/> object of the same type and containing the same
 values as the current instance.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">The object returned by
 this method is required to be a deep copy of the current instance; any objects
 referenced by the current instance are duplicated in the copy.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Implement this
 method to provide the system with a means of duplicating permission objects.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use
 this method to obtain a copy of the current instance that is identical to the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Demand">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void Demand()"/>
					<MemberSignature Language="C#" Value="void Demand();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Forces a <see cref="T:System.Security.SecurityException"/> if all callers do not have the permission 
 specified by the current instance.</para>
						</summary>
						<exception cref="T:System.Security.SecurityException">
							<para> A caller does not have the permission specified by the current instance.</para>
						</exception>
						<remarks>
							<para>The permission check for <see cref="M:System.Security.IPermission.Demand"/> begins with the immediate caller 
 of the code that calls this method and continues until all callers have been
 checked or a caller has been found that is not granted the demanded permission,
 in which case a <see cref="T:System.Security.SecurityException"/> exception is thrown. </para>
							<para>
								<block subset="none" type="behaviors">Notifies the
 system that a security check is required for all callers of the method that
 invokes <see cref="M:System.Security.IPermission.Demand"/>. All callers are required to have the permissions
 described by the current instance. If one of the callers asserts the
 permissions and that caller has the permissions, the system is required to allow
 all callers that have not been checked to bypass the security check. If the
 security check fails, a <see cref="T:System.Security.SecurityException"/> is thrown by the system.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to
 ensure that callers that call the method containing a <see cref="M:System.Security.IPermission.Demand"/>
 call have the
 permissions described by the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Intersect">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Security.IPermission Intersect(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="IPermission Intersect(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an
      object that is the intersection of the current instance and the
      specified <see cref="T:System.Security.IPermission"/>
      object. </para>
						</summary>
						<param name="target">An object of the same type as the current instance to intersect with the current instance.</param>
						<returns>
							<para> A new <see cref="T:System.Security.IPermission"/> object that is the same type as
   the current instance and represents the intersection of the
   current instance and <paramref name="target"/>. If the intersection is empty, or <paramref name="target"/>
   is <see langword="null"/>, returns <see langword="null"/>. If the current instance
   is unrestricted, returns a copy of <paramref name="target"/>. If <paramref name="target"/> is
   unrestricted, returns a copy of the current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target"/> is not <see langword="null"/> and is not of the same type as the current instance.</exception>
						<remarks>
							<para>The object returns by <see cref="M:System.Security.IPermission.Intersect(System.Security.IPermission)"/> is a permission that secures the resources and
   operations secured by two <see cref="T:System.Security.IPermission"/>
   objects: a demand passes the
   intersection of two objects only if it passes both of the objects.</para>
							<block subset="none" type="behaviors">
								<para>If <paramref name="target"/> is not <see langword="null"/> and is not of the same type as
   the current instance, a <see cref="T:System.ArgumentException"/> exception is required to be thrown.</para>
								<para> The following statements are required to be true for all
   implementations of the <see cref="M:System.Security.IPermission.Intersect(System.Security.IPermission)"/> method. <paramref name="X"/> and
<paramref name="Y"/>
represent non-null <see cref="T:System.Security.IPermission"/> object
references.</para>
								<list type="bullet">
									<item>
										<term>
											<paramref name="X"/>.Intersect(<paramref name="X"/>) returns a value
      equal to <paramref name="X"/>.</term>
									</item>
									<item>
										<term>
											<paramref name="X"/>.Intersect(<paramref name="Y"/>) returns the same
      value as <paramref name="Y"/>.Intersect(<paramref name="X"/>).</term>
									</item>
									<item>
										<term>
											<paramref name="X"/>.Intersect(<see langword="null"/>) returns
   <see langword="null"/>
   .</term>
									</item>
								</list>
							</block>
							<para>
								<block subset="none" type="usage">Use this method to obtain the set of permissions that are
   described both by the current instance and the specified
   object.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSubsetOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract bool IsSubsetOf(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="bool IsSubsetOf(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance is a subset of
      the specified object.</para>
						</summary>
						<param name="target">A <see cref="T:System.Security.IPermission"/> object of the same type as the current instance that is to be tested for the subset relationship.</param>
						<returns>
							<para>
								<see langword="true"/> if the current instance is a subset of <paramref name="target"/> ;
   otherwise,<see langword=" false"/>. If the current instance is unrestricted, and
<paramref name="target"/> is not, returns <see langword="false"/>. If <paramref name="target"/> is 
   unrestricted, returns <see langword="true"/>. If target is
<see langword="null"/> and the current instance does not secure any resources or 
   operations, returns <see langword="true"/>. If target is <see langword="null"/>
   and the current instance secures one or more resources or operations, returns
<see langword="false"/> 
.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target"/> is not <see langword="null"/> and is not of the same type as the current instance. </exception>
						<remarks>
							<para>The current instance is a subset of <paramref name="target"/> if the current instance
   specifies a set of accesses to resources or operations that is wholly contained
   by <paramref name="target"/>. For example, a permission that represents read access to a
   file is a subset of a permission that represents read and write access to the
   file. </para>
							<block subset="none" type="behaviors">
								<para> If <paramref name="target"/> is not
<see langword="null"/> and is not of the same type
   as the current instance, a <see cref="T:System.ArgumentException"/> exception is
   required to be thrown.</para>
								<para> The following statements are required to be true for all
   implementations of the <see cref="M:System.Security.IPermission.IsSubsetOf(System.Security.IPermission)"/> method. <paramref name="X"/>, <paramref name="Y"/>, and
<paramref name="Z"/> 
represent non-null <see cref="T:System.Security.IPermission"/> objects.</para>
								<list type="bullet">
									<item>
										<term>
											<paramref name="X"/>.IsSubsetOf(<paramref name="X"/>
   ) returns <see langword="true"/>.</term>
									</item>
									<item>
										<term>
											<paramref name="X"/>.IsSubsetOf(<paramref name="Y"/>) returns the same
      value as <paramref name="Y"/>.IsSubsetOf(<paramref name="X"/>) if and only if <paramref name="X"/> and
   <paramref name="Y"/> 
   represent the same set of permissions.</term>
									</item>
									<item>
										<term>
      
      if <paramref name="X"/>.IsSubsetOf(<paramref name="Y"/>) and
   <paramref name="Y"/>.IsSubsetOf(<paramref name="Z"/>
   ) both return
<see langword="true"/>, <paramref name="X"/>.IsSubsetOf(<paramref name="Z"/> ) returns
<see langword="true"/>.</term>
									</item>
								</list>
							</block>
							<para>
								<block subset="none" type="usage">Use this method to determine if the
   permissions described by the current instance are also described by the
   specified object.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Union">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Security.IPermission Union(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="IPermission Union(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an object that is the union of the
 current instance and the specified
 object.</para>
						</summary>
						<param name="target">A <see cref="T:System.Security.IPermission"/> object of the same type as the current instance to combine with the current instance. </param>
						<returns>
							<para> A new <see cref="T:System.Security.IPermission"/> object of the same type as the current
 instance that represents the
 union of the current instance and <paramref name="target"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target"/> is not <see langword="null"/> and is not of the same type as the current instance. </exception>
						<remarks>
							<para>The object returned by <see cref="M:System.Security.IPermission.Union(System.Security.IPermission)"/> is a permission that represents the 
 permissions described by the current instance and those described by
<paramref name="target"/> . Any demand that passes either the current instance or 
<paramref name="target"/> is required to pass the union of the two.</para>
							<block subset="none" type="behaviors">
								<para>If <paramref name="target"/> is not <see langword="null"/> and is not of the same type as 
 the current instance, a <see cref="T:System.ArgumentException"/> exception is required to be thrown.</para>
								<para> The following statements are required to be true for all
 implementations of the <see cref="M:System.Security.IPermission.Union(System.Security.IPermission)"/> method. <paramref name="X"/> and <paramref name="Y"/>
 represent non-null <see cref="T:System.Security.IPermission"/> objects.</para>
								<list type="bullet">
									<item>
										<term>
											<paramref name="X"/>.Union(<paramref name="X"/>) returns an object that
 is value-equal to <paramref name="X"/>.</term>
									</item>
									<item>
										<term>
											<paramref name="X"/>.Union(<paramref name="Y"/>) returns an object that
 is value-equal to the object returned by <paramref name="Y"/>.Union(<paramref name="X"/>).</term>
									</item>
									<item>
										<term>
											<paramref name="X"/>.Union(<see langword="null"/>) returns an
 object that is value-equal to <paramref name="X"/>
 
 .</term>
									</item>
								</list>
							</block>
							<para>
								<block subset="none" type="usage">Use this
 method to obtain a <see cref="T:System.Security.IPermission"/> object of the same type as the current instance
 and <paramref name="target"/> that describes the permissions described by the current
 instance and those described by <paramref name="target"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="MarshalByRefObject" FullName="System.MarshalByRefObject" FullNameSP="System_MarshalByRefObject">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable MarshalByRefObject extends System.Object"/>
			<TypeSignature Language="C#" Value="public abstract class MarshalByRefObject"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Enables access to objects across application
      domain boundaries
      in implementations that
      support remoting.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">An application
      domain is a partition in an OS process where one or more applications reside.
      Objects in the same application domain communicate directly. Objects that reside
      in different application domains communicate either by transporting copies of
      objects across application domain boundaries, or by exchanging messages via proxy.</block>
					</para>
					<para>
						<see cref="T:System.MarshalByRefObject"/> is the base class for objects that
   communicate across application domain boundaries by exchanging messages via a
   proxy. Objects that do not inherit from <see cref="T:System.MarshalByRefObject"/> are
   implicitly <paramref name="marshal by value"/>. When a remote application references a
<paramref name="marshal by value"/> object, a copy of the object is passed across application domain boundaries.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members/>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="MemoryStream" FullName="System.IO.MemoryStream" FullNameSP="System_IO_MemoryStream">
			<TypeSignature Language="ILASM" Value=".class public serializable MemoryStream extends System.IO.Stream"/>
			<TypeSignature Language="C#" Value="public class MemoryStream : Stream"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Provides support for creating and using a stream whose backing store is memory.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.IO.MemoryStream"/> class creates streams that have memory as a backing
   store instead of a disk or a network connection. <see cref="T:System.IO.MemoryStream"/>
   encapsulates data stored as an unsigned byte array. The encapsulated data is directly accessible
   in memory. Memory streams can reduce the need for temporary buffers and files
   in an application.</para>
					<para>The <paramref name="current position"/> of
a stream is the position at which the next read or write operation takes
place. The current position can be retrieved or set through the <see cref="M:System.IO.MemoryStream.Seek(System.Int64,System.IO.SeekOrigin)"/>
method. When a new instance of <see cref="T:System.IO.MemoryStream"/>
is created, the
current position is set to zero.</para>
					<para>
						<block subset="none" type="note">Memory streams created
   with an unsigned byte array provide a non-resizable stream view
   of the data. When using a byte array, you can neither
   append to nor shrink the stream, although you might be able to modify the existing
   contents depending on the parameters passed into the constructor.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.IO.Stream</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IDisposable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Byte[] buffer, int32 index, int32 count, bool writable, bool publiclyVisible)"/>
					<MemberSignature Language="C#" Value="public MemoryStream(byte[] buffer, int index, int count, bool writable, bool publiclyVisible);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
						<Parameter Name="writable" Type="System.Boolean"/>
						<Parameter Name="publiclyVisible" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.MemoryStream"/> class.</para>
						</summary>
						<param name="buffer">The <see cref="T:System.Byte"/> array from which to create the new stream.</param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the index into <paramref name="buffer"/> at which the stream begins.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the length of the stream in bytes.</param>
						<param name="writable">A <see cref="T:System.Boolean"/> that specifies whether the new stream instance supports writing.</param>
						<param name="publiclyVisible">A <see cref="T:System.Boolean"/> that specifies whether <paramref name="buffer"/> is exposed via the <see cref="M:System.IO.MemoryStream.GetBuffer"/>, which returns the <see cref="T:System.Byte"/> array from which the stream was created. Specify <see langword="true"/> to expose <paramref name="buffer"/>; otherwise, specify <see langword="false"/>.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> or <paramref name="count"/> is negative.</exception>
						<exception cref="T:System.ArgumentException">(<paramref name="index"/> + <paramref name="count"/> ) is greater than the length of <paramref name="buffer"/>.</exception>
						<remarks>
							<para>The <see cref="P:System.IO.MemoryStream.CanRead"/> and <see cref="P:System.IO.MemoryStream.CanSeek"/> properties of
   the new <see cref="T:System.IO.MemoryStream"/> instance are
   set to <see langword="true"/>. The <see cref="P:System.IO.MemoryStream.Capacity"/> property is set to <paramref name="count"/>. The <see cref="P:System.IO.Stream.CanWrite"/> property is set to
<paramref name="writable"/>.</para>
							<para>
								<block subset="none" type="note">The new stream instance can be written to, but the
<see cref="P:System.IO.MemoryStream.Capacity"/> of the underlying <see cref="T:System.Byte"/> 
array cannot be changed. The length of the stream cannot be set
to a value larger than <see cref="P:System.IO.MemoryStream.Capacity"/>, but the stream can be truncated
(see <see cref="M:System.IO.MemoryStream.SetLength(System.Int64)"/>).</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Byte[] buffer, int32 index, int32 count, bool writable)"/>
					<MemberSignature Language="C#" Value="public MemoryStream(byte[] buffer, int index, int count, bool writable);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
						<Parameter Name="writable" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new non-resizable instance of the <see cref="T:System.IO.MemoryStream"/>
class.</para>
						</summary>
						<param name="buffer">The <see cref="T:System.Byte"/> array from which to create the new stream.</param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the index in <paramref name="buffer"/> at which the stream begins.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the length of the stream in bytes.</param>
						<param name="writable">A <see cref="T:System.Boolean"/> that specifies whether the new stream instance supports writing.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> or <paramref name="count"/> are negative.</exception>
						<exception cref="T:System.ArgumentException">(<paramref name="index"/> + <paramref name="count"/> ) is greater than the length of <paramref name="buffer"/>.</exception>
						<remarks>
							<para>The <see cref="P:System.IO.MemoryStream.CanRead"/> and <see cref="P:System.IO.MemoryStream.CanSeek"/> properties
   of the new <see cref="T:System.IO.MemoryStream"/> are
   set to <see langword="true"/>. The <see cref="P:System.IO.MemoryStream.Capacity"/> property is set to <paramref name="count"/>. The <see cref="P:System.IO.Stream.CanWrite"/> property is set to
<paramref name="writable"/>.</para>
							<para>
								<block subset="none" type="note">The new stream instance can be written to, but the
<see cref="P:System.IO.MemoryStream.Capacity"/> of the 
   underlying byte array cannot be changed. The length of the stream cannot be set
   to a value larger than <see cref="P:System.IO.MemoryStream.Capacity"/>, but the stream can be truncated
   (see <see cref="M:System.IO.MemoryStream.SetLength(System.Int64)"/>).</block>
							</para>
							<para>The new stream does not expose the underlying byte
   buffer, and calls to the <see cref="M:System.IO.MemoryStream.GetBuffer"/> method throw <see cref="T:System.UnauthorizedAccessException"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public MemoryStream();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new resizable instance of the <see cref="T:System.IO.MemoryStream"/>
class.</para>
						</summary>
						<remarks>
							<para>The <see cref="P:System.IO.Stream.CanRead"/>, <see cref="P:System.IO.Stream.CanSeek"/>, and <see cref="P:System.IO.Stream.CanWrite"/> properties of the
   new instance of the <see cref="T:System.IO.MemoryStream"/> class are set to <see langword="true"/>.</para>
							<para>The capacity of the new stream instance can be increased
   by using the <see cref="M:System.IO.MemoryStream.SetLength(System.Int64)"/> method or by
   setting the <see cref="P:System.IO.MemoryStream.Capacity"/> property.</para>
							<para>The new stream exposes the underlying byte buffer, which
   can be accessed through the <see cref="M:System.IO.MemoryStream.GetBuffer"/>
   method.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 capacity)"/>
					<MemberSignature Language="C#" Value="public MemoryStream(int capacity);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="capacity" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new resizable instance of the <see cref="T:System.IO.MemoryStream"/>
class.</para>
						</summary>
						<param name="capacity">A <see cref="T:System.Int32"/> that specifies the initial size of the internal <see cref="T:System.Byte"/> array.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="capacity"/> is negative.</exception>
						<remarks>
							<para>The <see cref="P:System.IO.Stream.CanRead"/>, <see cref="P:System.IO.Stream.CanSeek"/>, and <see cref="P:System.IO.Stream.CanWrite"/>
properties of the new instance of the <see cref="T:System.IO.MemoryStream"/> class are set to
<see langword="true"/>.</para>
							<para>The <see cref="P:System.IO.MemoryStream.Capacity"/> of 
the new stream instance is set to <paramref name="capacity"/> can be increased
by using the <see cref="M:System.IO.MemoryStream.SetLength(System.Int64)"/> method <SPAN>or by
setting the <see cref="P:System.IO.MemoryStream.Capacity"/> property.</SPAN> Write operations at the end of
the new instance of the <see cref="T:System.IO.MemoryStream"/> class expand the <see cref="T:System.IO.MemoryStream"/>.</para>
							<para>The new stream exposes the underlying byte buffer,
   which can be accessed through the <see cref="M:System.IO.MemoryStream.GetBuffer"/>
   method.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Byte[] buffer)"/>
					<MemberSignature Language="C#" Value="public MemoryStream(byte[] buffer);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new non-resizable instance of the <see cref="T:System.IO.MemoryStream"/> class.</para>
						</summary>
						<param name="buffer">The <see cref="T:System.Byte"/> array from which to create the new stream.</param>
						<exception cref="T:System.ArgumentNullException">The <paramref name="buffer"/> parameter is <see langword="null"/>.</exception>
						<remarks>
							<para>The <see cref="P:System.IO.Stream.CanRead"/>, <see cref="P:System.IO.Stream.CanSeek"/>, and <see cref="P:System.IO.Stream.CanWrite"/>
properties of the new instance of the <see cref="T:System.IO.MemoryStream"/> class are set to
<see langword="true"/>. <see cref="P:System.IO.MemoryStream.Capacity"/> is set to the length of the specified 
<see cref="T:System.Byte"/> 
array.</para>
							<para>
								<block subset="none" type="note">The new stream instance can be written to, but
   the <see cref="P:System.IO.MemoryStream.Capacity"/> of
   the underlying <see cref="T:System.Byte"/>
   array cannot be changed. The length of the stream cannot be set
   to a value greater than <see cref="P:System.IO.MemoryStream.Capacity"/>
   , but the
   stream can be truncated (see <see cref="M:System.IO.MemoryStream.SetLength(System.Int64)"/>).</block>
							</para>
							<para>The new stream does not expose the underlying byte buffer, and calls to the
<see cref="M:System.IO.MemoryStream.GetBuffer"/> method throw <see cref="T:System.UnauthorizedAccessException"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Byte[] buffer, bool writable)"/>
					<MemberSignature Language="C#" Value="public MemoryStream(byte[] buffer, bool writable);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="writable" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new non-resizable instance of the <see cref="T:System.IO.MemoryStream"/> class.</para>
						</summary>
						<param name="buffer">The <see cref="T:System.Byte"/> array from which to create the new stream.</param>
						<param name="writable">A <see cref="T:System.Boolean"/> that specifies whether the new stream instance supports writing.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>The <see cref="P:System.IO.Stream.CanRead"/> and <see cref="P:System.IO.Stream.CanSeek"/> properties of the new
   instance of the <see cref="T:System.IO.MemoryStream"/> class are set to <see langword="true"/>. The <see cref="P:System.IO.MemoryStream.Capacity"/> property is set to the length of the specified
<see cref="T:System.Byte"/> array. The <see cref="P:System.IO.Stream.CanWrite"/> property is set to 
<paramref name="writable"/> 
.</para>
							<para>
								<block subset="none" type="note">The new stream instance can be written to, but the
<see cref="P:System.IO.MemoryStream.Capacity"/> of the underlying <see cref="T:System.Byte"/> 
array cannot be changed. The length of the stream cannot be set
to a value larger than <see cref="P:System.IO.MemoryStream.Capacity"/>, but the stream can be truncated
(see <see cref="M:System.IO.MemoryStream.SetLength(System.Int64)"/>).</block>
							</para>
							<para>The new stream does not expose the underlying <see cref="T:System.Byte"/> buffer, and calls to the <see cref="M:System.IO.MemoryStream.GetBuffer"/>
method throw <see cref="T:System.UnauthorizedAccessException"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Byte[] buffer, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public MemoryStream(byte[] buffer, int index, int count);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new non-resizable instance of the <see cref="T:System.IO.MemoryStream"/>
class.</para>
						</summary>
						<param name="buffer">The <see cref="T:System.Byte"/> array from which to create the new stream.</param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the index into <paramref name="buffer"/> at which the stream begins.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the length of the stream in bytes.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> or <paramref name="count"/> is less than zero.</exception>
						<exception cref="T:System.ArgumentException">(<paramref name="index"/> + <paramref name="count"/> ) is greater than the length of <paramref name="buffer"/>.</exception>
						<remarks>
							<para>The <see cref="P:System.IO.Stream.CanRead"/>, <see cref="P:System.IO.Stream.CanSeek"/>, and <see cref="P:System.IO.Stream.CanWrite"/> properties of the
   new <see cref="T:System.IO.MemoryStream"/> instance are set to <see langword="true"/>. The <see cref="P:System.IO.MemoryStream.Capacity"/> property
   is set to <paramref name="count"/>
   .</para>
							<para>
								<block subset="none" type="note">The new stream instance can be written to, but the
<see cref="P:System.IO.MemoryStream.Capacity"/> of the underlying <see cref="T:System.Byte"/> 
array cannot be changed. The length of the stream cannot be set
to a value larger than <see cref="P:System.IO.MemoryStream.Capacity"/>, but the stream can be truncated
(see <see cref="M:System.IO.MemoryStream.SetLength(System.Int64)"/>).</block>
							</para>
							<para>The new stream does not expose the underlying <see cref="T:System.Byte"/> 
buffer, and calls to the <see cref="M:System.IO.MemoryStream.GetBuffer"/> method throw <see cref="T:System.UnauthorizedAccessException"/>
.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CanRead">
					<MemberSignature Language="ILASM" Value=".property bool CanRead { public hidebysig virtual specialname bool get_CanRead() }"/>
					<MemberSignature Language="C#" Value="public override bool CanRead { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current stream supports reading.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>if the current 
   stream supports reading; otherwise <see langword="false"/>
   .</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CanSeek">
					<MemberSignature Language="ILASM" Value=".property bool CanSeek { public hidebysig virtual specialname bool get_CanSeek() }"/>
					<MemberSignature Language="C#" Value="public override bool CanSeek { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current stream
   supports seeking.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the stream 
   supports seeking; otherwise <see langword="false"/>
   .</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CanWrite">
					<MemberSignature Language="ILASM" Value=".property bool CanWrite { public hidebysig virtual specialname bool get_CanWrite() }"/>
					<MemberSignature Language="C#" Value="public override bool CanWrite { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current stream
   supports writing.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the stream supports writing;
   otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Capacity">
					<MemberSignature Language="ILASM" Value=".property int32 Capacity { public hidebysig virtual specialname int32 get_Capacity() public hidebysig virtual specialname void set_Capacity(int32 value) }"/>
					<MemberSignature Language="C#" Value="public virtual int Capacity { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the number of bytes allocated for the current
      stream.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Int32"/> containing the
   number of bytes allocated for the current stream.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is negative or less than the current length of the stream.</exception>
						<exception cref="T:System.NotSupportedException">A set operation was attempted on a stream whose capacity cannot be modified. </exception>
						<exception cref="T:System.ObjectDisposedException">A set operation was attempted on a stream that is closed.</exception>
						<remarks>
							<para>
								<see cref="P:System.IO.MemoryStream.Capacity"/> is
   the buffer length for system-provided byte arrays. If the current stream is
   created with a specified <see cref="T:System.Byte"/>
   array, <see cref="P:System.IO.MemoryStream.Capacity"/> indicates the length of the portion of
   the provided array to which the current stream has access. <block subset="none" type="note">For additional information, see the <see cref="T:System.IO.MemoryStream"/> (<see cref="T:System.Byte"/>[], <see cref="T:System.Int32"/>, <see cref="T:System.Int32"/> ) constructor. </block>
							</para>
							<para>
								<see cref="P:System.IO.MemoryStream.Capacity"/>
cannot be set to a value less than the current length of the stream, but can be
set to less than the current capacity. If the capacity specified is less than
the current capacity, the size of the buffer used
to hold the stream may be reduced, but need not be.</para>
							<para>
								<block subset="none" type="note">If the value specified for a set operation is less than the default value,
   for performance reasons the property is set to the default. The default
   value of the <see cref="P:System.IO.MemoryStream.Capacity"/> property is
   unspecified.
</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Close">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Close()"/>
					<MemberSignature Language="C#" Value="public override void Close();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Closes the current <see cref="T:System.IO.MemoryStream"/> instance.</para>
						</summary>
						<remarks>
							<para> The stream will not support reading or writing after
      this method is invoked. Following a call to <see cref="M:System.IO.MemoryStream.Close"/>
      , operations on the
      stream can raise an exception. </para>
							<para> The buffer of a closed <see cref="T:System.IO.MemoryStream"/> is still available, and the <see cref="M:System.IO.MemoryStream.ToArray"/>
and <see cref="M:System.IO.MemoryStream.GetBuffer"/> methods can
be called successfully. </para>
							<block subset="none" type="note"> This method overrides <see cref="M:System.IO.Stream.Close"/>
.</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Flush">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Flush()"/>
					<MemberSignature Language="C#" Value="public override void Flush();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Overrides <see cref="M:System.IO.Stream.Flush" qualify="true"/>
so that no action is performed.</para>
						</summary>
						<remarks>
							<para>Since any data written to a <see cref="T:System.IO.MemoryStream"/> is written into RAM, this 
   method is redundant.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.Stream.Flush" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBuffer">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Byte[] GetBuffer()"/>
					<MemberSignature Language="C#" Value="public virtual byte[] GetBuffer();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns the
      array of unsigned bytes from which this stream was created.</para>
						</summary>
						<returns>
							<para>The <see cref="T:System.Byte"/> array from which the current stream was created, or the
   underlying array if a <see cref="T:System.Byte"/>
   array was not provided to the <see cref="T:System.IO.MemoryStream"/>
   constructor during construction of the current instance.</para>
						</returns>
						<exception cref="T:System.UnauthorizedAccessException">The current instance was not created with a publicly visible buffer.</exception>
						<remarks>
							<para>To create a <see cref="T:System.IO.MemoryStream"/> instance with a publicly visible buffer use the default constructor, or
<see cref="T:System.IO.MemoryStream"/>( 
<see cref="T:System.Byte"/> [], <see cref="T:System.Int32"/>, <see cref="T:System.Int32"/>, <see cref="T:System.Boolean"/>, <see cref="T:System.Boolean"/>) or <see cref="T:System.IO.MemoryStream"/>(<see cref="T:System.Int32"/> 
) constructor. </para>
							<para> If the current stream is resizable, multiple calls to
   this method do not return the same array if the underlying <see cref="T:System.Byte"/>
   array is
   resized between calls. For additional information, see <see cref="P:System.IO.MemoryStream.Capacity"/>
   . </para>
							<para>
								<block subset="none" type="note">This method works when the <see cref="T:System.IO.MemoryStream"/> is closed.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates that two calls to the <see cref="M:System.IO.MemoryStream.GetBuffer"/>
method on a resizable stream do not return the same array if the underlying byte array is
reallocated.</para>
							<code lang="C#">using System;
using System.IO;

public class MemoryStreamTest {
   public static void Main() {

      MemoryStream ms = new MemoryStream(10);

      byte[] a = ms.GetBuffer();
      byte[] b = ms.GetBuffer();

      //Force reallocation of the underlying byte array.
      ms.Capacity = 10240;    
      byte[] c = ms.GetBuffer();


      if(Object.ReferenceEquals(a, b))
         Console.WriteLine("a and b represent the same instance.");
      else
         Console.WriteLine("a and b represent the different instances.");

      if(Object.ReferenceEquals(a, c))
         Console.WriteLine("a and c represent the same instance.");
      else
         Console.WriteLine("a and c represent the different instances.");

   }
}
</code>
							<para>The output is</para>
							<c>
								<para>a and b represent the same instance.</para>
								<para>a and c represent the different instances.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Length">
					<MemberSignature Language="ILASM" Value=".property int64 Length { public hidebysig virtual specialname int64 get_Length() }"/>
					<MemberSignature Language="C#" Value="public override long Length { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the length of the stream in bytes.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int64"/> containing the length of the stream in bytes.</para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current stream is closed.</exception>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">This property 
      overrides <see cref="P:System.IO.Stream.Length"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Position">
					<MemberSignature Language="ILASM" Value=".property int64 Position { public hidebysig virtual specialname int64 get_Position() public hidebysig virtual specialname void set_Position(int64 value) }"/>
					<MemberSignature Language="C#" Value="public override long Position { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the current position within the stream.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int64"/> containing the current position within the stream.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is negative or greater than one byte beyond the length of the current stream.</exception>
						<exception cref="T:System.ObjectDisposedException">The current stream is closed.</exception>
						<remarks>
							<para>The position cannot be set more
      than one byte beyond the end of the stream.</para>
							<para>
								<block subset="none" type="note">This property overrides <see cref="P:System.IO.Stream.Position"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Read(class System.Byte[] buffer, int32 offset, int32 count)"/>
					<MemberSignature Language="C#" Value="public override int Read(byte[] buffer, int offset, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Reads a block of bytes from the current stream at the current position, and
      writes the data to the specified byte array.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte"/> array. When this method returns, contains the specified byte array with the values between <paramref name="offset "/>and <paramref name="(offset + count - 1)"/> replaced by the characters read from the current stream.</param>
						<param name="offset">A <see cref="T:System.Int32"/> that specifies the byte offset in <paramref name="buffer"/> at which to begin writing.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the maximum number of bytes to read.</param>
						<returns>
							<para> A <see cref="T:System.Int32"/> that specifies the total number of bytes
   read into the buffer, or zero if the end of the stream is
   reached before any bytes are read.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="offset"/> or <paramref name="count"/> is negative.</exception>
						<exception cref="T:System.ArgumentException">(<paramref name="offset "/> + <paramref name="count"/> ) is larger than the length of <paramref name="buffer"/>.</exception>
						<exception cref="T:System.ObjectDisposedException"> The current stream is closed.</exception>
						<remarks>
							<para>If the read operation is successful, the current position within the
      stream advances by the number of bytes read. If an exception occurs, the current position within
      the stream remains unchanged.</para>
							<block subset="none" type="note">
								<para>If the byte array specified in the <paramref name="buffer"/> parameter is the underlying buffer returned by the
   <see cref="M:System.IO.MemoryStream.GetBuffer"/> method, the array contents are overwritten, and no
      exception is thrown. </para>
								<para>This method overrides <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)" qualify="true"/>.</para>
							</block>
						</remarks>
						<example>
							<para>The following example demonstrates the result of reading from a <see cref="T:System.IO.MemoryStream"/> into its
   underlying byte array.</para>
							<code lang="C#">using System;
using System.IO;

public class MemoryStreamTest {
   public static void Main() {

      byte[] values = new byte [] {0,1,2,3,4,5,6,7,8,9};

      foreach (byte b in values) {
         Console.Write(b);
      }

      Console.WriteLine();

      MemoryStream ms = new MemoryStream (values);

      ms.Read(values, 1, 5);

      foreach (byte b in values) {
         Console.Write(b);
      }
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>0123456789 </para>
								<para>0012346789</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 ReadByte()"/>
					<MemberSignature Language="C#" Value="public override int ReadByte();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Reads a byte from the current stream at the current position.
      </para>
						</summary>
						<returns>
							<para> The byte cast to a <see cref="T:System.Int32"/>, or -1 if the end of the stream has been reached.
   </para>
						</returns>
						<exception cref="T:System.ObjectDisposedException"> The current stream is closed.</exception>
						<remarks>
							<para>If the read operation is successful, the current position
      within the stream is advanced by one byte. If an exception occurs, the
      current position within the stream is unchanged.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.Stream.ReadByte" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Seek">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int64 Seek(int64 offset, valuetype System.IO.SeekOrigin loc)"/>
					<MemberSignature Language="C#" Value="public override long Seek(long offset, SeekOrigin loc);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="offset" Type="System.Int64"/>
						<Parameter Name="loc" Type="System.IO.SeekOrigin"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sets the current position within the current stream to
      the specified value.</para>
						</summary>
						<param name="offset">A <see cref="T:System.Int64"/> that specifies the new position within the stream. This is relative to the <paramref name="loc "/> parameter, and may be positive or negative.</param>
						<param name="loc"> A <see cref="T:System.IO.SeekOrigin"/> value that specifies the seek reference point.</param>
						<returns>
							<para>A <see cref="T:System.Int64"/> containing the new position within the stream, calculated by
   combining the seek reference point and the offset.</para>
						</returns>
						<exception cref="T:System.IO.IOException">Seeking is attempted before the beginning or more than one byte beyond the end of the stream.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="offset"/> is greater than the maximum length of the <see cref="T:System.IO.MemoryStream"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="loc"/> is not a valid <see cref="T:System.IO.SeekOrigin"/> value.</exception>
						<exception cref="T:System.ObjectDisposedException"> The current stream is closed.</exception>
						<remarks>
							<para>The position cannot be set to more than one byte beyond the end of the stream.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.Stream.Seek(System.Int64,System.IO.SeekOrigin)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetLength">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void SetLength(int64 value)"/>
					<MemberSignature Language="C#" Value="public override void SetLength(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the length of the current stream to the specified value.</para>
						</summary>
						<param name="value">A <see cref="T:System.Int64"/> that specifies the value at which to set the length.</param>
						<exception cref="T:System.NotSupportedException">
							<para>The current stream is not resizable and <paramref name="value"/> is greater than the current <see cref="P:System.IO.MemoryStream.Capacity"/>.</para>
							<para>-or-</para>
							<para>The current stream does not support writing.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="value"/> is negative or is greater than the maximum length of the <see cref="T:System.IO.MemoryStream"/>, where the maximum length is (<see cref="F:System.Int32.MaxValue"/> - origin), and origin is the index into the underlying buffer at which the stream starts.</exception>
						<remarks>
							<para> If the specified value is less than the current length of the
      stream, the stream is truncated. If after the truncation the current position within the
      stream is past the end of the stream, the <see cref="M:System.IO.MemoryStream.ReadByte"/>
      method returns -1, the <see cref="M:System.IO.MemoryStream.Read(System.Byte[],System.Int32,System.Int32)"/> method reads zero bytes into the provided byte
      array, and <see cref="M:System.IO.MemoryStream.Write(System.Byte[],System.Int32,System.Int32)"/> and <see cref="M:System.IO.MemoryStream.WriteByte(System.Byte)"/> methods
      
      append specified bytes at the end of the stream, increasing its length.</para>
							<para>If the specified value is larger than the current
      capacity and the stream is resizable, the capacity is increased, and the current position
      within the stream is unchanged. If the length is increased, the contents
      of the stream between the old and the new length are initialized to zeros. </para>
							<block subset="none" type="note">
								<para>A <see cref="T:System.IO.MemoryStream"/> instance must support writing for this method to
      work. Use the <see cref="P:System.IO.MemoryStream.CanWrite"/> property to determine whether the
      current instance supports writing. For additional information, see <see cref="P:System.IO.Stream.CanWrite"/> .</para>
								<para>This method overrides <see cref="M:System.IO.Stream.SetLength(System.Int64)" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToArray">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Byte[] ToArray()"/>
					<MemberSignature Language="C#" Value="public virtual byte[] ToArray();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Writes the entire stream contents to a <see cref="T:System.Byte"/> array,
   regardless of the current position within the stream.</para>
						</summary>
						<returns>
							<para> A new <see cref="T:System.Byte"/> array.
   </para>
						</returns>
						<remarks>
							<para>This method returns a copy of the contents of
      the <see cref="T:System.IO.MemoryStream"/> as a byte array. If the
      current instance was constructed on a provided byte array, a copy of the section
      of the array to which the current instance has access is returned. <block subset="none" type="note">For
      additional information, see the <see cref="T:System.IO.MemoryStream"/> (<see cref="T:System.Byte"/>[], <see cref="T:System.Int32"/>, <see cref="T:System.Int32"/> )
      constructor.</block>
							</para>
							<para>
								<block subset="none" type="note">This method
      works when the <see cref="T:System.IO.MemoryStream"/> is
      closed.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(class System.Byte[] buffer, int32 offset, int32 count)"/>
					<MemberSignature Language="C#" Value="public override void Write(byte[] buffer, int offset, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a block of bytes
      to the current stream at the current position using data read from buffer.</para>
						</summary>
						<param name="buffer">The <see cref="T:System.Byte"/> array to write data from.</param>
						<param name="offset">A <see cref="T:System.Int32"/> that specifies the zero based byte offset into <paramref name="buffer"/> at which to begin writing from.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the maximum number of bytes to write from <paramref name="buffer"/>.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.NotSupportedException">
							<para>The current stream does not support writing.</para>
							<para>-or-</para>
							<para>The current position is closer than <paramref name="count "/>bytes to the end of the stream, and the capacity cannot be modified.</para>
						</exception>
						<exception cref="T:System.ArgumentException">(<paramref name="offset "/>+ <paramref name="count"/> ) is greater than the length of <paramref name="buffer"/>. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="offset"/> or <paramref name="count"/> are negative.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.ObjectDisposedException">The current stream is closed.</exception>
						<remarks>
							<para> If the write operation is
      successful, the current position within the stream is advanced by the number of
      bytes written. If an exception occurs, the current position within the stream
      is unchanged.</para>
							<para>Write operations at the end of a resizable <see cref="T:System.IO.MemoryStream"/> expand
   the <see cref="T:System.IO.MemoryStream"/>.</para>
							<para>
								<block subset="none" type="note">Use the <see cref="P:System.IO.MemoryStream.CanWrite"/> method to determine whether the current stream supports writing.</block>
							</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteByte(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public override void WriteByte(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a <see cref="T:System.Byte"/> to the current stream at the current position.</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> to write.</param>
						<exception cref="T:System.ObjectDisposedException">The current stream is closed.</exception>
						<exception cref="T:System.NotSupportedException">
							<para>The current stream does not support writing.</para>
							<para>-or-</para>
							<para>The current position is at the end of the stream, and the stream's capacity cannot be modified.</para>
						</exception>
						<remarks>
							<para>Write operations at the end of a resizable <see cref="T:System.IO.MemoryStream"/>
expand the <see cref="T:System.IO.MemoryStream"/>. If the write operation is
successful, the current position within the stream is advanced by one byte. If an
exception occurs, the position is unchanged.</para>
							<para>
								<block subset="none" type="note">Use the <see cref="P:System.IO.MemoryStream.CanWrite"/> method to determine 
whether the current stream supports writing.</block>
							</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.Stream.WriteByte(System.Byte)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteTo(class System.IO.Stream stream)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteTo(Stream stream);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="stream" Type="System.IO.Stream"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the entire contents of the current <see cref="T:System.IO.MemoryStream"/> instance to a specified stream.</para>
						</summary>
						<param name="stream">The <see cref="T:System.IO.Stream"/> to write the current memory stream to.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="stream"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ObjectDisposedException">The current or target stream is closed.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">When the current stream is open, this
      method is equivalent to calling <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)"/> and passing in the underlying buffer of the current instance.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Monitor" FullName="System.Threading.Monitor" FullNameSP="System_Threading_Monitor">
			<TypeSignature Language="ILASM" Value=".class public sealed Monitor extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class Monitor"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Provides
      a mechanism that synchronizes access to objects.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Threading.Monitor"/> class
   controls access to objects by granting a single thread a lock for an object.
   Object locks provide the
   ability to restrict access to a block of code, commonly called a critical section.
   While a thread owns the lock for an object no other thread can acquire the lock
   for the object. Additionally, the <see cref="T:System.Threading.Monitor"/>
   
   class can be used to ensure that no other thread may access a section of
   application code being executed by the lock owner, unless the other thread is
   executing the code using a different locked object. </para>
					<para> The following information is
   maintained for each synchronized object:</para>
					<list type="bullet">
						<item>
							<term>
      
      A reference to the thread that currently holds the
      lock.</term>
						</item>
						<item>
							<term>
      
      A reference to a "ready queue", which contains the
      threads that are ready to obtain the lock.</term>
						</item>
						<item>
							<term>
      
      A reference to a "waiting queue", which contains the threads that are
      waiting for notification of a change in the state of the locked
      object.</term>
						</item>
					</list>
					<para> The following table describes the actions taken by
   threads that access synchronized objects:<list type="table">
							<listheader>
								<term>Action</term>
								<description>Description</description>
							</listheader>
							<item>
								<term> Enter</term>
								<description> Acquires a lock for an
         object. Also marks the beginning of a critical section. No other
         thread can enter the critical section unless they are executing the instructions in the critical
         section using a different locked object. <block subset="none" type="note">See the <see cref="M:System.Threading.Monitor.Enter(System.Object)"/> and <see cref="M:System.Threading.Monitor.TryEnter(System.Object)"/>
         methods.</block>
								</description>
							</item>
							<item>
								<term> Wait</term>
								<description> Releases the lock on an object in order to permit
         other threads to lock and access the object. The calling thread waits
         while another thread accesses the object. Pulse signals (see below) are
         used to notify waiting threads about changes to an object's state.
      <block subset="none" type="note">See <see cref="M:System.Threading.Monitor.Wait(System.Object,System.Int32,System.Boolean)"/>
      
      .</block>
								</description>
							</item>
							<item>
								<term> Pulse
      (signal)</term>
								<description>Sends a signal to one or more waiting threads. The
      signal notifies a waiting thread that the state of the locked object has
      changed, and the owner of the lock is ready to release the lock. The
      waiting thread is placed in the object's ready queue so that it may
      eventually receive the lock for the object. Once the thread has the lock,
      it can check the new state of the object to see if the required state has
      been reached. <block subset="none" type="note">See <see cref="M:System.Threading.Monitor.Pulse(System.Object)"/> and <see cref="M:System.Threading.Monitor.PulseAll(System.Object)"/>
      
      .</block>
								</description>
							</item>
							<item>
								<term> Exit</term>
								<description> Releases the lock on an object. Also marks the end
      of a critical section protected by the locked object.
   <block subset="none" type="note">See <see cref="M:System.Threading.Monitor.Exit(System.Object)"/>
   .</block>
								</description>
							</item>
						</list>
					</para>
					<para> The
<see cref="M:System.Threading.Monitor.Enter(System.Object)"/> and <see cref="M:System.Threading.Monitor.Exit(System.Object)"/> methods 
   are used to
   mark the beginning and end of a critical section. If the critical section is
   a set of contiguous instructions, then the lock acquired by the <see cref="M:System.Threading.Monitor.Enter(System.Object)"/>
   method guarantees
   that only a single thread can execute the enclosed code with the locked
   object. This facility is typically used to synchronize access to a static or
   instance method of a class. If an instance method requires synchronized
   thread access, the instance method invokes the <see cref="M:System.Threading.Monitor.Enter(System.Object)"/>
   and corresponding <see cref="M:System.Threading.Monitor.Exit(System.Object)"/> methods using itself (the current
   instance) as the object to lock. Since only one thread can hold the lock on the
   current instance, the method can only be executed by one thread at a time.
   Static methods are protected in a similar fashion using the <see cref="T:System.Type"/>
   
   object of the current instance as the locked object.</para>
					<block subset="none" type="note">
						<para>The functionality provided by the <see cref="M:System.Threading.Monitor.Enter(System.Object)"/>
and <see cref="M:System.Threading.Monitor.Exit(System.Object)"/>
methods is identical to that provided by the C#
lock statement.</para>
						<para>If a critical section spans an entire method, the locking
   facility described above can be achieved by placing the <see cref="T:System.Runtime.CompilerServices.MethodImplAttribute"/> on the method, and specifying
   the <see cref="F:System.Runtime.CompilerServices.MethodImplOptions.Synchronized"/> option. Using this attribute,
   the <see cref="M:System.Threading.Monitor.Enter(System.Object)"/> and <see cref="M:System.Threading.Monitor.Exit(System.Object)"/> statements are not needed.
   Note that the attribute causes the current thread to hold the lock until
   the method returns; if the lock can be released sooner, use the <see cref="T:System.Threading.Monitor"/> class
   (or C# <see langword="lock"/>
   statement) instead of
   the attribute.</para>
						<para>While it is possible for the <see cref="M:System.Threading.Monitor.Enter(System.Object)"/> and
<see cref="M:System.Threading.Monitor.Exit(System.Object)"/> statements that lock and release a 
given object to cross member and/or class boundaries, this practice is strongly discouraged.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Enter">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Enter(object obj)"/>
					<MemberSignature Language="C#" Value="public static void Enter(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Acquires an
      exclusive lock on the specified object. </para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> on which to acquire the lock.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="obj "/>is <see langword="null"/>.</exception>
						<remarks>
							<para> This method acquires an exclusive
      lock on <paramref name="obj"/>
      .</para>
							<para> A caller of this method is required to invoke <see cref="M:System.Threading.Monitor.Exit(System.Object)"/> once 
   for each <see cref="M:System.Threading.Monitor.Enter(System.Object)"/> invoked.</para>
							<para>The caller of this method is blocked if another thread
   has obtained the lock by calling <see cref="M:System.Threading.Monitor.Enter(System.Object)"/>
   and specifying the same object. The caller
   is not blocked if the current thread holds the lock. The same thread can
   invoke <see cref="M:System.Threading.Monitor.Enter(System.Object)"/> more than once (and it will not block); however, an equal number of <see cref="M:System.Threading.Monitor.Exit(System.Object)"/> calls are required to be invoked before other
   threads waiting on the object will
   unblock.</para>
							<para>
								<block subset="none" type="note">Invoking this member is identical to
   using the C# <see langword="lock"/> statement.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Exit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Exit(object obj)"/>
					<MemberSignature Language="C#" Value="public static void Exit(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Releases an exclusive lock on the specified <see cref="T:System.Object"/> . </para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> on which to release the lock.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="obj "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.Threading.SynchronizationLockException">
							<para>The current thread does not own the lock for the specified object.</para>
						</exception>
						<remarks>
							<para>This method releases an exclusive lock on <paramref name="obj"/>. The caller is required to own the lock on
<paramref name="obj"/> 
.</para>
							<para> If the caller owns the
   lock on the specified object, and has made an equal number
   of <see cref="M:System.Threading.Monitor.Exit(System.Object)"/> and <see cref="M:System.Threading.Monitor.Enter(System.Object)"/> calls for
   the object, then the lock is released. If the caller has not
   invoked <see cref="M:System.Threading.Monitor.Exit(System.Object)"/> as many times as <see cref="M:System.Threading.Monitor.Enter(System.Object)"/>
   , the lock is not released.</para>
							<para>
								<block subset="none" type="note">If the lock is released and there are
   other threads in the ready queue for the object, one of the threads will
   acquire the lock. If there are other threads in the waiting queue
   waiting to acquire the lock, they are not automatically moved to the ready
   queue when the owner of the lock calls <see cref="M:System.Threading.Monitor.Exit(System.Object)"/>. To move one or more waiting
   threads into the ready queue, call <see cref="M:System.Threading.Monitor.Pulse(System.Object)"/> or <see cref="M:System.Threading.Monitor.PulseAll(System.Object)"/> prior to invoking <see cref="M:System.Threading.Monitor.Exit(System.Object)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Pulse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Pulse(object obj)"/>
					<MemberSignature Language="C#" Value="public static void Pulse(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Notifies the next waiting thread (if any) of a change in the specified locked object's state.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> a thread may be waiting for.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="obj "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.Threading.SynchronizationLockException">The calling thread does not own the lock for the specified object.</exception>
						<remarks>
							<para>The thread that currently owns the lock on the specified object
      invokes this method to signal the next thread in line for the lock (in the
      queue of threads waiting to acquire the lock on the object). Upon receiving the pulse, the
      waiting thread is moved to the ready queue. When the thread that invoked <see langword="Pulse"/> releases the lock, the
      next thread
      in the ready queue (which is not necessarily
      the thread that was pulsed) acquires the lock.</para>
							<block subset="none" type="note">
								<para> To signal a waiting object using <see langword="Pulse"/> , you must be the current owner of
      the lock.</para>
								<para> To signal multiple threads, use the
   <see cref="M:System.Threading.Monitor.PulseAll(System.Object)"/> method.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PulseAll">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void PulseAll(object obj)"/>
					<MemberSignature Language="C#" Value="public static void PulseAll(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Notifies all waiting threads (if any) of a change in the specified locked object's
      state.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> that one or more threads may be waiting for.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="obj "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.Threading.SynchronizationLockException">The calling thread does not own the lock for the specified object.</exception>
						<remarks>
							<para> The thread that currently owns the lock on the specified object invokes this method
      to signal all threads waiting to acquire the lock on the object. After the
      signal is sent, the waiting threads are moved to the ready queue. When the
      thread that invoked <see langword="PulseAll"/> releases the lock,
      the next thread in the ready queue acquires the lock.</para>
							<block subset="none" type="note">
								<para>To signal waiting objects using <see langword="PulseAll"/>, you must be the current owner of the
      lock.</para>
								<para>To signal a single thread, use the
   <see cref="M:System.Threading.Monitor.Pulse(System.Object)"/> method.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TryEnter">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool TryEnter(object obj)"/>
					<MemberSignature Language="C#" Value="public static bool TryEnter(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Attempts to acquire an exclusive lock on the specified object.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> on which to acquire the lock.</param>
						<returns>
							<para>
								<see langword="true "/> if the current thread acquired
   the lock; otherwise, <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="obj "/>is <see langword="null"/>.</exception>
						<remarks>
							<para> If successful, this method acquires an exclusive lock
      on <paramref name="obj"/>. This method returns immediately, whether or not the lock is available.</para>
							<para>This method is equivalent to <see cref="M:System.Threading.Monitor.TryEnter(System.Object)"/>
(<paramref name="obj"/>, 0). </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TryEnter">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool TryEnter(object obj, int32 millisecondsTimeout)"/>
					<MemberSignature Language="C#" Value="public static bool TryEnter(object obj, int millisecondsTimeout);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
						<Parameter Name="millisecondsTimeout" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Attempts, for the specified number
      of milliseconds, to acquire an exclusive
      lock on the specified object.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> on which to acquire the lock.</param>
						<param name=" millisecondsTimeout">A <see cref="T:System.Int32"/> containing the maximum number of milliseconds to wait for the lock.</param>
						<returns>
							<para>
								<see langword="true "/>if the current thread acquired the lock; otherwise, <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="obj "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="millisecondsTimeout "/>is negative, and not equal to <see cref="F:System.Threading.Timeout.Infinite"/> . </exception>
						<remarks>
							<para>If successful, this method acquires an exclusive lock on <paramref name="obj"/>. </para>
							<para>If <paramref name="millisecondsTimeout "/>equals <see cref="F:System.Threading.Timeout.Infinite"/>, this
method is equivalent to <see cref="M:System.Threading.Monitor.Enter(System.Object)"/>
(<paramref name="obj"/>). If
<paramref name="millisecondsTimeout "/>equals zero, this method is 
equivalent to <see cref="M:System.Threading.Monitor.TryEnter(System.Object)"/>
(<paramref name="obj"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TryEnter">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool TryEnter(object obj, valuetype System.TimeSpan timeout)"/>
					<MemberSignature Language="C#" Value="public static bool TryEnter(object obj, TimeSpan timeout);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
						<Parameter Name="timeout" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Attempts, for the specified amount of time, to acquire an exclusive lock
      on the specified object.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> on which to acquire the lock.</param>
						<param name=" timeout">A <see cref="T:System.TimeSpan"/> set to the maximum amount of time to wait for the lock.</param>
						<returns>
							<para>
								<see langword="true "/>if the current thread acquires the lock; otherwise, <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="obj "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="timeout "/>in milliseconds is negative and is not equal to <see cref="F:System.Threading.Timeout.Infinite"/> , or is greater than <see cref="F:System.Int32.MaxValue"/> .</exception>
						<remarks>
							<para>If successful, this method acquires an exclusive lock on <paramref name="obj"/>. </para>
							<para>If the value of <paramref name="timeout "/> converted to milliseconds equals <see cref="F:System.Threading.Timeout.Infinite"/>, this method is equivalent to <see cref="M:System.Threading.Monitor.Enter(System.Object)"/>
(<paramref name="obj"/>). If the value of <paramref name="timeout "/>equals zero, this method is equivalent to
<see cref="M:System.Threading.Monitor.TryEnter(System.Object)"/> 
(<paramref name="obj"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Wait">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool Wait(object obj, int32 millisecondsTimeout)"/>
					<MemberSignature Language="C#" Value="public static bool Wait(object obj, int millisecondsTimeout);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
						<Parameter Name="millisecondsTimeout" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Releases the lock on an object and blocks the current thread
      until it reacquires the lock
      or until a specified amount of time elapses.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> on which to wait.</param>
						<param name="millisecondsTimeout">A <see cref="T:System.Int32"/> containing the maximum number of milliseconds to wait before this method returns.</param>
						<returns>
							<para>
								<see langword="true"/> if the lock was reacquired before the specified time elapsed; otherwise,
<see langword="false"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="obj "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.Threading.SynchronizationLockException">The calling thread does not own the lock for the specified object.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="millisecondsTimeout "/> is negative, and not equal to <see cref="F:System.Threading.Timeout.Infinite"/> .</exception>
						<remarks>
							<para>If successful, this method reacquires an exclusive lock on <paramref name="obj"/>. </para>
							<para>This method behaves identically to <see cref="M:System.Threading.Monitor.Wait(System.Object,System.Int32,System.Boolean)"/> (<paramref name="obj"/>), except that it does not block indefinitely unless
<see cref="F:System.Threading.Timeout.Infinite"/> is 
specified for <paramref name="millisecondsTimeout"/> . Once the specified time has elapsed, this
method returns a value that indicates whether the lock has been reacquired by the
caller. If <paramref name="millisecondsTimeout"/> equals 0, this method returns
immediately.</para>
							<para>
								<block subset="none" type="note">This method is
   called when the caller is waiting for a change in the state of the object, which
   occurs as a result of another thread's operations on the object. For additional
   details, see <see cref="M:System.Threading.Monitor.Wait(System.Object,System.Int32,System.Boolean)"/>
   
   (<paramref name="obj"/>).</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Wait">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool Wait(object obj, valuetype System.TimeSpan timeout)"/>
					<MemberSignature Language="C#" Value="public static bool Wait(object obj, TimeSpan timeout);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
						<Parameter Name="timeout" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Releases the lock on an object and blocks the current thread
      until it reacquires the lock
      or until a specified amount of time elapses.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> on which to wait.</param>
						<param name="timeout">A <see cref="T:System.TimeSpan"/> set to the maximum amount of time to wait before this method returns.</param>
						<returns>
							<para>
								<see langword="true"/> if the lock was reacquired before
   the specified time elapsed; otherwise, <see langword="false"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="obj "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.Threading.SynchronizationLockException">The calling thread does not own the lock for the specified object.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">If <paramref name="timeout "/>is negative, and is not equal to <see cref="F:System.Threading.Timeout.Infinite"/> , or is greater than <see cref="F:System.Int32.MaxValue"/>.</exception>
						<remarks>
							<para>If successful, this method reacquires an exclusive lock on <paramref name="obj"/>. </para>
							<para>This method behaves identically to <see cref="M:System.Threading.Monitor.Wait(System.Object,System.Int32,System.Boolean)"/> (<paramref name="obj"/>), except that it does not block indefinitely unless
<see cref="F:System.Threading.Timeout.Infinite"/> 
milliseconds is
specified for <paramref name="timeout"/> . Once the specified time has elapsed, this
method returns a value that indicates whether the lock has been reacquired by the
caller. If <paramref name="timeout"/> equals 0, this method returns immediately.</para>
							<para>
								<block subset="none" type="note">This method is
   called when the caller is waiting for a change in the state of the object, which
   occurs as a result of another thread's operations on the object. For additional
   details, see <see cref="M:System.Threading.Monitor.Wait(System.Object,System.Int32,System.Boolean)"/>
   
   (<paramref name="obj"/>
   ).</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Wait">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool Wait(object obj)"/>
					<MemberSignature Language="C#" Value="public static bool Wait(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Releases the lock on an object and blocks the current
      thread until it reacquires the lock.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> on which to wait.</param>
						<returns>
							<para>
								<see langword="true "/> if the
   call returned because the caller reacquired the lock for the specified object.
   This method does not return if the lock is not reacquired. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="obj "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.Threading.SynchronizationLockException">The calling thread does not own the lock for the specified object.</exception>
						<remarks>
							<para>This method reacquires an exclusive lock on <paramref name="obj"/>. </para>
							<para> The thread that currently owns the
   lock on the specified object invokes this method in order to release the object
   so that another thread can access it. The caller is blocked while waiting to reacquire the lock. This method is called when the caller is
   waiting for a change in the state of the object, which occurs as a result of another
   thread's operations on the object.</para>
							<para>When a thread calls <see langword="Wait"/>, it releases the lock on the object
and enters the object's waiting queue. The next thread in the object's ready
queue (if there is one) acquires the lock and has exclusive use of the object.
All threads that call <see langword="Wait "/> remain in the waiting queue until
they receive a signal via <see cref="M:System.Threading.Monitor.Pulse(System.Object)"/> or <see cref="M:System.Threading.Monitor.PulseAll(System.Object)"/> sent by the
owner of the lock. If <see langword="Pulse"/> is sent, only the thread at the
head of the waiting queue is affected. If <see langword="PulseAll"/> is sent, all threads that are waiting for
the object are affected. When the signal is received, one or more threads leave
the waiting queue and enter the ready queue. A thread in the ready queue
is permitted to reacquire the lock.</para>
							<para>This method returns when the calling thread reacquires the lock on the object. Note that this method blocks indefinitely if
   the holder of the lock does not call <see cref="M:System.Threading.Monitor.Pulse(System.Object)"/> or <see cref="M:System.Threading.Monitor.PulseAll(System.Object)"/>.</para>
							<para>The caller executes <see cref="M:System.Threading.Monitor.Wait(System.Object,System.Int32,System.Boolean)"/> once, regardless of the number of times
<see cref="M:System.Threading.Monitor.Enter(System.Object)"/> has been 
invoked for the specified object. Conceptually,
the <see cref="M:System.Threading.Monitor.Wait(System.Object,System.Int32,System.Boolean)"/> method stores the number of times
the caller invoked <see cref="M:System.Threading.Monitor.Enter(System.Object)"/> on the object
and invokes <see cref="M:System.Threading.Monitor.Exit(System.Object)"/>
as many times as necessary to fully release the locked object. The caller then
blocks while waiting to reacquire the object. When the caller reacquires the lock, the system calls <see cref="M:System.Threading.Monitor.Enter(System.Object)"/>
as many times as necessary to restore the saved <see langword="Enter"/>
count for the caller.</para>
							<para>Calling <see cref="M:System.Threading.Monitor.Wait(System.Object,System.Int32,System.Boolean)"/> releases the lock for the specified object
only; if the caller is the owner of locks on other objects, these locks are not
released.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="NotImplementedException" FullName="System.NotImplementedException" FullNameSP="System_NotImplementedException">
			<TypeSignature Language="ILASM" Value=".class public serializable NotImplementedException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class NotImplementedException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> 
Represents the error that occurs when a requested operation is not implemented for a given type.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>A number of the types and constructs, specified elsewhere in this Standard, are not required of CLI implementations that conform only to the Kernel Profile. For example, the floating-point feature set consists of the floating-point data types <see cref="T:System.Single"/>and <see cref="T:System.Double"/>. If support for these is omitted from an implementation, any attempt to reference a signature that includes the floating-point data types results in an exception of type <see cref="T:System.NotImplementedException"/>
 .</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public NotImplementedException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.NotImplementedException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.NotImplementedException.Message"/> property of the new instance to a system-supplied
   message that describes the error. This message takes into account the current
   system culture.</para>
							<para>The <see cref="!:System.NotImplementedException.InnerException"/> property is initialized to 
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public NotImplementedException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.NotImplementedException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.NotImplementedException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.NotImplementedException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no
   arguments. The <see cref="!:System.NotImplementedException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public NotImplementedException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.NotImplementedException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current Exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.NotImplementedException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="!:System.NotImplementedException.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.NotImplementedException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no
   arguments. </para>
							<para>
								<block subset="none" type="note">For information on inner exceptions, see
<see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="NotSupportedException" FullName="System.NotSupportedException" FullNameSP="System_NotSupportedException">
			<TypeSignature Language="ILASM" Value=".class public serializable NotSupportedException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class NotSupportedException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> 
 Represents the error that occurs when an object cannot
 perform an operation.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>
							<see cref="T:System.NotSupportedException"/> is thrown when it is never possible for 
 the object to perform the requested operation. A typical scenario is when a base
 class declares a method that derived classes are required to implement, and the
 method is invoked on the base class. When a method throws <see cref="T:System.NotSupportedException"/>
 this usually indicates that the derived classes must provide an implementation
 of the method, and callers must invoke the method
 on the derived class.</para>
						<para>For scenarios where it is sometimes possible for the 
 object to perform the requested operation, and the object state determines
 whether the operation can be performed, see <see cref="T:System.InvalidOperationException"/>
 .</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public NotSupportedException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.NotSupportedException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.NotSupportedException.Message"/> property of the new instance to a system-supplied
   message that describes the error. This message takes into account the current
   system culture.</para>
							<para>The <see cref="!:System.NotSupportedException.InnerException"/> property is initialized to 
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public NotSupportedException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.NotSupportedException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.NotSupportedException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.NotSupportedException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no
   arguments. The <see cref="!:System.NotSupportedException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public NotSupportedException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.NotSupportedException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current Exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.NotSupportedException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="!:System.NotSupportedException.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.NotSupportedException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no
   arguments. </para>
							<para>
								<block subset="none" type="note">For information on inner exceptions, see
<see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="NullReferenceException" FullName="System.NullReferenceException" FullNameSP="System_NullReferenceException">
			<TypeSignature Language="ILASM" Value=".class public serializable NullReferenceException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class NullReferenceException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when there is an attempt
      to dereference a null object reference.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>Applications throw the <see cref="T:System.ArgumentNullException"/>
   rather than <see cref="T:System.NullReferenceException"/>
   .</para>
						<para>The following IL instructions throw <see cref="T:System.NullReferenceException"/>
:</para>
						<list type="bullet">
							<item>
								<term>
      callvirt</term>
							</item>
							<item>
								<term>cpblk</term>
							</item>
							<item>
								<term>cpobj</term>
							</item>
							<item>
								<term>ldelema</term>
							</item>
							<item>
								<term>ldelem.&lt;type&gt;</term>
							</item>
							<item>
								<term>ldfld</term>
							</item>
							<item>
								<term>ldflda</term>
							</item>
							<item>
								<term>ldind.&lt;type&gt;</term>
							</item>
							<item>
								<term>ldlen</term>
							</item>
							<item>
								<term>stelem.&lt;type&gt;</term>
							</item>
							<item>
								<term>stind.&lt;type&gt;</term>
							</item>
							<item>
								<term>stfld</term>
							</item>
							<item>
								<term>throw</term>
							</item>
							<item>
								<term>unbox</term>
							</item>
							<item>
								<term>initblk</term>
							</item>
						</list>
					</block>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes
      a <see cref="T:System.NullReferenceException"/> exception.</para>
					<code lang="C#">using System;
public class Ints {
   public int[] myInts;
}
public class NullRefExample {
   public static void Main() {
      Ints ints = new Ints();
      try {
         int i = ints.myInts[0];
      }
      catch( NullReferenceException e ) {
         Console.WriteLine( "Caught error: {0}.", e);
      }
   }
}
   </code>
					<para>The output is</para>
					<code>
Caught error: System.NullReferenceException: Object reference not set to an instance of an object.
   at NullRefExample.Main().
 </code>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public NullReferenceException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.NullReferenceException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.NullReferenceException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "The value 'null' was found where an
   instance of an object was required." This message takes into account the current
   system culture.</para>
							<para>The <see cref="!:System.NullReferenceException.InnerException"/> property is initialized to 
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public NullReferenceException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.NullReferenceException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.NullReferenceException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.NullReferenceException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments. The <see cref="!:System.NullReferenceException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public NullReferenceException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.NullReferenceException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current Exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.NullReferenceException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="!:System.NullReferenceException.InnerException"/> property using
<paramref name="innerException"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.NullReferenceException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For information on
   inner exceptions, see <see cref="P:System.Exception.InnerException"/>
   .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="NumberFormatInfo" FullName="System.Globalization.NumberFormatInfo" FullNameSP="System_Globalization_NumberFormatInfo">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable NumberFormatInfo extends System.Object implements System.ICloneable, System.IFormatProvider"/>
			<TypeSignature Language="C#" Value="public sealed class NumberFormatInfo : ICloneable, IFormatProvider"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Supplies culture-specific formatting information for
      string representations of numeric values.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Globalization.NumberFormatInfo"/> supplies symbols such as currency symbols and decimal
   separators.</para>
					<para>
						<block subset="none" type="note">A <see cref="T:System.Globalization.NumberFormatInfo"/>
instance typically contains the set of symbols for a specific language and
culture. Instances of <see cref="T:System.Globalization.NumberFormatInfo"/> may be created to provide customized formatting
information. </block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.ICloneable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IFormatProvider</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public NumberFormatInfo();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Globalization.NumberFormatInfo"/> class.</para>
						</summary>
						<remarks>
							<para>The new instance is not read-only, and is otherwise
      identical to the <see cref="T:System.Globalization.NumberFormatInfo"/> instance returned by the <see cref="P:System.Globalization.NumberFormatInfo.InvariantInfo"/> property.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Clone">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual object Clone()"/>
					<MemberSignature Language="C#" Value="public object Clone();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Creates a copy of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Object"/> that is a copy of the current
   instance.</para>
						</returns>
						<remarks>
							<para>The <see cref="M:System.Globalization.NumberFormatInfo.Clone"/> method returns a new instance of <see cref="T:System.Globalization.NumberFormatInfo"/> with property values that are equal to the
   property values of the current instance. If the current instance is read-only,
   the clone is also read-only.</para>
							<para>
								<block subset="none" type="note">This method is
   implemented to support the <see cref="T:System.ICloneable"/> interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CurrencyDecimalDigits">
					<MemberSignature Language="ILASM" Value=".property int32 CurrencyDecimalDigits { public hidebysig specialname instance int32 get_CurrencyDecimalDigits() public hidebysig specialname instance void set_CurrencyDecimalDigits(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int CurrencyDecimalDigits { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the number of decimal places in currency values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/>
containing the number of decimal places in currency values.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is less than 0 or greater than 99.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is 2.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CurrencyDecimalSeparator">
					<MemberSignature Language="ILASM" Value=".property string CurrencyDecimalSeparator { public hidebysig specialname instance string get_CurrencyDecimalSeparator() public hidebysig specialname instance void set_CurrencyDecimalSeparator(string value) }"/>
					<MemberSignature Language="C#" Value="public string CurrencyDecimalSeparator { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the symbol used as the decimal separator in currency values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the decimal separator used in currency values.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is
      ".".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CurrencyGroupSeparator">
					<MemberSignature Language="ILASM" Value=".property string CurrencyGroupSeparator { public hidebysig specialname instance string get_CurrencyGroupSeparator() public hidebysig specialname instance void set_CurrencyGroupSeparator(string value) }"/>
					<MemberSignature Language="C#" Value="public string CurrencyGroupSeparator { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the symbol used to separate groups of
      digits to the left of the decimal point in currency values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/>
containing the group separator used in currency values.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is ",".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CurrencyGroupSizes">
					<MemberSignature Language="ILASM" Value=".property class System.Int32[] CurrencyGroupSizes { public hidebysig specialname instance class System.Int32[] get_CurrencyGroupSizes() public hidebysig specialname instance void set_CurrencyGroupSizes(class System.Int32[] value) }"/>
					<MemberSignature Language="C#" Value="public int[] CurrencyGroupSizes { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the number of digits in each group to the
      left of the decimal point in currency values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> array containing elements that define the number of digits in
   each group in currency values.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The array specified for a set operation is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">One of the elements in the array specified for a set operation is not between 0 and 9.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>All elements of the array except the last are required
      to be between 1 and 9, inclusive. The last element can be 0.</para>
							<para>The first element of the array defines the number of
      elements in the first group of digits located immediately to the left of the
   <see cref="P:System.Globalization.NumberFormatInfo.CurrencyDecimalSeparator"/>. Each subsequent element refers to the next group of
      digits located to the left of the previous group. If the last element of the
      array is not zero, any remaining digits are grouped based on the last element of
      the array. If the last element is zero, the remaining digits are not
      grouped.</para>
							<para>The culture-invariant value for this property is an
      array with a single element containing the value 3.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the effects of
      different <see cref="P:System.Globalization.NumberFormatInfo.CurrencyGroupSizes"/>
      property values.</para>
							<code lang="C#">using System;
using System.Globalization;
class Test {
    public static void Main() {
    NumberFormatInfo nfi = new NumberFormatInfo();
    
    decimal myMoney = 9999999994444333221.00m;
    nfi.CurrencyGroupSizes = new int[] {1,2,3,4,0};
    Console.WriteLine("{0}",myMoney.ToString("C",nfi));

    myMoney = 123456789123456.78m;
    nfi.CurrencyGroupSizes = new int[] {3};
    Console.WriteLine("{0}",myMoney.ToString("C",nfi));

    nfi.CurrencyGroupSizes = new int[] {3,0};
    Console.WriteLine("{0}",myMoney.ToString("C",nfi));

    }
}
   </code>
							<para>The output is</para>
							<c>
								<para>$999999999,4444,333,22,1.00</para>
								<para>$123,456,789,123,456.78</para>
								<para>$123456789123,456.78</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CurrencyNegativePattern">
					<MemberSignature Language="ILASM" Value=".property int32 CurrencyNegativePattern { public hidebysig specialname instance int32 get_CurrencyNegativePattern() public hidebysig specialname instance void set_CurrencyNegativePattern(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int CurrencyNegativePattern { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the format of negative currency values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/>
between 0 and 15 inclusive, which specifies the format of negative currency
values.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is less than 0 or greater than 15.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The following table describes the valid values for this
      property. "$" is used as the value for <see cref="P:System.Globalization.NumberFormatInfo.CurrencySymbol"/>, "-" is used as the value for <see cref="P:System.Globalization.NumberFormatInfo.NegativeSign"/>, and 999 represents any numeric value.</para>
							<list type="table">
								<listheader>
									<term>Value</term>
									<description>Pattern</description>
								</listheader>
								<item>
									<term> 0</term>
									<description>($999)</description>
								</item>
								<item>
									<term> 1</term>
									<description>-$999</description>
								</item>
								<item>
									<term> 2</term>
									<description>$-999</description>
								</item>
								<item>
									<term> 3</term>
									<description>$999-</description>
								</item>
								<item>
									<term> 4</term>
									<description>(999$)</description>
								</item>
								<item>
									<term> 5</term>
									<description>-999$</description>
								</item>
								<item>
									<term> 6</term>
									<description>999-$</description>
								</item>
								<item>
									<term> 7</term>
									<description>999$-</description>
								</item>
								<item>
									<term> 8</term>
									<description>-999
            $</description>
								</item>
								<item>
									<term> 9</term>
									<description>-$
            999</description>
								</item>
								<item>
									<term> 10</term>
									<description>999 $-</description>
								</item>
								<item>
									<term> 11</term>
									<description>$
            999-</description>
								</item>
								<item>
									<term> 12</term>
									<description>$
            -999</description>
								</item>
								<item>
									<term> 13</term>
									<description>999- $</description>
								</item>
								<item>
									<term> 14</term>
									<description>($
            999)</description>
								</item>
								<item>
									<term> 15</term>
									<description>(999
            $)</description>
								</item>
							</list>
							<para>The culture-invariant value for this property is 0.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the effects of
      different <see cref="P:System.Globalization.NumberFormatInfo.CurrencyNegativePattern"/>
      property values.</para>
							<code lang="C#">using System;
using System.Globalization;
class Test {
 public static void Main() {
 NumberFormatInfo nfi = new NumberFormatInfo();
 decimal myMoney = -9999999999999.00m;
 for (int i = 0; i&lt;=15; i++) {
 nfi.CurrencyNegativePattern = i;
 Console.WriteLine("pattern # {0}: {1}",i,myMoney.ToString("C",nfi));
 }
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>pattern # 0: ($9,999,999,999,999.00)</para>
								<para>pattern # 1: -$9,999,999,999,999.00</para>
								<para>pattern # 2: $-9,999,999,999,999.00</para>
								<para>pattern # 3: $9,999,999,999,999.00-</para>
								<para>pattern # 4: (9,999,999,999,999.00$)</para>
								<para>pattern # 5: -9,999,999,999,999.00$</para>
								<para>pattern # 6: 9,999,999,999,999.00-$</para>
								<para>pattern # 7: 9,999,999,999,999.00$-</para>
								<para>pattern # 8: -9,999,999,999,999.00 $</para>
								<para>pattern # 9: -$ 9,999,999,999,999.00</para>
								<para>pattern # 10: 9,999,999,999,999.00 $-</para>
								<para>pattern # 11: $ 9,999,999,999,999.00-</para>
								<para>pattern # 12: $ -9,999,999,999,999.00</para>
								<para>pattern # 13: 9,999,999,999,999.00- $</para>
								<para>pattern # 14: ($ 9,999,999,999,999.00)</para>
								<para>pattern # 15: (9,999,999,999,999.00 $)</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CurrencyPositivePattern">
					<MemberSignature Language="ILASM" Value=".property int32 CurrencyPositivePattern { public hidebysig specialname instance int32 get_CurrencyPositivePattern() public hidebysig specialname instance void set_CurrencyPositivePattern(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int CurrencyPositivePattern { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the format of positive currency values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/>
between 0 and 3 inclusive, containing the format of positive currency
values.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is less than 0 or greater than 3.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The following table describes the valid values for this
      property. "$" is used as the value for <see cref="P:System.Globalization.NumberFormatInfo.CurrencySymbol"/>, and 999 represents any numeric value.</para>
							<list type="table">
								<listheader>
									<term>Value</term>
									<description>Pattern</description>
								</listheader>
								<item>
									<term> 0</term>
									<description>$999</description>
								</item>
								<item>
									<term> 1</term>
									<description>999$</description>
								</item>
								<item>
									<term> 2</term>
									<description>$ 
            999</description>
								</item>
								<item>
									<term> 3</term>
									<description>999 $</description>
								</item>
							</list>
							<para>The culture-invariant value for this property is 0.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the effects of
      different <see cref="P:System.Globalization.NumberFormatInfo.CurrencyPositivePattern"/> property values.</para>
							<code lang="C#">using System;
using System.Globalization;
class Test {
 public static void Main() {
 NumberFormatInfo nfi = new NumberFormatInfo();
 decimal myMoney = 9999999999999.00m;
 for (int i = 0; i&lt;=3; i++) {
 nfi.CurrencyPositivePattern = i;
 Console.WriteLine("pattern # {0}: {1}",i,myMoney.ToString("C",nfi));
 }
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>pattern # 0: $9,999,999,999,999.00</para>
								<para>pattern # 1: 9,999,999,999,999.00$</para>
								<para>pattern # 2: $ 9,999,999,999,999.00</para>
								<para>pattern # 3: 9,999,999,999,999.00 $</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CurrencySymbol">
					<MemberSignature Language="ILASM" Value=".property string CurrencySymbol { public hidebysig specialname instance string get_CurrencySymbol() public hidebysig specialname instance void set_CurrencySymbol(string value) }"/>
					<MemberSignature Language="C#" Value="public string CurrencySymbol { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the currency symbol.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/>
containing the currency symbol.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is the Unicode currency symbol 
      0x00a4.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CurrentInfo">
					<MemberSignature Language="ILASM" Value=".property class System.Globalization.NumberFormatInfo CurrentInfo { public hidebysig static specialname class System.Globalization.NumberFormatInfo get_CurrentInfo() }"/>
					<MemberSignature Language="C#" Value="public static NumberFormatInfo CurrentInfo { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberFormatInfo</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing formatting
 information for the current system culture.</para>
						</summary>
						<value>
							<para>A read-only <see cref="T:System.Globalization.NumberFormatInfo"/> containing the settings for the current
 system culture.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetFormat">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual object GetFormat(class System.Type formatType)"/>
					<MemberSignature Language="C#" Value="public object GetFormat(Type formatType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="formatType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns an object of the specified type that provides formatting services.</para>
						</summary>
						<param name="formatType">The <see cref="T:System.Type"/> of the formatting object to be returned.</param>
						<returns>
							<para>A formatting object of the specified <see cref="T:System.Type"/>. If no formatting
   object of the specified type is available, or <paramref name="formatType"/> is a null reference, returns the formatting object
   for the current culture.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method is
      implemented to support the <see cref="T:System.IFormatProvider"/> interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="InvariantInfo">
					<MemberSignature Language="ILASM" Value=".property class System.Globalization.NumberFormatInfo InvariantInfo { public hidebysig static specialname class System.Globalization.NumberFormatInfo get_InvariantInfo() }"/>
					<MemberSignature Language="C#" Value="public static NumberFormatInfo InvariantInfo { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberFormatInfo</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing formatting
   information that is culture-independent and does not change.</para>
						</summary>
						<value>
							<para>A read-only <see cref="T:System.Globalization.NumberFormatInfo"/> with property values which are
   universally supported. The property values of the returned <see cref="T:System.Globalization.NumberFormatInfo"/> are not
   impacted by changes to the current culture.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The following table lists the property values of the
   <see cref="T:System.Globalization.NumberFormatInfo"/>
   returned by this property.</para>
							<list type="table">
								<listheader>
									<term>Property</term>
									<description>Default</description>
									<description>Description</description>
								</listheader>
								<item>
									<term>
										<see langword="CurrencyDecimalDigits"/>
									</term>
									<description>2</description>
									<description>The number of decimal places in currency
      values.</description>
								</item>
								<item>
									<term>
										<see langword="CurrencyDecimalSeparator"/>
									</term>
									<description>"."</description>
									<description>The string used as the decimal separator in currency values.</description>
								</item>
								<item>
									<term>
										<see langword="CurrencyGroupSeparator"/>
									</term>
									<description>","</description>
									<description>The string used to separate groups of digits to the left of the
   decimal point in currency values.</description>
								</item>
								<item>
									<term>
										<see langword="CurrencyGroupSizes"/>
									</term>
									<description>3</description>
									<description>The number of digits in each group to the left of the decimal point in
   currency values.</description>
								</item>
								<item>
									<term>
										<see langword="CurrencyNegativePattern"/>
									</term>
									<description>0</description>
									<description>The format of negative currency values.</description>
								</item>
								<item>
									<term>
										<see langword="CurrencyPositivePattern"/>
									</term>
									<description>0</description>
									<description>The format of positive currency values.</description>
								</item>
								<item>
									<term>
										<see langword="CurrencySymbol"/>
									</term>
									<description>0x00a4</description>
									<description>The Unicode currency symbol.</description>
								</item>
								<item>
									<term>
										<see langword="NaNSymbol"/>
									</term>
									<description>"NaN"</description>
									<description>The string used to represent undefined floating-point values.</description>
								</item>
								<item>
									<term>
										<see langword="NegativeInfinitySymbol"/>
									</term>
									<description>"-Infinity"</description>
									<description>The string used to represent negative infinities.</description>
								</item>
								<item>
									<term>
										<see langword="NegativeSign"/>
									</term>
									<description>"-"</description>
									<description>The string used to indicate negative values.</description>
								</item>
								<item>
									<term>
										<see langword="NumberDecimalDigits"/>
									</term>
									<description>2</description>
									<description>The default number of decimal places.</description>
								</item>
								<item>
									<term>
										<see langword="NumberDecimalSeparator"/>
									</term>
									<description>"."</description>
									<description>The string used as the decimal separator.</description>
								</item>
								<item>
									<term>
										<see langword="NumberGroupSeparator"/>
									</term>
									<description>","</description>
									<description>The string used to separate groups of digits to the left of the
   decimal point.</description>
								</item>
								<item>
									<term>
										<see langword="NumberGroupSizes"/>
									</term>
									<description>3</description>
									<description>The number of digits in each group to the left of the decimal
   point.</description>
								</item>
								<item>
									<term>
										<see langword="NumberNegativePattern"/>
									</term>
									<description>1</description>
									<description>The format of negative values.</description>
								</item>
								<item>
									<term>
										<see langword="PercentDecimalDigits"/>
									</term>
									<description>2</description>
									<description>The default number of decimal places in percent values.</description>
								</item>
								<item>
									<term>
										<see langword="PercentDecimalSeparator"/>
									</term>
									<description>"."</description>
									<description>The string used as the decimal separator in percent values.</description>
								</item>
								<item>
									<term>
										<see langword="PercentGroupSeparator"/>
									</term>
									<description>","</description>
									<description>The string used to separate groups of digits to the left of the
   decimal point in percent values.</description>
								</item>
								<item>
									<term>
										<see langword="PercentGroupSizes"/>
									</term>
									<description>3</description>
									<description>The number of digits in each group to the left of the decimal in
   percent values.</description>
								</item>
								<item>
									<term>
										<see langword="PercentNegativePattern"/>
									</term>
									<description>0</description>
									<description>The format of negative percent values.</description>
								</item>
								<item>
									<term>
										<see langword="PercentPositivePattern"/>
									</term>
									<description>0</description>
									<description>The format of positive percent values.</description>
								</item>
								<item>
									<term>
										<see langword="PercentSymbol"/>
									</term>
									<description>"%"</description>
									<description>The percent symbol.</description>
								</item>
								<item>
									<term>
										<see langword="PerMilleSymbol"/>
									</term>
									<description>"<permille/>"</description>
									<description>The per mille symbol.</description>
								</item>
								<item>
									<term>
										<see langword="PositiveInfinitySymbol"/>
									</term>
									<description>"Infinity"</description>
									<description>The string used to represent positive infinities.</description>
								</item>
								<item>
									<term>
										<see langword="PositiveSign"/>
									</term>
									<description>"+"</description>
									<description>The string used to indicate positive values.</description>
								</item>
							</list>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsReadOnly">
					<MemberSignature Language="ILASM" Value=".property bool IsReadOnly { public hidebysig specialname instance bool get_IsReadOnly() }"/>
					<MemberSignature Language="C#" Value="public bool IsReadOnly { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a value indicating whether the current instance is read-only.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the current instance is read-only; otherwise
<see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only. </para>
							<para>
								<block subset="none" type="note">Attempting to perform an assignment to a
      property of a read-only <see cref="T:System.Globalization.NumberFormatInfo"/> causes a <see cref="T:System.InvalidOperationException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NaNSymbol">
					<MemberSignature Language="ILASM" Value=".property string NaNSymbol { public hidebysig specialname instance string get_NaNSymbol() public hidebysig specialname instance void set_NaNSymbol(string value) }"/>
					<MemberSignature Language="C#" Value="public string NaNSymbol { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the symbol that represents NaN
      (Not-a-Number) floating-point values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/>
containing the symbol for NaN values. </para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is
      "NaN".</para>
							<para>
								<block subset="none" type="note">For more
      information on NaN
      values, see <see cref="T:System.Double"/> or <see cref="T:System.Single"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NegativeInfinitySymbol">
					<MemberSignature Language="ILASM" Value=".property string NegativeInfinitySymbol { public hidebysig specialname instance string get_NegativeInfinitySymbol() public hidebysig specialname instance void set_NegativeInfinitySymbol(string value) }"/>
					<MemberSignature Language="C#" Value="public string NegativeInfinitySymbol { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the symbol that represents negative infinity.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/>
containing the symbol for negative infinity. </para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is
      "-Infinity".</para>
							<para>
								<block subset="none" type="note">For more
      information on negative infinity, see <see cref="T:System.Double"/> or <see cref="T:System.Single"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NegativeSign">
					<MemberSignature Language="ILASM" Value=".property string NegativeSign { public hidebysig specialname instance string get_NegativeSign() public hidebysig specialname instance void set_NegativeSign(string value) }"/>
					<MemberSignature Language="C#" Value="public string NegativeSign { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the symbol used to represent negative values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/>
containing the symbol that indicates a value is negative. </para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is
      "-".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NumberDecimalDigits">
					<MemberSignature Language="ILASM" Value=".property int32 NumberDecimalDigits { public hidebysig specialname instance int32 get_NumberDecimalDigits() public hidebysig specialname instance void set_NumberDecimalDigits(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int NumberDecimalDigits { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the number of decimal places for numeric values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/>
containing the number of decimal places for numeric values.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is less than 0 or greater than 99.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is 2.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NumberDecimalSeparator">
					<MemberSignature Language="ILASM" Value=".property string NumberDecimalSeparator { public hidebysig specialname instance string get_NumberDecimalSeparator() public hidebysig specialname instance void set_NumberDecimalSeparator(string value) }"/>
					<MemberSignature Language="C#" Value="public string NumberDecimalSeparator { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the symbol used as the decimal separator
      for numeric values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/>
containing the decimal separator.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is
      ".".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NumberGroupSeparator">
					<MemberSignature Language="ILASM" Value=".property string NumberGroupSeparator { public hidebysig specialname instance string get_NumberGroupSeparator() public hidebysig specialname instance void set_NumberGroupSeparator(string value) }"/>
					<MemberSignature Language="C#" Value="public string NumberGroupSeparator { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the symbol used to separate groups of
      digits to the left of the decimal point for numeric values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/>
containing the group separator.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is
      ",".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NumberGroupSizes">
					<MemberSignature Language="ILASM" Value=".property class System.Int32[] NumberGroupSizes { public hidebysig specialname instance class System.Int32[] get_NumberGroupSizes() public hidebysig specialname instance void set_NumberGroupSizes(class System.Int32[] value) }"/>
					<MemberSignature Language="C#" Value="public int[] NumberGroupSizes { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the number of digits in each group to the
      left of the decimal point for numeric values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> array containing elements that define the number of digits in
   each group in numeric values.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The array specified for a set operation is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">One of the elements in the array specified for a set operation is not between 0 and 9.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>All elements of the array except the last are required
      to be between 1 and 9, inclusive. The last element can be 0.</para>
							<para>The first element of the array defines the number of
      elements in the first group of digits located immediately to the left of the
   <see cref="P:System.Globalization.NumberFormatInfo.NumberDecimalSeparator"/>. Each subsequent element refers to the next group of
      digits located to the left of the previous group. If the last element of the
      array is not zero, any remaining digits are grouped based on the last element of
      the array. If the last element is zero, the remaining digits are not
      grouped.</para>
							<para>The culture-invariant value for this property is an
      array with a single element containing the value 3.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the effects of
      different <see cref="P:System.Globalization.NumberFormatInfo.NumberGroupSizes"/>
      property values.</para>
							<code lang="C#">using System;
using System.Globalization;
class Test {
 public static void Main() {
 NumberFormatInfo nfi = new NumberFormatInfo();
 
 decimal data = 9999999994444333221.00m;
 nfi.NumberGroupSizes = new int[] {1,2,3,4,0};
 Console.WriteLine("{0}",data.ToString("N",nfi));

 data = 123456789123456.78m;
 nfi.NumberGroupSizes = new int[] {3};
 Console.WriteLine("{0}",data.ToString("N",nfi));

 nfi.NumberGroupSizes = new int[] {3,0};
 Console.WriteLine("{0}",data.ToString("N",nfi));
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>999999999,4444,333,22,1.00</para>
								<para>123,456,789,123,456.78</para>
								<para>123456789123,456.78</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NumberNegativePattern">
					<MemberSignature Language="ILASM" Value=".property int32 NumberNegativePattern { public hidebysig specialname instance int32 get_NumberNegativePattern() public hidebysig specialname instance void set_NumberNegativePattern(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int NumberNegativePattern { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the format of negative values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/>
between 0 and 4 inclusive that specifies the format of negative values.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is less than 0 or greater than 4.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The following table describes the valid values for this property. "-" is used
      as the value for <see cref="P:System.Globalization.NumberFormatInfo.NegativeSign"/>, and 999
      represents any numeric value.</para>
							<list type="table">
								<listheader>
									<term>Value</term>
									<description>Pattern</description>
								</listheader>
								<item>
									<term> 0</term>
									<description>(999)</description>
								</item>
								<item>
									<term> 1</term>
									<description>-999</description>
								</item>
								<item>
									<term> 2</term>
									<description>- 
            999</description>
								</item>
								<item>
									<term> 3</term>
									<description>999-</description>
								</item>
								<item>
									<term> 4</term>
									<description>999 -</description>
								</item>
							</list>
							<para>The culture-invariant value for this property is 1.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the effects of
      different <see cref="P:System.Globalization.NumberFormatInfo.NumberNegativePattern"/>
      property values.</para>
							<code lang="C#">using System;
using System.Globalization;
class Test {
 public static void Main() {
 NumberFormatInfo nfi = new NumberFormatInfo();
 Double data = -9999999999999.00;
 for (int i = 0; i&lt;=4; i++) {
 nfi.NumberNegativePattern = i;
 Console.WriteLine("pattern # {0}: {1}",i,data.ToString("N",nfi));
 }
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>pattern # 0: (9,999,999,999,999.00)</para>
								<para>pattern # 1: -9,999,999,999,999.00</para>
								<para>pattern # 2: - 9,999,999,999,999.00</para>
								<para>pattern # 3: 9,999,999,999,999.00-</para>
								<para>pattern # 4: 9,999,999,999,999.00 -</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PercentDecimalDigits">
					<MemberSignature Language="ILASM" Value=".property int32 PercentDecimalDigits { public hidebysig specialname instance int32 get_PercentDecimalDigits() public hidebysig specialname instance void set_PercentDecimalDigits(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int PercentDecimalDigits { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the number of decimal places in percent values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/>
containing the number of decimal places in percent values.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is less than 0 or greater than 99.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is 2.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PercentDecimalSeparator">
					<MemberSignature Language="ILASM" Value=".property string PercentDecimalSeparator { public hidebysig specialname instance string get_PercentDecimalSeparator() public hidebysig specialname instance void set_PercentDecimalSeparator(string value) }"/>
					<MemberSignature Language="C#" Value="public string PercentDecimalSeparator { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the symbol used as the decimal separator in percent values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the decimal separator used in percent values.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is ".".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PercentGroupSeparator">
					<MemberSignature Language="ILASM" Value=".property string PercentGroupSeparator { public hidebysig specialname instance string get_PercentGroupSeparator() public hidebysig specialname instance void set_PercentGroupSeparator(string value) }"/>
					<MemberSignature Language="C#" Value="public string PercentGroupSeparator { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the symbol used to separate groups of
      digits to the left of the decimal point in percent values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/>
containing the group separator symbol used in percent values.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is
      ",".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PercentGroupSizes">
					<MemberSignature Language="ILASM" Value=".property class System.Int32[] PercentGroupSizes { public hidebysig specialname instance class System.Int32[] get_PercentGroupSizes() public hidebysig specialname instance void set_PercentGroupSizes(class System.Int32[] value) }"/>
					<MemberSignature Language="C#" Value="public int[] PercentGroupSizes { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the number of digits in each group to the
      left of the decimal point in percent values.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Int32"/> array containing elements that define the number of digits in
   each group in percent values.</para>
						</value>
						<exception cref="T:System.ArgumentNullException">The array specified for a set operation is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">One of the elements in the array specified for a set operation is not between 0 and 9.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>All elements of the array except the last are required
      to be between 1 and 9, inclusive. The last element can be 0.</para>
							<para>The first element of the array defines the number of
      elements in the first group of digits located immediately to the left of the
   <see cref="P:System.Globalization.NumberFormatInfo.PercentDecimalSeparator"/>. Each subsequent element refers to the next group of
      digits located to the left of the previous group. If the last element of the
      array is not zero, any remaining digits are grouped based on the last element of
      the array. If the last element is zero, the remaining digits are not
      grouped.</para>
							<para>The culture-invariant value for this property is an
      array with a single element containing the value 3.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the effects of
      different <see cref="P:System.Globalization.NumberFormatInfo.PercentGroupSizes"/>
      property values.</para>
							<code lang="C#">using System;
using System.Globalization;
class Test {
 public static void Main() {
 NumberFormatInfo nfi = new NumberFormatInfo();
 
 decimal data = 9999999994444333221.00m;
 nfi.PercentGroupSizes = new int[] {1,2,3,4,0};
 Console.WriteLine("{0}",data.ToString("P",nfi));

 data = 123456789123456.78m;
 nfi.PercentGroupSizes = new int[] {3};
 Console.WriteLine("{0}",data.ToString("P",nfi));

 nfi.PercentGroupSizes = new int[] {3,0};
 Console.WriteLine("{0}",data.ToString("P",nfi));
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>99999999944,4433,322,10,0.00 %</para>
								<para>12,345,678,912,345,678.00 %</para>
								<para>12345678912345,678.00 %</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PercentNegativePattern">
					<MemberSignature Language="ILASM" Value=".property int32 PercentNegativePattern { public hidebysig specialname instance int32 get_PercentNegativePattern() public hidebysig specialname instance void set_PercentNegativePattern(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int PercentNegativePattern { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the format of negative percent values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/>
between 0 and 2 inclusive that specifies the format of negative percent
values.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is less than 0 or greater than 2.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The following table describes the valid values for this
      property. "%" is used as the value for <see cref="P:System.Globalization.NumberFormatInfo.PercentSymbol"/>, "-" is used as the value for <see cref="P:System.Globalization.NumberFormatInfo.NegativeSign"/>, and 999 represents any numeric
      value.</para>
							<list type="table">
								<listheader>
									<term>Value</term>
									<description>Pattern</description>
								</listheader>
								<item>
									<term> 0</term>
									<description>-999 %</description>
								</item>
								<item>
									<term> 1</term>
									<description>-999%</description>
								</item>
								<item>
									<term> 2</term>
									<description>-%999</description>
								</item>
							</list>
							<para>The culture-invariant value for this property is 0.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the effects of
      different <see cref="P:System.Globalization.NumberFormatInfo.PercentNegativePattern"/> property values.</para>
							<code lang="C#">using System;
using System.Globalization;
class Test {
 public static void Main() {
 NumberFormatInfo nfi = new NumberFormatInfo();
 decimal data = -.9900m;
 for (int i = 0; i&lt;=2 ; i++) {
 nfi.PercentNegativePattern = i;
 Console.WriteLine("pattern # {0}: {1}",i,data.ToString("P",nfi));
 }
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>pattern # 0: -99.00 %</para>
								<para>pattern # 1: -99.00%</para>
								<para>pattern # 2: -%99.00</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PercentPositivePattern">
					<MemberSignature Language="ILASM" Value=".property int32 PercentPositivePattern { public hidebysig specialname instance int32 get_PercentPositivePattern() public hidebysig specialname instance void set_PercentPositivePattern(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int PercentPositivePattern { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the format of positive percent values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> between 0 and 2 inclusive that specifies
   the format of positive percent values.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is less than 0 or greater than 2.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The following table describes the valid values for this
      property. "%" is used as the value for <see cref="P:System.Globalization.NumberFormatInfo.PercentSymbol"/>, and 999 represents a numeric
      value.</para>
							<list type="table">
								<listheader>
									<term>Value</term>
									<description>Pattern</description>
								</listheader>
								<item>
									<term> 0</term>
									<description>999 %</description>
								</item>
								<item>
									<term> 1</term>
									<description>999%</description>
								</item>
								<item>
									<term> 2</term>
									<description>%999</description>
								</item>
							</list>
							<para>The culture-invariant value for this property is 0.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the effects of
      different <see cref="P:System.Globalization.NumberFormatInfo.PercentPositivePattern"/>
      property values.</para>
							<code lang="C#">using System;
using System.Globalization;
class Test {
 public static void Main() {
 NumberFormatInfo nfi = new NumberFormatInfo();
 decimal data = .9900m;
 for (int i = 0; i&lt;=2 ; i++) {
 nfi.PercentPositivePattern = i;
 Console.WriteLine("pattern # {0}: {1}",i,data.ToString("P",nfi));
 }
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>pattern # 0: 99.00 %</para>
								<para>pattern # 1: 99.00%</para>
								<para>pattern # 2: %99.00</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PercentSymbol">
					<MemberSignature Language="ILASM" Value=".property string PercentSymbol { public hidebysig specialname instance string get_PercentSymbol() public hidebysig specialname instance void set_PercentSymbol(string value) }"/>
					<MemberSignature Language="C#" Value="public string PercentSymbol { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the symbol that represents percentage values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the percent symbol. </para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is
      "%".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PerMilleSymbol">
					<MemberSignature Language="ILASM" Value=".property string PerMilleSymbol { public hidebysig specialname instance string get_PerMilleSymbol() public hidebysig specialname instance void set_PerMilleSymbol(string value) }"/>
					<MemberSignature Language="C#" Value="public string PerMilleSymbol { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the per mille symbol.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the per mille symbol. </para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is
      "<permille/>".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PositiveInfinitySymbol">
					<MemberSignature Language="ILASM" Value=".property string PositiveInfinitySymbol { public hidebysig specialname instance string get_PositiveInfinitySymbol() public hidebysig specialname instance void set_PositiveInfinitySymbol(string value) }"/>
					<MemberSignature Language="C#" Value="public string PositiveInfinitySymbol { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the symbol that represents positive infinity.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the symbol for positive
   infinity. </para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference.</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is
      "Infinity".</para>
							<para>
								<block subset="none" type="note">For more
      information on positive infinity, see <see cref="T:System.Double"/> or <see cref="T:System.Single"/>
      .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PositiveSign">
					<MemberSignature Language="ILASM" Value=".property string PositiveSign { public hidebysig specialname instance string get_PositiveSign() public hidebysig specialname instance void set_PositiveSign(string value) }"/>
					<MemberSignature Language="C#" Value="public string PositiveSign { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the symbol used to represent positive values.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the symbol that indicates the
   value is positive. </para>
						</value>
						<exception cref="T:System.ArgumentNullException">The value specified for a set operation is a null reference</exception>
						<exception cref="T:System.InvalidOperationException">The current instance is read-only and a set operation was attempted.</exception>
						<remarks>
							<para>The culture-invariant value for this property is
      "+".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadOnly">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Globalization.NumberFormatInfo ReadOnly(class System.Globalization.NumberFormatInfo nfi)"/>
					<MemberSignature Language="C#" Value="public static NumberFormatInfo ReadOnly(NumberFormatInfo nfi);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberFormatInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="nfi" Type="System.Globalization.NumberFormatInfo"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Creates a read-only copy of the specified <see cref="T:System.Globalization.NumberFormatInfo"/>
instance.</para>
						</summary>
						<param name="nfi">A <see cref="T:System.Globalization.NumberFormatInfo"/> object to copy.</param>
						<returns>
							<para>A <see cref="T:System.Object"/> that is a copy of the current instance,
   and cannot be altered.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="nfi"/> is a null reference.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="NumberStyles" FullName="System.Globalization.NumberStyles" FullNameSP="System_Globalization_NumberStyles">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable NumberStyles extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum NumberStyles"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Specifies styles for <see cref="T:System.String"/> representations of numeric values.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Globalization.NumberStyles"/> define the presence and/or location of various elements
   in a <see cref="T:System.String"/> representation of a numeric value. <block subset="none" type="note">For example, the <see cref="F:System.Globalization.NumberStyles.AllowParentheses"/> style describes strings where the
   numeric value is enclosed in parenthesis, such as "(432.00)".</block>
					</para>
					<block subset="none" type="note">
						<para>Where symbols such as a currency symbol are allowed in a
   <see cref="T:System.Globalization.NumberStyles"/>
   pattern, a <see cref="T:System.Globalization.NumberFormatInfo"/> instance defines the <see cref="T:System.String"/> representations of the symbols.</para>
						<para>
							<see cref="T:System.Globalization.NumberStyles"/> values are passed to methods that convert between
<see cref="T:System.String"/> and 
numeric data types, such as the <see langword="Parse"/> methods implemented by
numeric base types. To specify multiple <see cref="T:System.Globalization.NumberStyles"/> values, use the bitwise OR
operator.</para>
						<para>For a list of the valid white space characters, see
   the <see cref="T:System.String"/>
   class.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>FlagsAttribute</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="AllowCurrencySymbol">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles AllowCurrencySymbol = 0x100"/>
					<MemberSignature Language="C#" Value="AllowCurrencySymbol = 0x100;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllowCurrencySymbol</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that a currency symbol is allowed. <block subset="none" type="note"> See <see cref="P:System.Globalization.NumberFormatInfo.CurrencySymbol"/> .</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowDecimalPoint">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles AllowDecimalPoint = 0x20"/>
					<MemberSignature Language="C#" Value="AllowDecimalPoint = 0x20;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllowDecimalPoint</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that a decimal point is allowed. <block subset="none" type="note"> See <see cref="P:System.Globalization.NumberFormatInfo.NumberDecimalSeparator"/>, <see cref="P:System.Globalization.NumberFormatInfo.PercentDecimalSeparator"/>, and <see cref="P:System.Globalization.NumberFormatInfo.CurrencyDecimalSeparator"/> .</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowExponent">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles AllowExponent = 0x80"/>
					<MemberSignature Language="C#" Value="AllowExponent = 0x80;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllowExponent</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that exponential notation is allowed.</para>
							<para>This style is used for values in one of the following forms:</para>
							<para>[-]m.ddddddE+xx 
   </para>
							<para>[-]m.ddddddE-xx</para>
							<para>[-]m.dddddde+xx 
   </para>
							<para>[-]m.dddddde-xx 
   </para>
							<para>One or more non-zero digits (m) precede the decimal 
      separator ("."). A minus sign ("-") can precede m. The type performing the
      conversion determines the number of decimal places (dddddd) in the string, and
      maximum and minimum values for xx and m. The exponent (+/-xx)
      consists of either a plus or minus sign followed by at least one digit.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowHexSpecifier">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles AllowHexSpecifier = 0x200"/>
					<MemberSignature Language="C#" Value="AllowHexSpecifier = 0x200;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllowHexSpecifier</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that hexadecimal representation (Base 16) is allowed.</para>
							<para>Valid hexadecimal values include the numeric digits 0-9 and the hexadecimal
      digits A-F, and a-f. The hexadecimal digits can be in upper or lower case.
      Hexadecimal values can be left-padded with zeros. Strings parsed using this
      style are not permitted to be prefixed with "0x".</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowLeadingSign">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles AllowLeadingSign = 0x4"/>
					<MemberSignature Language="C#" Value="AllowLeadingSign = 0x4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllowLeadingSign</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that a leading sign symbol is allowed. <block subset="none" type="note"> See <see cref="P:System.Globalization.NumberFormatInfo.PositiveSign"/> and <see cref="P:System.Globalization.NumberFormatInfo.NegativeSign"/> .</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowLeadingWhite">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles AllowLeadingWhite = 0x1"/>
					<MemberSignature Language="C#" Value="AllowLeadingWhite = 0x1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllowLeadingWhite</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that the string can be prefixed with white space characters.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowParentheses">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles AllowParentheses = 0x10"/>
					<MemberSignature Language="C#" Value="AllowParentheses = 0x10;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllowParentheses</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that one pair of balanced parentheses is allowed.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowThousands">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles AllowThousands = 0x40"/>
					<MemberSignature Language="C#" Value="AllowThousands = 0x40;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllowThousands</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that group separators are allowed; for
      instance, separating the hundreds from the thousands. <block subset="none" type="note"> See <see cref="P:System.Globalization.NumberFormatInfo.NumberGroupSeparator"/>, <see cref="P:System.Globalization.NumberFormatInfo.PercentGroupSeparator"/>, and <see cref="P:System.Globalization.NumberFormatInfo.CurrencyGroupSeparator"/> .</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowTrailingSign">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles AllowTrailingSign = 0x8"/>
					<MemberSignature Language="C#" Value="AllowTrailingSign = 0x8;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllowTrailingSign</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that a trailing sign symbol is allowed. <block subset="none" type="note"> See <see cref="P:System.Globalization.NumberFormatInfo.PositiveSign"/> and <see cref="P:System.Globalization.NumberFormatInfo.NegativeSign"/> .</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowTrailingWhite">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles AllowTrailingWhite = 0x2"/>
					<MemberSignature Language="C#" Value="AllowTrailingWhite = 0x2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AllowTrailingWhite</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that the string can be suffixed with white space characters.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Any">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles Any = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign | AllowTrailingSign | AllowParentheses | AllowDecimalPoint | AllowThousands | AllowExponent | AllowCurrencySymbol"/>
					<MemberSignature Language="C#" Value="Any = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign | AllowTrailingSign | AllowParentheses | AllowDecimalPoint | AllowThousands | AllowExponent | AllowCurrencySymbol;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Any</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that <see cref="F:System.Globalization.NumberStyles.AllowLeadingWhite"/>, <see cref="F:System.Globalization.NumberStyles.AllowTrailingWhite"/>, <see cref="F:System.Globalization.NumberStyles.AllowLeadingSign"/>, <see cref="F:System.Globalization.NumberStyles.AllowTrailingSign"/>, <see cref="F:System.Globalization.NumberStyles.AllowParentheses"/>, <see cref="F:System.Globalization.NumberStyles.AllowDecimalPoint"/>, <see cref="F:System.Globalization.NumberStyles.AllowThousands"/>, <see cref="F:System.Globalization.NumberStyles.AllowCurrencySymbol"/> and <see cref="F:System.Globalization.NumberStyles.AllowExponent"/> styles are allowed.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Currency">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles Currency = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign | AllowTrailingSign | AllowParentheses | AllowDecimalPoint | AllowThousands | AllowCurrencySymbol"/>
					<MemberSignature Language="C#" Value="Currency = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign | AllowTrailingSign | AllowParentheses | AllowDecimalPoint | AllowThousands | AllowCurrencySymbol;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Currency</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that <see cref="F:System.Globalization.NumberStyles.AllowLeadingWhite"/>, <see cref="F:System.Globalization.NumberStyles.AllowTrailingWhite"/>, <see cref="F:System.Globalization.NumberStyles.AllowLeadingSign"/>, <see cref="F:System.Globalization.NumberStyles.AllowTrailingSign"/>, <see cref="F:System.Globalization.NumberStyles.AllowParentheses"/>, <see cref="F:System.Globalization.NumberStyles.AllowDecimalPoint"/>, <see cref="F:System.Globalization.NumberStyles.AllowThousands"/>, and <see cref="F:System.Globalization.NumberStyles.AllowCurrencySymbol"/> styles are allowed.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Float">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles Float = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign | AllowDecimalPoint | AllowExponent"/>
					<MemberSignature Language="C#" Value="Float = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign | AllowDecimalPoint | AllowExponent;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Float</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that <see cref="F:System.Globalization.NumberStyles.AllowLeadingWhite"/>, <see cref="F:System.Globalization.NumberStyles.AllowTrailingWhite"/>, <see cref="F:System.Globalization.NumberStyles.AllowLeadingSign"/>, <see cref="F:System.Globalization.NumberStyles.AllowDecimalPoint"/> and <see cref="F:System.Globalization.NumberStyles.AllowExponent"/> styles are allowed.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HexNumber">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles HexNumber = AllowLeadingWhite | AllowTrailingWhite | AllowHexSpecifier"/>
					<MemberSignature Language="C#" Value="HexNumber = AllowLeadingWhite | AllowTrailingWhite | AllowHexSpecifier;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>HexNumber</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that <see cref="F:System.Globalization.NumberStyles.AllowLeadingWhite"/>, <see cref="F:System.Globalization.NumberStyles.AllowTrailingWhite"/>, <see cref="F:System.Globalization.NumberStyles.AllowHexSpecifier"/> styles are allowed.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Integer">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles Integer = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign"/>
					<MemberSignature Language="C#" Value="Integer = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Integer</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that <see cref="F:System.Globalization.NumberStyles.AllowLeadingWhite"/>, <see cref="F:System.Globalization.NumberStyles.AllowTrailingWhite"/>, and <see cref="F:System.Globalization.NumberStyles.AllowLeadingSign"/> styles are allowed.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="None">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles None = 0x0"/>
					<MemberSignature Language="C#" Value="None = 0x0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>None</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that no styles are allowed.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Number">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.NumberStyles Number = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign | AllowTrailingSign | AllowDecimalPoint | AllowThousands"/>
					<MemberSignature Language="C#" Value="Number = AllowLeadingWhite | AllowTrailingWhite | AllowLeadingSign | AllowTrailingSign | AllowDecimalPoint | AllowThousands;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.NumberStyles</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Number</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that <see cref="F:System.Globalization.NumberStyles.AllowLeadingWhite"/>, <see cref="F:System.Globalization.NumberStyles.AllowTrailingWhite"/>, <see cref="F:System.Globalization.NumberStyles.AllowLeadingSign"/>, <see cref="F:System.Globalization.NumberStyles.AllowTrailingSign"/>, <see cref="F:System.Globalization.NumberStyles.AllowDecimalPoint"/> and <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> styles are allowed.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Object" FullName="System.Object" FullNameSP="System_Object">
			<TypeSignature Language="ILASM" Value=".class public serializable Object"/>
			<TypeSignature Language="C#" Value="public class Object"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Provides support for classes. This class is the root of the object hierarchy.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>Classes derived from <see cref="T:System.Object"/> may override the following methods of
 the <see cref="T:System.Object"/> class:</para>
						<list type="bullet">
							<item>
								<term>
									<see cref="M:System.Object.Equals(System.Object)"/> - Enables 
 comparisons between objects.</term>
							</item>
							<item>
								<term>
									<see cref="M:System.Object.Finalize"/> - 
 Performs clean up operations before an object is automatically reclaimed.</term>
							</item>
							<item>
								<term>
									<see cref="M:System.Object.GetHashCode"/> - Generates a number corresponding to the value 
 of the object (to support the use of a hashtable).</term>
							</item>
							<item>
								<term>
									<see cref="M:System.Object.ToString"/> - Manufactures a human-readable text string that
 describes an instance of the class.</term>
							</item>
						</list>
					</block>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Attributes/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public Object();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs a new instance of the <see cref="T:System.Object"/> class.</para>
						</summary>
						<remarks>
							<para>
								<block subset="none" type="usage">This constructor is 
      called by constructors in derived classes, but it can also be used to directly
      create an instance of the <see langword=" Object"/>
      class. This might be useful, for example, if you need to obtain a reference to
      an object so that you can synchronize on it, as might be the case when using the
      C# <see langword="lock"/> statement.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public virtual bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the specified <see cref="T:System.Object"/> is equal to the
   current instance.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> to compare with the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> is equal to the
   current instance; otherwise, <see langword="false"/>.</para>
						</returns>
						<remarks>
							<block subset="none" type="behaviors">
								<para>The statements listed below are required to be true for all
         implementations of the <see cref="M:System.Object.Equals(System.Object)"/>
         method. In the list, x, y, and z represent non-null object references. </para>
								<list type="bullet">
									<item>
										<term>x.Equals(x) returns <see langword="true"/>.</term>
									</item>
									<item>
										<term>x.Equals(y) returns the same value as y.Equals(x).</term>
									</item>
									<item>
										<term>If (x.Equals(y) &amp;&amp; y.Equals(z)) returns <see langword="true"/>, then x.Equals(z) returns <see langword="true"/>.</term>
									</item>
									<item>
										<term>Successive invocations of x.Equals(y) return the same 
value as long as the objects referenced by x and y are not modified.</term>
									</item>
									<item>
										<term>x.Equals(<see langword="null"/>) returns <see langword="false"/> for non-null x.</term>
									</item>
								</list>
								<para>See <see cref="M:System.Object.GetHashCode"/> for additional required behaviors pertaining to the
<see cref="M:System.Object.Equals(System.Object)"/> 
method.</para>
								<para>
									<block subset="none" type="note">Implementations of <see cref="M:System.Object.Equals(System.Object)"/> should
not
throw exceptions.</block>
								</para>
							</block>
							<block subset="none" type="default">
								<para>The <see cref="M:System.Object.Equals(System.Object)"/> method
   tests for <paramref name="referential equality"/> , which means that
<see cref="M:System.Object.Equals(System.Object)"/> returns 
<see langword="true"/> if the specified instance of <see langword="Object"/> and 
   the current instance are the same instance; otherwise, it returns
<see langword="false"/> 
. </para>
								<block subset="none" type="note">
									<para>An implementation of the <see cref="M:System.Object.Equals(System.Object)"/> method is shown in the following C#
   code:</para>
									<c>
										<para>public virtual bool Equals(Object obj) {</para>
									</c>
									<c>
										<para>return this == obj;</para>
									</c>
									<c>
										<para>} </para>
									</c>
								</block>
							</block>
							<block subset="none" type="overrides">
								<para>For some kinds of objects, it is desirable to have <see cref="M:System.Object.Equals(System.Object)"/> test for <paramref name="value    equality"/> instead of
   referential equality. Such implementations of <see langword="Equals"/> return true if the two objects have the
   same "value", even if they are not the same instance. The definition of what
   constitutes an object's "value" is up to the implementer of the type, but it is
   typically some or all of the data stored in the instance variables of the
   object. For example, the value of a <see cref="T:System.String"/> is based on the characters of the
   string; the <see langword="Equals"/>
   method of the <see cref="T:System.String"/> class returns
<see langword="true"/> for any two string instances that
   contain exactly the same characters in the same order. </para>
								<para>When the <see langword="Equals"/>
method of a base class provides value equality, an override of
<see langword="Equals"/> in a class 
derived from that base class should invoke the inherited implementation of
<see langword="Equals"/> . </para>
								<para>It is recommended (but not required) that types overriding
<see cref="M:System.Object.Equals(System.Object)"/> also 
   override <see cref="M:System.Object.GetHashCode"/>. Hashtables cannot be relied on to work correctly if
   this recommendation is not followed. </para>
								<para>If your programming language supports operator
   overloading, and if you choose to overload the equality operator for a given
   type, that type should override the <see langword="Equals"/> method. Such
   implementations of the <see langword="Equals"/> method should return the same
   results as the equality operator. Following this guideline will help ensure that
   class library code using <see langword="Equals"/> (such as <see cref="T:System.Collections.ArrayList"/> and <see cref="T:System.Collections.Hashtable"/>
   
   ) behaves
   in a manner that is consistent with the way the equality operator is used by
   application code.</para>
								<para>If you are implementing a value type, you should follow these guidelines:</para>
								<list type="bullet">
									<item>
										<term>
      Consider overriding <see langword="Equals"/> to gain
      increased performance over that provided by the default implementation of
      <see langword="Equals"/> on <see cref="T:System.ValueType"/>.</term>
									</item>
									<item>
										<term>
      If you override <see langword="Equals"/>
      
      and the language supports operator overloading, you
      should overload the equality operator for your value type.</term>
									</item>
								</list>
								<para>For reference types, the guidelines are as follows:</para>
								<list type="bullet">
									<item>
										<term>
      Consider overriding <see langword="Equals"/> on a
      reference type if the semantics of the type are based on the fact that the
      type represents some value(s). For example, reference types such as Point and
      BigNumber should override <see langword="Equals"/>.</term>
									</item>
									<item>
										<term>
      Most reference types should not overload the equality
      operator, even if they override <see langword="Equals"/>
      
      . However, if you are implementing a reference type that
      is intended to have value semantics, such as a complex number type, you should
      override the equality operator.</term>
									</item>
								</list>
								<para>If you implement <see cref="T:System.IComparable"/> on a given type, you should override
<see langword="Equals"/> on that
type.</para>
							</block>
							<para>
								<block subset="none" type="usage">The <see cref="M:System.Object.Equals(System.Object)"/> method is called by methods in collections
classes that perform search operations, including the <see cref="M:System.Array.IndexOf(System.Array,System.Object)"/> method and
the <see cref="M:System.Collections.ArrayList.Contains(System.Object)"/>
method.</block>
							</para>
						</remarks>
						<example>
							<para>
								<see langword="Example 1:"/>
							</para>
							<para> The following example contains two calls to the default
   implementation of <see cref="M:System.Object.Equals(System.Object)"/> .</para>
							<code lang="C#">using System;
class MyClass {
   static void Main() {
      Object obj1 = new Object();
      Object obj2 = new Object();
      Console.WriteLine(obj1.Equals(obj2));
      obj1 = obj2; 
      Console.WriteLine(obj1.Equals(obj2)); 
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>False</para>
								<para>True</para>
							</c>
							<para>
								<see langword="Example 2:"/>
							</para>
							<para> The following example shows a <see langword="Point"/> class that overrides
the <see cref="M:System.Object.Equals(System.Object)"/> method to
provide value equality and a class <see langword="Point3D"/>, which is derived
from <see langword="Point"/>
. Because Point's override of
<see cref="M:System.Object.Equals(System.Object)"/> is the first 
in the inheritance chain to introduce value equality, the
<see langword="Equals"/> method of 
the base class (which is inherited from <see cref="T:System.Object"/> and checks for referential
equality) is not invoked. However, <see langword="Point3D.Equals"/> invokes
<see langword="Point.Equals"/> because <see langword="Point"/> implements
<see langword="Equals"/> 
in a manner that provides value equality.</para>
							<code lang="C#">using System;
public class Point: object {
 int x, y;
 public override bool Equals(Object obj) {
 //Check for null and compare run-time types.
 if (obj == null || GetType() != obj.GetType()) return false;
 Point p = (Point)obj;
 return (x == p.x) &amp;&amp; (y == p.y);
 }
 public override int GetHashCode() {
 return x ^ y;
 }
}

class Point3D: Point {
 int z;
 public override bool Equals(Object obj) {
 return base.Equals(obj) &amp;&amp; z == ((Point3D)obj).z;
 }
 public override int GetHashCode() {
 return base.GetHashCode() ^ z;
 }
}
</code>
							<para> The <see langword="Point.Equals"/> method checks that the <paramref name="obj"/>
argument is non-null and that it references an instance of the same type as this
object. If either of those checks fail, the method returns false. The
<see cref="M:System.Object.Equals(System.Object)"/> method uses 
<see cref="M:System.Object.GetType"/> to determine whether 
the run-time types of the two objects are identical. (Note that
<see langword="typeof"/> is not used here because it returns the static type.) If 
instead the method had used a check of the form <c>
									<paramref name="obj"/> is Point</c> , the check would
return true in cases where <paramref name="obj"/> is an instance of a subclass of
<see langword="Point"/> ,
even though <paramref name="obj"/> and the current instance are not of the same runtime
type. Having verified that both objects are of the same type, the method casts
<paramref name="obj"/> 
to type <see langword="Point"/>
and returns the result of comparing the instance variables of the two objects.</para>
							<para> In <see langword="Point3D.Equals"/> , the inherited
<see langword="Equals"/> method is 
invoked before anything else is done; the inherited <see langword="Equals"/> method checks to see that <paramref name="obj "/>is non-null, that <paramref name="obj"/> is an instance of the same class as this
object, and that the inherited instance variables match. Only when the inherited
<see langword="Equals"/> returns true does the method compare the 
instance variables introduced in the subclass. Specifically, the cast to
<see langword="Point3D"/> 
is not executed unless <paramref name="obj"/>
has been determined to be of type <see langword="Point3D"/> or a subclass of
<see langword="Point3D"/>
.</para>
							<para>
								<see langword="Example 3:"/>
							</para>
							<para> In the previous example, operator == (the equality
   operator) is used to compare the individual instance variables. In some cases,
   it is appropriate to use the <see cref="M:System.Object.Equals(System.Object)"/> method to
   compare instance variables in an <see langword="Equals"/>
   implementation, as shown in the following example:</para>
							<code lang="C#">using System;
class Rectangle {
 Point a, b;
 public override bool Equals(Object obj) {
 if (obj == null || GetType() != obj.GetType()) return false;
 Rectangle r = (Rectangle)obj;
 //Use Equals to compare instance variables
 return a.Equals(r.a) &amp;&amp; b.Equals(r.b);
 }
 public override int GetHashCode() {
 return a.GetHashCode() ^ b.GetHashCode();
 }
}
</code>
							<para>
								<see langword="Example 4:"/>
							</para>
							<para>In some languages, such as C#, operator overloading is
   supported. When a type overloads operator ==, it should also override the
<see cref="M:System.Object.Equals(System.Object)"/> method to 
   provide the same functionality. This is typically accomplished by writing the
<see langword="Equals"/> 
method
in terms of the overloaded operator ==. For example:</para>
							<code lang="C#">using System;
public struct Complex {
 double re, im;
 public override bool Equals(Object obj) {
 return obj is Complex &amp;&amp; this == (Complex)obj;
 }
 public override int GetHashCode() {
 return re.GetHashCode() ^ im.GetHashCode();
 }
 public static bool operator ==(Complex x, Complex y) {
 return x.re == y.re &amp;&amp; x.im == y.im;
 }
 public static bool operator !=(Complex x, Complex y) {
 return !(x == y);
 }
}
</code>
							<para>Because Complex is a C# struct (a value type), it is
   known that there will be no subclasses of <see langword="Complex"/>
   . Therefore, the
<see cref="M:System.Object.Equals(System.Object)"/> method need 
   not compare the GetType() results for each object, but can instead use the
<see langword="is"/> operator to check the type of the <paramref name="obj"/> 
parameter.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool Equals(object objA, object objB)"/>
					<MemberSignature Language="C#" Value="public static bool Equals(object objA, object objB);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="objA" Type="System.Object"/>
						<Parameter Name="objB" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether two object references are equal.</para>
						</summary>
						<param name="objA">First object to compare.</param>
						<param name="objB">Second object to compare.</param>
						<returns>
							<para>
								<see langword="true"/> if one or more of the following statements is
   true:</para>
							<list type="bullet">
								<item>
									<term>
										<paramref name="objA"/> and <paramref name="objB"/> refer to the same object,</term>
								</item>
								<item>
									<term>
										<paramref name="objA"/> and <paramref name="objB"/> are both null references,</term>
								</item>
								<item>
									<term>
										<paramref name="objA"/> is not 
   <see langword="null"/> and
   <paramref name="objA"/>.Equals(<paramref name="objB"/> ) returns true;</term>
								</item>
							</list>
							<para>otherwise returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>This static method checks for null references before it
      calls <paramref name="objA"/>.Equals(<paramref name="objB"/> ) and
      returns false if either <paramref name="objA"/> or <paramref name="objB"/> is null. If the Equals(object
   <paramref name="obj"/>) implementation throws an exception, this method throws an
      exception.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Object.Equals(System.Object)"/> method.</para>
							<code lang="C#">using System;

public class MyClass {
   public static void Main() {
   string s1 = "Tom";
   string s2 = "Carol";
   Console.WriteLine("Object.Equals(\"{0}\", \"{1}\") =&gt; {2}", 
      s1, s2, Object.Equals(s1, s2));

   s1 = "Tom";
   s2 = "Tom";
   Console.WriteLine("Object.Equals(\"{0}\", \"{1}\") =&gt; {2}", 
      s1, s2, Object.Equals(s1, s2));

   s1 = null;
   s2 = "Tom";
   Console.WriteLine("Object.Equals(null, \"{1}\") =&gt; {2}",
       s1, s2, Object.Equals(s1, s2));

   s1 = "Carol";
   s2 = null;
   Console.WriteLine("Object.Equals(\"{0}\", null) =&gt; {2}", 
       s1, s2, Object.Equals(s1, s2));

   s1 = null;
   s2 = null;
   Console.WriteLine("Object.Equals(null, null) =&gt; {2}", 
       s1, s2, Object.Equals(s1, s2));
   }
}
   </code>
							<para>The output is</para>
							<c>
								<para>Object.Equals("Tom", "Carol") =&gt; False</para>
								<para>Object.Equals("Tom", "Tom") =&gt; True</para>
								<para>Object.Equals(null, "Tom") =&gt; False</para>
								<para>Object.Equals("Carol", null) =&gt; False</para>
								<para>Object.Equals(null, null) =&gt; True</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Finalize">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Finalize()"/>
					<MemberSignature Language="C#" Value="~Object();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Allows a <see cref="T:System.Object"/> to perform cleanup operations before the memory
   allocated for the <see cref="T:System.Object"/> is automatically reclaimed.</para>
						</summary>
						<remarks>
							<block subset="none" type="behaviors">
								<para>During execution, <see cref="M:System.Object.Finalize"/> is automatically called after an object
      becomes inaccessible, unless the object has been exempted from finalization by a
      call to <see cref="M:System.GC.SuppressFinalize(System.Object)"/>. During shutdown of an application domain, <see cref="M:System.Object.Finalize"/> is
      automatically called on objects that are not exempt from finalization, even
      those that are still accessible. <see cref="M:System.Object.Finalize"/> is automatically called only once on a
      given instance, unless the object is re-registered using a mechanism such as
   <see cref="M:System.GC.ReRegisterForFinalize(System.Object)"/> and <see cref="M:System.GC.SuppressFinalize(System.Object)"/> has not been subsequently called.</para>
								<para>Conforming implementations of the CLI are required to make every
         effort to ensure that for every object that has not been exempted from
         finalization, the <see cref="M:System.Object.Finalize"/> method is called after the object becomes inaccessible.
         However, there may be some circumstances under which <see langword="Finalize"/> is not
         called. Conforming CLI implementations are required to explicitly specify the conditions
         under which <see langword="Finalize"/> is not guaranteed to be called. <block subset="none" type="note">For example, <see langword="Finalize"/> might not be guaranteed to be called in
         the event of equipment failure, power failure, or other catastrophic system failures.</block>
								</para>
								<para>In addition to <see cref="M:System.GC.ReRegisterForFinalize(System.Object)"/>
   and <see cref="M:System.GC.SuppressFinalize(System.Object)"/>, conforming implementations of the CLI are allowed to
   provide other mechanisms that affect the behavior of <see cref="M:System.Object.Finalize"/> . Any mechanisms provided are required to be specified by the CLI implementation.</para>
								<para>The order in which the <see langword="Finalize"/> methods
of two objects are run is unspecified, even if one object refers to the other.</para>
								<para>The thread on which <see langword="Finalize"/> is run is unspecified.</para>
								<para>Every implementation of <see cref="M:System.Object.Finalize"/> in a
derived type is required to call its base type's implementation of <see langword="Finalize"/>
. This is the only case in which application code calls <see cref="M:System.Object.Finalize"/> .</para>
							</block>
							<block subset="none" type="default">
								<para>The <see cref="M:System.Object.Finalize"/>
implementation does nothing.</para>
							</block>
							<block subset="none" type="overrides">
								<para>A type should implement <see langword="Finalize"/> when it uses unmanaged resources such as
   file handles or database connections that must be released when the managed
   object that uses them is reclaimed. Because <see langword="Finalize"/> methods
   may be invoked in any order (including from multiple threads), synchronization
   may be necessary if the <see langword="Finalize"/> method may interact with other
   objects, whether accessible or not. Furthermore, since the order in which
<see langword="Finalize"/> is called is unspecified, implementers of 
<see langword="Finalize"/> (or of destructors implemented through 
   overriding Finalize) must take care to correctly handle references to
   other objects, as their <see langword="Finalize"/>
   
   
   method may already have been invoked. In
   general, referenced objects should not be considered valid during
   finalization.</para>
								<para>See the <see cref="T:System.IDisposable"/> interface for an alternate means of disposing of
resources.</para>
							</block>
							<para>
								<block subset="none" type="usage">For C# developers: Destructors are the C# mechanism for
   performing cleanup operations. Destructors provide appropriate safeguards, such
   as automatically calling the base type's destructor. In C# code, <see cref="M:System.Object.Finalize"/> cannot be
   called or overridden.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetHashCode">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetHashCode()"/>
					<MemberSignature Language="C#" Value="public virtual int GetHashCode();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para>
								<see cref="M:System.Object.GetHashCode"/> serves as a hash function for a specific
   type. <block subset="none" type="note"> A hash function is used to
   quickly generate a number (a hash code) corresponding to the value of an object.
   Hash functions are used with <see langword="hashtables"/>. A good hash function
   algorithm rarely generates hash codes that collide. For more information about
   hash functions, see <paramref name="The Art of Computer Programming"/>
   
   , Vol. 3, by Donald E. Knuth.</block>
							</para>
							<block subset="none" type="behaviors">
								<para>All implementations of <see cref="M:System.Object.GetHashCode"/> are required to ensure that for any two object references x
   and y, if x.Equals(y) ==
   true, then x.GetHashCode() ==
   y.GetHashCode().</para>
								<para>Hash codes generated by <see cref="M:System.Object.GetHashCode"/>
need not be unique.</para>
								<para>Implementations of <see cref="M:System.Object.GetHashCode"/>
are not permitted to throw exceptions.</para>
							</block>
							<para>
								<block subset="none" type="default">The <see cref="M:System.Object.GetHashCode"/> implementation attempts to produce a
unique hash code for every object, but the hash codes generated by this method
are not guaranteed to be unique. Therefore, <see cref="M:System.Object.GetHashCode"/> may generate the same hash code for two different instances.</block>
							</para>
							<para>
								<block subset="none" type="overrides">It is recommended (but not required) that types
   overriding <see cref="M:System.Object.GetHashCode"/> also override <see cref="M:System.Object.Equals(System.Object)"/> . Hashtables cannot be relied on to work correctly if this recommendation is not followed.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to obtain
   the hash code of an object. Hash codes should not be persisted (i.e. in a database or file) as they are allowed to change from run to run.</block>
							</para>
						</remarks>
						<example>
							<para>
								<see langword="Example 1"/>
							</para>
							<para>In some cases, <see cref="M:System.Object.GetHashCode"/> is implemented to simply return an integer value.
The following example illustrates an implementation of <see cref="M:System.Int32.GetHashCode"/>
, which
returns an integer value:</para>
							<code lang="C#">using System;
public struct Int32 {
 int value;
 //other methods...

 public override int GetHashCode() {
 return value;
 }
}
</code>
							<para>
								<see langword="Example 2"/>
							</para>
							<para>Frequently, a type has multiple data members that can participate in
   generating the hash code. One way to generate a hash code is to combine these
   fields using an xor (exclusive or) operation, as shown in the following
   example:</para>
							<code lang="C#">using System;
public struct Point {
 int x;
 int y; 
 //other methods
 
 public override int GetHashCode() {
 return x ^ y;
 }
}
</code>
							<para>
								<see langword="Example 3"/>
							</para>
							<para>The following example illustrates another case where the type's fields are
   combined using xor (exclusive or) to generate the hash code. Notice that in this
   example, the fields represent user-defined types, each of which implements
<see cref="M:System.Object.GetHashCode"/> (and should implement <see cref="M:System.Object.Equals(System.Object)"/> as well):</para>
							<code lang="C#">using System;
public class SomeType {
 public override int GetHashCode() {
 return 0;
 }
}

public class AnotherType {
 public override int GetHashCode() {
 return 1;
 }
}

public class LastType {
 public override int GetHashCode() {
 return 2;
 }
}
public class MyClass {
 SomeType a = new SomeType();
 AnotherType b = new AnotherType();
 LastType c = new LastType();

 public override int GetHashCode () {
 return a.GetHashCode() ^ b.GetHashCode() ^ c.GetHashCode();
 }
}
</code>
							<para>Avoid implementing <see cref="M:System.Object.GetHashCode"/> in a manner that results in circular references. In
other words, if AClass.GetHashCode calls BClass.GetHashCode, it should not be
the case that BClass.GetHashCode calls AClass.GetHashCode. </para>
							<para>
								<see langword="Example 4"/>
							</para>
							<para>In some cases, the data member of the class in which you are implementing
<see cref="M:System.Object.GetHashCode"/> is bigger than a <see cref="T:System.Int32"/>. In such cases, you could combine the 
   high order bits of the value with the low order bits using an XOR operation, as
   shown in the following example:</para>
							<code lang="C#">using System;
public struct Int64 {
 long value;
 //other methods...

 public override int GetHashCode() {
 return ((int)value ^ (int)(value &gt;&gt; 32));
 }
}
</code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetType">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Type GetType()"/>
					<MemberSignature Language="C#" Value="public Type GetType();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the type of the current instance.</para>
						</summary>
						<returns>
							<para> The instance of <see cref="T:System.Type"/> that represents the run-time type (the exact type) of the current instance.</para>
						</returns>
						<remarks>
							<para>For two objects x and y that have identical run-time 
      types, <see cref="M:System.Object.ReferenceEquals(System.Object,System.Object)"/>(x.GetType(),y.GetType()) returns
   <see langword="true"/> 
   .</para>
						</remarks>
						<example>
							<para>The following example demonstrates the fact that <see cref="M:System.Object.GetType"/>
returns the run-time type of the current instance:</para>
							<code lang="C#">using System;
public class MyBaseClass: Object {
}
public class MyDerivedClass: MyBaseClass {
}
public class Test {
   public static void Main() {
   MyBaseClass myBase = new MyBaseClass();
   MyDerivedClass myDerived = new MyDerivedClass();

   object o = myDerived;
   MyBaseClass b = myDerived;

   Console.WriteLine("mybase: Type is {0}", myBase.GetType());
   Console.WriteLine("myDerived: Type is {0}", myDerived.GetType());
   Console.WriteLine("object o = myDerived: Type is {0}", o.GetType());
   Console.WriteLine("MyBaseClass b = myDerived: Type is {0}", b.GetType());
   }
}
</code>
							<para> The output is</para>
							<c>
								<para>mybase: Type is MyBaseClass</para>
								<para>myDerived: Type is MyDerivedClass</para>
								<para>object o = myDerived: Type is MyDerivedClass</para>
								<para>MyBaseClass b = myDerived: Type is MyDerivedClass </para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MemberwiseClone">
					<MemberSignature Language="ILASM" Value=".method family hidebysig instance object MemberwiseClone()"/>
					<MemberSignature Language="C#" Value="protected object MemberwiseClone();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Creates a shallow copy of the current instance.</para>
						</summary>
						<returns>
							<para>A shallow copy of the current instance. The run-time
      type (the exact type) of the returned object is the same as the run-time type of
      the object that was copied.</para>
						</returns>
						<remarks>
							<para>
								<see cref="M:System.Object.MemberwiseClone"/> creates a new instance of the same type
   as the current instance and then copies each of the object's non-static fields
   in a manner that depends on whether the field is a value type or a reference
   type. If the field is a value type, a bit-by-bit copy of all the field's bits is
   performed. If the field is a reference type, only the reference is copied. The algorithm for performing a shallow copy is as follows (in pseudo-code):</para>
							<c>
								<para>for each instance field f in this instance</para>
								<para> if (f is a value type)</para>
								<para> bitwise copy the field</para>
								<para> if (f is a reference type)</para>
								<para> copy the reference</para>
								<para>end for loop</para>
							</c>
							<para>
								<block subset="none" type="note">This mechanism is
   referred to as a shallow copy because it copies rather than clones the non-static fields.</block>
							</para>
							<para>Because <see cref="M:System.Object.MemberwiseClone"/> implements the above algorithm, for any object, a, the following statements are required to be true:</para>
							<list type="bullet">
								<item>
									<term>
      
      a.MemberwiseClone() is not identical to a.</term>
								</item>
								<item>
									<term>
      
      a.MemberwiseClone().GetType() is identical to a.GetType().</term>
								</item>
							</list>
							<para>
								<see cref="M:System.Object.MemberwiseClone"/> does not call any of the type's constructors.</para>
							<para>
								<block subset="none" type="note">If <see cref="M:System.Object.Equals(System.Object)"/> has been
overridden, a.MemberwiseClone().Equals(a) might return
<see langword=" false"/> .</block>
							</para>
							<block subset="none" type="usage">
								<para>For an alternate copying mechanism, see <see cref="T:System.ICloneable"/> .</para>
								<para>
									<see cref="M:System.Object.MemberwiseClone"/> is protected (rather than public) to
   ensure that from verifiable code it is only possible to clone objects of the
   same class as the one performing the operation (or one of its subclasses).
   Although cloning an object does not directly open security holes, it does allow
   an object to be created without running any of its constructors. Since these
   constructors may establish important invariants, objects created by cloning may
   not have these invariants established, and this may lead to incorrect program
   behavior. For example, a constructor might add the new object to a linked list
   of all objects of this class, and cloning the object would not add the new
   object to that list -- thus operations that relied on the list to locate all
   instances would fail to notice the cloned object. By making the method
   protected, only objects of the same class (or a subclass) can produce a clone
   and implementers of those classes are (presumably) aware of the appropriate
   invariants and can arrange for them to be true without necessarily calling a constructor.</para>
							</block>
						</remarks>
						<example>
							<para>The following example shows a class called
   <see langword="MyClass"/> as well as a representation of the instance of
   <see langword="MyClass"/>
   returned by <see cref="M:System.Object.MemberwiseClone"/>
   .</para>
							<code lang="C#">using System;
class MyBaseClass {
   public static string CompanyName = "My Company";
   public int age;
   public string name;
}

class MyDerivedClass: MyBaseClass {

   static void Main() {
   
   //Create an instance of MyDerivedClass
   //and assign values to its fields.
   MyDerivedClass m1 = new MyDerivedClass();
   m1.age = 42;
   m1.name = "Sam";

   //Do a shallow copy of m1
   //and assign it to m2.
   MyDerivedClass m2 = (MyDerivedClass) m1.MemberwiseClone();
   }
}
</code>
							<para>A graphical representation of m1 and m2 might look like this</para>
							<code>
+---------------+

|     42        |                           m1 

+---------------+

|     +---------|-----------------&gt; "Sam" 

+---------------+                    /|\ 

                                      | 

+---------------+                     | 

|     42        |                     |      m2 

+---------------+                     | 

|      +--------|---------------------| 

+---------------+
</code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReferenceEquals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool ReferenceEquals(object objA, object objB)"/>
					<MemberSignature Language="C#" Value="public static bool ReferenceEquals(object objA, object objB);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="objA" Type="System.Object"/>
						<Parameter Name="objB" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether two object references are identical.</para>
						</summary>
						<param name="objA">First object to compare.</param>
						<param name="objB">Second object to compare.</param>
						<returns>
							<para>
								<see langword="True"/> if <paramref name="a"/> and <paramref name="b"/> refer
   to the same object or are both null references; otherwise,
<see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>This static method provides a way to compare two objects 
      for reference equality. It does not call any user-defined code, including
      overrides of <see cref="M:System.Object.Equals(System.Object)"/>
      .</para>
						</remarks>
						<example>
							<code lang="C#">using System;
class MyClass {
   static void Main() {
   object o = null;
   object p = null;
   object q = new Object();
   Console.WriteLine(Object.ReferenceEquals(o, p));
   p = q;
   Console.WriteLine(Object.ReferenceEquals(p, q));
   Console.WriteLine(Object.ReferenceEquals(o, p));
   }
}
   </code>
							<para>The output is</para>
							<c>
								<para>True</para>
								<para>True</para>
								<para>False</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string ToString()"/>
					<MemberSignature Language="C#" Value="public virtual string ToString();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Creates and returns a <see cref="T:System.String"/> representation of the current
   instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">
									<see cref="M:System.Object.ToString"/> returns a string whose content is intended to be
      understood by humans. Where the object contains culture-sensitive data, the
      string representation returned by <see cref="M:System.Object.ToString"/> takes into account the current
      system culture. For example, for an instance of the <see cref="T:System.Double"/> class whose value
      is zero, the implementation of <see cref="M:System.Double.ToString"/> might return "0.00" or "0,00" depending on the
      current UI culture. <block subset="none" type="note"> Although there are no exact requirements
      for the format of the returned string, it should as much as possible
      reflect the value of the object as perceived by the user.</block>
								</block>
							</para>
							<para>
								<block subset="none" type="default">
									<see cref="M:System.Object.ToString"/> is equivalent to calling <see cref="M:System.Object.GetType"/> to obtain
   the <see cref="T:System.Type"/> object
   for the current instance and then returning the result of calling the <see cref="M:System.Object.ToString"/>
   implementation
   for that type. <block subset="none" type="note"> The value returned includes the full name of the type.</block>
								</block>
							</para>
							<block subset="none" type="overrides">
								<para> It is recommended, but not required, that <see cref="M:System.Object.ToString"/> be
   overridden in a derived class to return values that are meaningful for that
   type. For example, the base data types, such as <see cref="T:System.Int32"/>, implement <see cref="M:System.Object.ToString"/> so that
   it returns the string form of the value the object represents.</para>
								<para> Subclasses that require more control over the formatting
   of strings than <see cref="M:System.Object.ToString"/> provides should implement <see cref="T:System.IFormattable"/>, whose
<see cref="M:System.Object.ToString"/> method 
   uses the culture of the current thread.</para>
							</block>
						</remarks>
						<example>
							<para>The following example outputs the textual description of
      the value of an object of type <see cref="T:System.Object"/> to the console.</para>
							<code lang="C#">using System;

class MyClass {
   static void Main() {
      object o = new object();
      Console.WriteLine (o.ToString());
   }
}
      </code>
							<para>The output is</para>
							<para>
								<c>System.Object</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ObjectDisposedException" FullName="System.ObjectDisposedException" FullNameSP="System_ObjectDisposedException">
			<TypeSignature Language="ILASM" Value=".class public serializable ObjectDisposedException extends System.InvalidOperationException"/>
			<TypeSignature Language="C#" Value="public class ObjectDisposedException : InvalidOperationException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when an operation is
      performed on a disposed object.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">For additional information about
      disposing objects, see the <see cref="T:System.IDisposable"/> interface.</block>
					</para>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes the <see cref="T:System.ObjectDisposedException"/>
exception to be thrown.</para>
					<code lang="C#">using System;
using System.IO;

public class ObjectDisposedExceptionTest {
   public static void Main() {     
      MemoryStream ms = new MemoryStream(16);
      ms.Close();
      try {
         ms.ReadByte();
      } 
      catch (ObjectDisposedException e) {
         Console.WriteLine("Caught: {0}", e.Message);
      }
   }
}
</code>
					<para>The output is</para>
					<c>
						<para>Caught: Cannot access a closed Stream.</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.InvalidOperationException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string objectName)"/>
					<MemberSignature Language="C#" Value="public ObjectDisposedException(string objectName);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="objectName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ObjectDisposedException"/> class.</para>
						</summary>
						<param name="objectName">A <see cref="T:System.String"/> containing the name of the disposed object.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.ObjectDisposedException.ObjectName"/> property of the new instance
   using <paramref name="objectName. "/> The <see cref="P:System.ObjectDisposedException.Message"/> property is initialized to a system-supplied message that describes the
   error<paramref name=" "/>and
   includes <paramref name="objectname"/> . This message takes into account the
   current system culture. </para>
							<para>The <see cref="!:System.ObjectDisposedException.InnerException"/> property of the new instance is
initialized to <see langword="null"/>.</para>
							<para>
								<block subset="none" type="note">If <paramref name="objectName"/> is
<see langword="null"/>, the <see cref="P:System.ObjectDisposedException.Message"/> property 
contains only an error message.</block>
							</para>
						</remarks>
						<example>
							<para>The following example displays the error message of a
   <see cref="T:System.ObjectDisposedException"/> instance created
      using this constructor.</para>
							<code lang="C#">using System;

public class ExampleDisposableObject : IDisposable {
 public static void Main() {
 
 ExampleDisposableObject obj = new ExampleDisposableObject();
 
 obj.Close();
 
 try {
 Console.WriteLine(obj);
 } catch (ObjectDisposedException e) {
 Console.WriteLine("Caught: {0}", e.Message);
 }
 }
 

 public ExampleDisposableObject() {
 isDisposed = false;
 }
 
 ~ExampleDisposableObject() {
 Dispose(true);
 }
 
 public void Close() {
 Dispose(true);
 }
 
 public void Dispose() {
 Dispose(true);
 }
 
 public void Dispose(bool disposing) {
 isDisposed = true;
 }
 
 public override String ToString() {
 if(isDisposed)
 throw new ObjectDisposedException("ExampleDisposableObject");
 else
 return "This is an instance of ExampleDisposableObject.";
 }
 
 private bool isDisposed;
}
   </code>
							<para>The output is</para>
							<c>
								<para>Caught: Cannot access a disposed object named "ExampleDisposableObject".</para>
								<para>Object name: "ExampleDisposableObject".</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string objectName, string message)"/>
					<MemberSignature Language="C#" Value="public ObjectDisposedException(string objectName, string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="objectName" Type="System.String"/>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.ObjectDisposedException"/> class.</para>
						</summary>
						<param name="objectName">A <see cref="T:System.String"/> containing the name of the disposed object.</param>
						<param name=" message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.ObjectDisposedException.Message"/> property of the new instance
   using <paramref name="message"/>, and the <see cref="P:System.ObjectDisposedException.ObjectName"/> property using
<paramref name="objectName"/> . If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="P:System.ObjectDisposedException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments.</para>
							<para>The <see cref="!:System.ObjectDisposedException.InnerException"/> property of the new instance is
initialized to <see langword="null"/>.</para>
						</remarks>
						<example>
							<para>The following example throws a <see cref="T:System.ObjectDisposedException"/> instance created using this
   constructor.</para>
							<code lang="C#">using System;

public class ExampleDisposableObject : IDisposable {
 public static void Main() {
 
 ExampleDisposableObject obj = new ExampleDisposableObject();
 
 obj.Close();
 
 try {
 Console.WriteLine(obj);
 } catch (ObjectDisposedException e) {
 Console.WriteLine("Caught: {0}", e.Message);
 }
 }
 

 public ExampleDisposableObject() {
 isDisposed = false;
 }
 
 ~ExampleDisposableObject() {
 Dispose(true);
 }
 
 public void Close() {
 Dispose(true);
 }
 
 public void Dispose() {
 Dispose(true);
 }
 
 public void Dispose(bool disposing) {
 isDisposed = true;
 }
 
 public override String ToString() {
 if(isDisposed) {
 string message = "Oh-oh! This object has been disposed!";
 string objectName = "ExampleDisposableObject"; 
 throw new ObjectDisposedException(objectName, message);
 }
 else
 return "Hello, World!";
 }
 
 private bool isDisposed;
}
</code>
							<para>The output is</para>
							<c>
								<para>Caught: Oh-oh! This object has been disposed!</para>
								<para>Object name: "ExampleDisposableObject".</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Message">
					<MemberSignature Language="ILASM" Value=".property string Message { public hidebysig virtual specialname string get_Message() }"/>
					<MemberSignature Language="C#" Value="public override string Message { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the message that describes the error.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> that describes
   the error. </para>
						</value>
						<remarks>
							<para>If the <see cref="P:System.ObjectDisposedException.ObjectName"/> property is not
<see langword="null"/> 
, the message includes the name of the object. </para>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">This property overrides <see cref="P:System.Exception.Message"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ObjectName">
					<MemberSignature Language="ILASM" Value=".property string ObjectName { public hidebysig specialname instance string get_ObjectName() }"/>
					<MemberSignature Language="C#" Value="public string ObjectName { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the name of the disposed object.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the name of the disposed object.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note">If this property is not <see langword="null"/> or <see cref="F:System.String.Empty"/> , the value of this property is included in the
   string returned by the <see cref="P:System.ObjectDisposedException.Message"/>
   property. </block>
							</para>
							<para> This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ObsoleteAttribute" FullName="System.ObsoleteAttribute" FullNameSP="System_ObsoleteAttribute">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable ObsoleteAttribute extends System.Attribute"/>
			<TypeSignature Language="C#" Value="public sealed class ObsoleteAttribute : Attribute"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Indicates that the target of the current attribute will be
      removed in future versions of the assembly in which the target
      is contained.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para> Marking an
         item as obsolete provides consumers of that item the information that the item
         will be not be available in future versions of the assembly in
         which it is contained. A <see cref="T:System.ObsoleteAttribute"/> has a <see cref="P:System.ObsoleteAttribute.Message"/> property that can be used to suggest alternative ways of
         obtaining the functionality provided by the item, i.e. a workaround. This class also has a <see cref="P:System.ObsoleteAttribute.IsError"/> property that designates whether a
         compiler will treat usage of the obsolete item as an error. If this property
         is <see langword="false"/>, the compiler will issue a warning if
         the obsolete item is used and the compiler
         supports the generation of such warnings.</para>
						<para>This attribute can be applied to any valid attribute target
         except assemblies, parameters, and return values. For a complete list
         of valid attribute targets, see <see cref="T:System.AttributeTargets"/> .</para>
					</block>
				</remarks>
				<example>
					<para>The following example demonstrates the usage of <see cref="T:System.ObsoleteAttribute"/> to
   generate a compile-time warning.</para>
					<code lang="C#">
   
using System;

public class ObsoleteAttributeExample {

  [ObsoleteAttribute("OldMethod is being removed: use NewMethod in future versions.")]
  public static void OldMethod() {

    //Execute some code here
  }

  public static void Main() { 

    OldMethod();
  }
}
</code>
					<para>An example compile-time result is</para>
					<para>
						<c>ObsoleteAttributeExample.cs(8,4):
   warning CS0618: 'ObsoleteAttributeExample.OldMethod()' is obsolete: 'OldMethod is
   being removed: use NewMethod in future versions.'</c>
					</para>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Attribute</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>AttributeUsageAttribute(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum | AttributeTargets.Constructor | AttributeTargets.Method | AttributeTargets.Property | AttributeTargets.Field | AttributeTargets.Event | AttributeTargets.Interface | AttributeTargets.Delegate, AllowMultiple=false, Inherited=false)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public ObsoleteAttribute();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.ObsoleteAttribute"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor is equivalent to <see cref="T:System.ObsoleteAttribute"/>(<see langword="null"/>, <see langword="false"/> 
). The compiler does not
treat an item with this attribute as an error.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public ObsoleteAttribute(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.ObsoleteAttribute"/> class with the specified
<see cref="T:System.String"/> 
that
contains suggested workarounds.</para>
						</summary>
						<param name="message">The <see cref="T:System.String"/> that contains suggested workarounds.</param>
						<remarks>
							<para>This constructor is equivalent to <see cref="T:System.ObsoleteAttribute"/> (<paramref name="message"/> , <see langword="false"/> ). The compiler does
   not treat an item with this attribute as an error.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, bool error)"/>
					<MemberSignature Language="C#" Value="public ObsoleteAttribute(string message, bool error);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="error" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.ObsoleteAttribute"/> class with a <see cref="T:System.String"/> that contains
   suggested workarounds and a <see cref="T:System.Boolean"/> that indicates whether the compiler
   treats usage of the target of the current instance as an error.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that contains suggested workarounds.</param>
						<param name="error">A <see cref="T:System.Boolean"/> that indicates whether the compiler treats usage of the target of the current instance as an error.</param>
						<remarks>
							<para>Respectively, the <see cref="P:System.ObsoleteAttribute.Message"/> property and the <see cref="P:System.ObsoleteAttribute.IsError"/> property of the new instance are initialized as
<paramref name="message"/> and <paramref name="error"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Message">
					<MemberSignature Language="ILASM" Value=".property string Message { public hidebysig specialname instance string get_Message() }"/>
					<MemberSignature Language="C#" Value="public string Message { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.String"/> that contains
   suggested workarounds for the target of the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> that contains
   suggested workarounds
   for the target of the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The current instance contains a suggested workaround message if and only if
      such a message was specified when the current instance was constructed. If
      no workaround was specified for the current instance, the value of
      this property is <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsError">
					<MemberSignature Language="ILASM" Value=".property bool IsError { public hidebysig specialname instance bool get_IsError() }"/>
					<MemberSignature Language="C#" Value="public bool IsError { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> that indicates 
 whether the compiler treats usage of the target of the current
 instance as an error.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the 
 compiler treats usage of the target
 of the current instance
 as an error; otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The default value of this property is <see langword="false"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="OutOfMemoryException" FullName="System.OutOfMemoryException" FullNameSP="System_OutOfMemoryException">
			<TypeSignature Language="ILASM" Value=".class public serializable OutOfMemoryException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class OutOfMemoryException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents the error that occurs when insufficient memory prevents the
      current memory allocation from succeeding.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>The following IL instructions throw <see cref="T:System.OutOfMemoryException"/>:</para>
						<list type="bullet">
							<item>
								<term>box</term>
							</item>
							<item>
								<term>newarr</term>
							</item>
							<item>
								<term>newobj</term>
							</item>
						</list>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public OutOfMemoryException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.OutOfMemoryException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.OutOfMemoryException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "There was not enough memory to
   continue the execution of the program." This message takes into account the
   current system culture.</para>
							<para>The <see cref="!:System.OutOfMemoryException.InnerException"/> property is initialized to 
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public OutOfMemoryException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.OutOfMemoryException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of message is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.OutOfMemoryException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.OutOfMemoryException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no
   arguments. The <see cref="!:System.OutOfMemoryException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public OutOfMemoryException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.OutOfMemoryException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of message is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current Exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.OutOfMemoryException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="!:System.OutOfMemoryException.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.OutOfMemoryException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For information on
   inner exceptions, see <see cref="P:System.Exception.InnerException"/>
   .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="OverflowException" FullName="System.OverflowException" FullNameSP="System_OverflowException">
			<TypeSignature Language="ILASM" Value=".class public serializable OverflowException extends System.ArithmeticException"/>
			<TypeSignature Language="C#" Value="public class OverflowException : ArithmeticException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents the error that occurs when the result of an arithmetic operation is too large to be
      represented by the destination type.</para>
				</summary>
				<remarks>
					<para>In languages that detect overflow, this is the exception
      that gets thrown. For example, in C#, the <see langword="checked"/> keyword is
      used to detect overflow conditions. A <see cref="T:System.OverflowException"/> exception occurs only in a
   <see langword="checked"/>
   context.</para>
					<block subset="none" type="note">
						<para>The following IL instructions throw <see cref="T:System.OverflowException"/> :</para>
						<list type="bullet">
							<item>
								<term>
      add.ovf.&lt;signed&gt;</term>
							</item>
							<item>
								<term>
      conv.ovf.&lt;to type&gt;</term>
							</item>
							<item>
								<term>conv.ovf.&lt;to type&gt;.un</term>
							</item>
							<item>
								<term>
      mul.ovf.&lt;type&gt;</term>
							</item>
							<item>
								<term>
      sub.ovf.&lt;type&gt;</term>
							</item>
							<item>
								<term>newarr</term>
							</item>
						</list>
					</block>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes
      a <see cref="T:System.OverflowException"/> exception.</para>
					<code lang="C#">using System;
public class OverflowExample {
   public static void Main() {
      int i = 400;
      byte b = 0;
      try {
         checked { b = (byte)( i ); }
      }
      catch ( OverflowException e ) {
         Console.WriteLine( "Error caught: {0}", e );
      }
   }
}
   </code>
					<para>The output is</para>
					<code>
Error caught: System.OverflowException: Arithmetic operation resulted in an overflow.
   at OverflowExample.Main()
 </code>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.ArithmeticException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public OverflowException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.OverflowException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.OverflowException.Message"/> property of the new instance to a system-supplied
   message that describes the error. This message takes into account the current
   system culture.</para>
							<para>The <see cref="!:System.OverflowException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public OverflowException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.OverflowException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.OverflowException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.OverflowException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments. The <see cref="!:System.OverflowException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public OverflowException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.OverflowException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current Exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.OverflowException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="!:System.OverflowException.InnerException"/> property using <paramref name="innerException"/> . If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.OverflowException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For information on
   inner exceptions, see <see cref="P:System.Exception.InnerException"/>
   .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Path" FullName="System.IO.Path" FullNameSP="System_IO_Path">
			<TypeSignature Language="ILASM" Value=".class public sealed Path extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class Path"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Performs operations on <see cref="T:System.String"/> instances that contain
   file or directory path information.</para>
				</summary>
				<remarks>
					<para> A path is a string that provides the location of a file
      or directory. A path does not necessarily point to a location on disk; for
      example, a path may map to a location in memory or on a device. Paths are
      composed of the components described below. Component names are shown in
   <paramref name="italics "/>
   
   and the following table describes the symbols used in component definitions:</para>
					<list type="table">
						<listheader>
							<term>Symbol</term>
							<description>Description</description>
						</listheader>
						<item>
							<term> &lt; &gt;</term>
							<description>Indicates a path component.</description>
						</item>
						<item>
							<term> { } </term>
							<description>Indicates a grouping; either all components
         in a grouping are present, or none are permitted to be
         present.</description>
						</item>
						<item>
							<term> *</term>
							<description>Indicates that the component or grouping that immediately precedes
         this symbol can appear zero, one, or multiple times.</description>
						</item>
						<item>
							<term> ?</term>
							<description>Indicates that the component or grouping that immediately precedes
         this symbol can appear zero, or one times.</description>
						</item>
						<item>
							<term> +</term>
							<description>Indicates string concatenation.</description>
						</item>
					</list>
					<para> The components that define a path are as
   follows:</para>
					<para>
						<paramref name="Directory Name"/>: A string that
specifies one or more directory levels in a file system. If a directory name
contains
multiple levels, a <paramref name="directory separator character"/> separates the levels; however, a directory name does not begin or
end with a directory separator character. In the example path <c>C:/foo/bar/bat.txt</c>, the directory
name is "<c>foo/bar</c>". <see cref="M:System.IO.Path.GetDirectoryName(System.String)"/> returns the directory name component of a path.
Note that this method does include a beginning separator character if one is
included
in the specified
path. </para>
					<para>
						<paramref name="Directory Separator Character"/>:
An implementation-defined constant string containing a single printable
non-alphanumeric character used to separate levels in a file system. In the
example path <c>C:/foo/bar/bat.txt</c>, the directory separator character is "<c>/</c>". The <see cref="F:System.IO.Path.DirectorySeparatorChar"/> and <see cref="F:System.IO.Path.AltDirectorySeparatorChar"/> store
implementation-defined directory separator characters
.</para>
					<para>
						<paramref name="Extension"/>: A string that consists of the
characters at the end of a file name, from and including the last <paramref name="extension separator character"/>. The minimum and
maximum lengths of extension components are platform-specific. In the example
path <c>C:/foo/bar/bat.txt</c>
, the <paramref name="extension"/> is "<c>.txt</c>". The <see cref="M:System.IO.Path.GetExtension(System.String)"/> method returns the
extension component of a
path.</para>
					<para>
						<paramref name="Extension Separator Character"/>:
An implementation-defined constant string
composed of a single character that appears after the last character in the
<paramref name="file base"/> component indicating the beginning of the <paramref name="extension"/> 
component. If the extension separator character<paramref name=" "/>is the first character
in a <paramref name="file name"/>, it is not interpreted as a
extension separator character<paramref name="."/> If more than one extension separator
character<paramref name=" "/>appears in a file name, only the last occurrence is the
extension separator character; all other occurrences are part of the file base
component<paramref name="."/> In the example path <c>C:/foo/bar/bat.txt</c>, the extension separator character
is "<c>.</c>". </para>
					<para>
						<paramref name="File Base"/>: A string containing the
<paramref name="file"/>
						<paramref name="name"/> with the <paramref name="extension "/>component removed. In the example path <c>C:/foo/bar/bat.txt</c>, the file base
is "<c>bat</c>".
The <see cref="M:System.IO.Path.GetFileNameWithoutExtension(System.String)"/> method returns the
file base component of a
path.</para>
					<para>
						<paramref name="File Name"/>: A string containing all information
required to uniquely identify a file within a directory. This component is defined
as follows:</para>
					<para>
						<c>&lt;file
   base&gt;{+&lt;extension&gt;}?</c>
					</para>
					<para> The file name component is commonly referred to as a
   relative file name. In the example path <c>C:/foo/bar/bat.txt</c>, the file name is "<c>bat.txt</c>". The <see cref="M:System.IO.Path.GetFileName(System.String)"/>
method returns the file name component of a
path.</para>
					<para>
						<paramref name="Full Directory Name"/>: A string containing all
information required to uniquely identify a directory within a file
system. This component is defined as
follows:</para>
					<para>
						<c>&lt;path
   root&gt;+&lt;directory name&gt;</c>
					</para>
					<para> The full directory name component is commonly referred to
   as the absolute directory name. In the example path <c>C:/foo/bar/bat.txt</c>, the full directory name is "<c>C:/foo/bar</c>
".</para>
					<para>
						<paramref name="Full"/>
						<paramref name="Path"/>: A string containing all
information required to uniquely identify a file within a file system. This
component is defined as
follows:</para>
					<para>
						<c>&lt;full
   directory name&gt;+&lt;directory separator character&gt;+&lt;file
   name&gt;</c>
					</para>
					<para> The full path component is commonly referred to as the
   absolute file name. In the example path <c>C:/foo/bar/bat.txt</c>, the full path is "<c>C:/foo/bar/bat.txt</c>". The <see cref="M:System.IO.Path.GetFullPath(System.String)"/> method returns the full path
component.</para>
					<para>
						<paramref name="Path Root"/>: A string containing all information
required to uniquely identify the highest level in a file
system. The component is defined as
follows:</para>
					<para>
						<c>{&lt;volume
   identifier&gt;+&lt;volume separator character&gt;}?+&lt;directory separator
   character&gt;</c>
					</para>
					<para> In the example path <c>C:/foo/bar/bat.txt</c> , the path root is "<c>C:/</c>". The <see cref="M:System.IO.Path.GetPathRoot(System.String)"/>
method returns the <paramref name="path root"/>
component.</para>
					<para>
						<paramref name="Volume"/>
						<paramref name="Identifier"/>: A string composed of a single alphabetic
character that uniquely defines a drive or volume in a file system. This
component is optional; on systems that do not support volume identifiers, this
component is required to be a zero length string. In the example path <c>C:/foo/bar/bat.txt</c>
, the path root<paramref name=" "/>is "<c>C:</c>". In the example path, <c>\\myserver\myshare\foo\bar\baz.txt</c>
the path root is "<c>\\myserver\myshare</c>". </para>
					<para>
						<paramref name="Volume Separator Character"/>: A
string composed of a single alphabetic character used to separate the
<paramref name="volume"/>
						<paramref name="identifier"/> from other components in a path. This
component can appear in a path only if a volume identifier is
present<paramref name="."/> This component is optional; on systems that do not
support the volume identifier<paramref name=" "/>component, the volume separator character
component is required to be a zero length
string.</para>
					<para>The exact format of a path is determined by the current
   platform. For example, on Windows systems a path can start with a volume
   identifier, while this element is not present in Unix system paths. On some
   systems, paths containing file names can contain extensions. The format of an
   extension
   is platform dependent; for example, some systems limit extensions to
   three characters, while others do not. The current platform and possibly the current
   file system determine the set of characters used to separate the elements of
   a path, and the set of characters that cannot be used when specifying paths.
   Because of these differences, the fields of the <see cref="T:System.IO.Path"/> class as well as the exact behavior
   of some members of the <see cref="T:System.IO.Path"/> class are determined by the current platform and/or file
   system.</para>
					<para>A path contains either absolute or relative location
   information. Absolute paths fully specify a location: the file or directory can
   be uniquely identified regardless of the current location. A full path or full
   directory name component is present in an absolute path. Relative paths specify
   a partial location: the current working directory is used as the starting point
   when locating a file specified with a relative path. <block subset="none" type="note">To determine the current working directory, call <see cref="M:System.IO.Directory.GetCurrentDirectory"/>
   .</block>
					</para>
					<para> Most members of the <see langword="Path"/> class do not interact with the file system
and do not verify the existence of the file or directory specified by a path
string. <see cref="T:System.IO.Path"/>
members that modify a path string, such
as <see cref="M:System.IO.Path.ChangeExtension(System.String,System.String)"/>, have no effect on files and directories in the
file system. <see cref="T:System.IO.Path"/>
members do, however, validate the contents of a specified path string, and
throw <see cref="T:System.ArgumentException"/> if the string contains
characters that are not valid in path strings, as defined by the current
platform and file system. Implementations are
required to preserve the case of file and directory path strings, and to be case
sensitive if and only if the current platform is case-sensitive.
</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="AltDirectorySeparatorChar">
					<MemberSignature Language="ILASM" Value=".field public static initOnly valuetype System.Char AltDirectorySeparatorChar"/>
					<MemberSignature Language="C#" Value="public static readonly char AltDirectorySeparatorChar;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Provides a string containing an alternate single printable 
      non-alphanumeric character used to separate directory levels in a hierarchical
      file system.</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para> This field can be set to the
      same value as <see cref="F:System.IO.Path.DirectorySeparatorChar"/>.</para>
							<block subset="none" type="note">
								<para>
									<see cref="F:System.IO.Path.AltDirectorySeparatorChar"/> and <see cref="F:System.IO.Path.DirectorySeparatorChar"/> are
      both valid for separating directory levels in a path string.</para>
								<para>The value of this field is a backslash ('/') on Windows systems and a slash
      ('\') on Unix systems.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ChangeExtension">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string ChangeExtension(string path, string extension)"/>
					<MemberSignature Language="C#" Value="public static string ChangeExtension(string path, string extension);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="extension" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Changes the extension component of the specified path string.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the path information to modify.</param>
						<param name="extension">A <see cref="T:System.String"/> containing the new extension. Specify <see langword="null"/> to remove an existing extension from <paramref name="path"/>.</param>
						<returns>
							<para>A <see cref="T:System.String"/>
containing the modified path information.</para>
							<para>Platforms that do not support this feature
   return <paramref name="path"/> unmodified.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path"/> contains one or more implementation-defined invalid characters.</exception>
						<remarks>
							<para>The exact behavior of this
      method is platform-specific. This method checks <paramref name="path"/> for invalid
      characters as defined by the current platform and file system.
      </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Combine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Combine(string path1, string path2)"/>
					<MemberSignature Language="C#" Value="public static string Combine(string path1, string path2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path1" Type="System.String"/>
						<Parameter Name="path2" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Concatenates two
      path strings.</para>
						</summary>
						<param name="path1">A <see cref="T:System.String"/> containing the first path.</param>
						<param name="path2">A <see cref="T:System.String"/> containing the second path.</param>
						<returns>
							<para> A <see cref="T:System.String"/> containing
<paramref name="path1"/> followed by <paramref name="path2"/>.
   If one of the specified paths is a zero length string, this method returns the
   other path. If <paramref name="path2"/> contains an absolute path, this method returns
<paramref name="path2"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path1"/> or <paramref name="path2"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="path1"/> or <paramref name="path2"/> contains one or more implementation-defined invalid characters.</para>
						</exception>
						<remarks>
							<para>If <paramref name="path1"/> does not end with
   a valid separator character (<see cref="F:System.IO.Path.DirectorySeparatorChar"/> or <see cref="F:System.IO.Path.AltDirectorySeparatorChar"/>), <see langword="DirectorySeparatorChar"/>
   is appended to <paramref name="path1"/> prior
   to the concatenation.</para>
						</remarks>
						<example>
							<para> The following example demonstrates using the
   <see langword="Combine"/> method on a Windows system.</para>
							<code lang="C#">using System;
using System.IO;
class CombineTest {
 public static void Main() {
 string path1, path2;
 Console.WriteLine("Dir char is {0} Alt dir char is {1}",
 Path.DirectorySeparatorChar,
 Path.AltDirectorySeparatorChar
 );
 path1 = "foo.txt";
 path2 = "\\ecmatest\\examples";
 Console.WriteLine("{0} combined with {1} = {2}",path1, path2 , Path.Combine(path1, 

path2));
 path1 = "\\ecmatest\\examples";
 path2 = "foo.txt";
 Console.WriteLine("{0} combined with {1} = {2}",path1, path2 , Path.Combine(path1, 

path2));
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>Dir char is \ Alt dir char is /</para>
								<para>foo.txt combined with \ecmatest\examples = \ecmatest\examples</para>
								<para>\ecmatest\examples combined with foo.txt = 
         \ecmatest\examples\foo.txt</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DirectorySeparatorChar">
					<MemberSignature Language="ILASM" Value=".field public static initOnly valuetype System.Char DirectorySeparatorChar"/>
					<MemberSignature Language="C#" Value="public static readonly char DirectorySeparatorChar;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Provides a string containing a single
      printable non-alphanumeric character used to separate directory levels in a hierarchical file system.
      </para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<block subset="none" type="note">
								<para>
									<see cref="F:System.IO.Path.AltDirectorySeparatorChar"/> and <see cref="F:System.IO.Path.DirectorySeparatorChar"/> are both
   valid for separating directory levels in a path string.</para>
								<para>The value of this field is a backslash ('\') on Windows systems and a slash ('/') on Unix systems.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetDirectoryName">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string GetDirectoryName(string path)"/>
					<MemberSignature Language="C#" Value="public static string GetDirectoryName(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the directory name component of the specified path string.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the path of a file or directory.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing directory information for <paramref name="path"/>, or
<see langword="null"/> if <paramref name="path"/> denotes a root directory, is 
   the empty string, or is <see langword="null."/> Returns <see cref="F:System.String.Empty"/> if path
   does not contain directory information.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="path"/> contains one or more implementation-defined invalid characters.</para>
						</exception>
						<remarks>
							<para>The string returned by this method consists
      of all characters between the first and last <see cref="F:System.IO.Path.DirectorySeparatorChar"/> or <see cref="F:System.IO.Path.AltDirectorySeparatorChar"/> character
      in <paramref name="path"/>. The first separator character is included, but the last separator character is not included in
      the returned string.</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.IO.Path.GetDirectoryName(System.String)"/> method on a Windows system.</para>
							<code lang="C#">using System;
using System.IO;
class GetDirectoryTest {
 public static void Main() {
   string [] paths = {
     @"\ecmatest\examples\pathtests.txt",
     @"\ecmatest\examples\",
     "pathtests.xyzzy",
     @"\",
     @"C:\",
    @"\\myserver\myshare\foo\bar\baz.txt"
   };
   foreach (string pathString in paths) {
     string s = Path.GetDirectoryName(pathString);
     Console.WriteLine("Path: {0} directory is {1}",pathString, s== null? "null": s);
   }
 }
}
</code>
							<para>The output is </para>
							<c>
								<para>Path: \ecmatest\examples\pathtests.txt directory is \ecmatest\examples</para>
								<para>Path: \ecmatest\examples\ directory is \ecmatest\examples</para>
								<para> Path: pathtests.xyzzy directory is</para>
								<para> Path: \ directory is null</para>
								<para>Path: C:\ directory is null</para>
								<para>Path: \\myserver\myshare\foo\bar\baz.txt directory is \\myserver\myshare\foo\bar</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetExtension">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string GetExtension(string path)"/>
					<MemberSignature Language="C#" Value="public static string GetExtension(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the extension component of the specified path string.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the path information from which to get the extension.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing the extension of <paramref name="path,"/>
								<see langword="null"/> ,
or <see cref="F:System.String.Empty"/>. If <paramref name="path"/> is
<see langword="null"/>, returns <see langword="null"/>. If path does not have extension information, 
returns <see cref="F:System.String.Empty"/>.</para>
							<para>The extension returned by this method includes the
      platform-specific extension separator character used to separate the extension
      from the rest of the path.</para>
							<para>Platforms that do not
      support this feature return <paramref name="path"/> unmodified.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="path"/> contains one or more implementation-defined invalid characters.</para>
						</exception>
						<remarks>
							<para>The exact behavior of this method
      is platform-specific. The character used to separate the extension from the rest of the path is
      platform-specific.</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.IO.Path.GetExtension(System.String)"/> method on a Windows
   system.</para>
							<code lang="C#">using System;
using System.IO;
class GetDirectoryTest {
 public static void Main(){
   string [] paths = {
     @"\ecmatest\examples\pathtests.txt",
     @"\ecmatest\examples\",
     "pathtests.xyzzy",
     "pathtests.xyzzy.txt",
     @"\",
     ""
   };
   foreach (string pathString in paths){
     string s = Path.GetExtension (pathString);
     if (s == String.Empty) s= "(empty string)";
     if (s == null) s= "null";
     Console.WriteLine("{0} is the extension of {1}", s, pathString);
   }
 }
}
</code>
							<para>The output is</para>
							<c>
								<para>.txt is the extension of \ecmatest\examples\pathtests.txt</para>
								<para>(empty string) is the extension of \ecmatest\examples\ </para>
								<para>.xyzzy is the extension of pathtests.xyzzy </para>
								<para>.txt is the extension of pathtests.xyzzy.txt </para>
								<para>(empty string) is the extension of \ </para>
								<para>(empty string) is the extension of </para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetFileName">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string GetFileName(string path)"/>
					<MemberSignature Language="C#" Value="public static string GetFileName(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the file name, including the extension if any, of the specified path string.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the path information from which to obtain the filename and extension.</param>
						<returns>
							<para>A <see cref="T:System.String"/> consisting of the characters
   after the last directory character in <paramref name="path"/>. If the last character
   of <paramref name="path"/> is a directory separator character, returns <see cref="F:System.String.Empty"/>. If <paramref name="path"/> is <see langword="null"/>, returns
<see langword="null"/>.</para>
							<para>Platforms that do not support this feature
   return <paramref name="path"/> unmodified.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path"/> contains one or more implementation-defined invalid characters.</exception>
						<remarks>
							<para> The directory separator characters used to determine the start of
      the file name are <see cref="F:System.IO.Path.DirectorySeparatorChar"/> and <see cref="F:System.IO.Path.AltDirectorySeparatorChar"/>.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the behavior of the
      <see cref="M:System.IO.Path.GetFileName(System.String)"/> method on a
      Windows system.</para>
							<code lang="C#">using System;
using System.IO;
class FileNameTest {
 public static void Main() {
   string [] paths = {"pathtests.txt",
     @"\ecmatest\examples\pathtests.txt",
     "c:pathtests.txt",
     @"\ecmatest\examples\",
     ""
   };
   foreach (string p in paths) {
     Console.WriteLine("Path: {0} filename = {1}",p, Path.GetFileName(p));
   }
 }
}
      </code>
							<para>The output is </para>
							<c>
								<para>Path: pathtests.txt filename = pathtests.txt </para>
								<para>Path: \ecmatest\examples\pathtests.txt filename = pathtests.txt </para>
								<para>Path: c:pathtests.txt filename = pathtests.txt </para>
								<para>Path: \ecmatest\examples\ filename = </para>
								<para>Path: filename = </para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetFileNameWithoutExtension">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string GetFileNameWithoutExtension(string path)"/>
					<MemberSignature Language="C#" Value="public static string GetFileNameWithoutExtension(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the file base component of the specified path string without the extension.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the path of the file.</param>
						<returns>
							<para>A <see cref="T:System.String"/> consisting of the
   string returned by <see cref="M:System.IO.Path.GetFileName(System.String)"/> , minus
   the platform-specific extension separator character and extension. Platforms that do not support this feature
   return <paramref name="path"/>
   unmodified.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path"/> contains one or more implementation-defined invalid characters.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">For additional details, see <see cref="M:System.IO.Path.GetFileName(System.String)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetFullPath">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string GetFullPath(string path)"/>
					<MemberSignature Language="C#" Value="public static string GetFullPath(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns information required to uniquely identify a
      file within a file system.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the file or directory for which to obtain absolute path information.</param>
						<returns>
							<para> A <see cref="T:System.String"/> containing the fully qualified (absolute) location of <paramref name="path"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="path "/>is a zero-length string, contains only white space, or contains one or more implementation-defined invalid characters.</para>
							<para>The system could not retrieve the absolute path.</para>
						</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have the required permissions.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> is <see langword="null"/> .</exception>
						<exception cref="T:System.IO.PathTooLongException">The length of <paramref name="path"/> or the absolute path information for <paramref name="path"/> exceeds the system-defined maximum length.</exception>
						<remarks>
							<para> The absolute path includes all information required to locate
      a file or directory on a system. The file or directory specified by <paramref name="path"/> is not required to exist; however if
   <paramref name="path"/> does exist, the caller is required to have permission to obtain
      path information for <paramref name="path"/>. Note
      that unlike most members of the <see cref="T:System.IO.Path"/>
      class, this method accesses the file
      system.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission to access path information. See <see langword="System.Security.Permissions.FileIOPermissionAccess.PathDiscovery"/> .</permission>
						<example>
							<para> The following example demonstrates the <see cref="M:System.IO.Path.GetFullPath(System.String)"/> method on a Windows system. In
   this example, the absolute path for the current directory is c:\ecmatest\examples.</para>
							<code lang="C#">using System; 
using System.IO; 
class GetDirectoryTest { 
 public static void Main() { 
   string [] paths = { 
     @"\ecmatest\examples\pathtests.txt", 
     @"\ecmatest\examples\", 
     "pathtests.xyzzy", 
     @"\", 
   }; 
   foreach (string pathString in paths) 
     Console.WriteLine("Path: {0} full path is {1}",pathString, 

Path.GetFullPath(pathString));
 } 
}
</code>
							<para>The output is </para>
							<c>
								<para>Path: \ecmatest\examples\pathtests.txt full path is
      C:\ecmatest\examples\pathtests.txt</para>
								<para>Path: \ecmatest\examples\ full path is C:\ecmatest\examples\</para>
								<para>Path: pathtests.xyzzy full path is
      C:\ecmatest\examples\pathtests.xyzzy</para>
								<para>Path: \ full path is C:\ </para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetPathRoot">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string GetPathRoot(string path)"/>
					<MemberSignature Language="C#" Value="public static string GetPathRoot(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the path root component of the specified path.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the path from which to obtain root directory information</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing the root directory of <paramref name="path"/>, or
<see langword="null"/> if <paramref name="path"/> is 
<see langword="null"/> . Returns <see cref="F:System.String.Empty"/>
   if the specified path does not contain root information. </para>
							<para>Platforms that do not support this feature
   return <paramref name="path"/> unmodified.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path"/> contains one or more implementation-defined invalid characters or is equal to <see cref="F:System.String.Empty"/> . </exception>
						<remarks>
							<para>This method does not verify that the path exists.
      </para>
							<para>The exact behavior of this method is platform-specific.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.IO.Path.GetPathRoot(System.String)"/> 
method.</para>
							<code lang="C#">using System;
using System.IO;
class GetPathRootTest 
{
  public static void Main() {
    string [] paths = {                                

@"\ecmatest\examples\pathtests.txt",
      "pathtests.xyzzy",
      @"\",
      @"C:\",                                  

@"\\myserver\myshare\foo\bar\baz.txt"
    };
    foreach (string pathString in paths) {
      string s = Path.GetPathRoot(pathString);
      Console.WriteLine("Path: {0} Path root is {1}",pathString, s== null? "null": s);
    }
  }
}
</code>
							<para>The output is</para>
							<c>
								<para>Path: \ecmatest\examples\pathtests.txt Path root is \</para>
								<para>Path: pathtests.xyzzy Path root is</para>
								<para>Path: \ Path root is \</para>
								<para>Path: C:\ Path root is C:\</para>
								<para>Path: \\myserver\myshare\foo\bar\baz.txt 
      Path root is \\myserver\myshare</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetTempFileName">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string GetTempFileName()"/>
					<MemberSignature Language="C#" Value="public static string GetTempFileName();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a unique temporary file name and creates a 0-byte file by
      that name on disk.
      </para>
						</summary>
						<returns>
							<para> A <see cref="T:System.String"/> containing the name of the temporary file.
   </para>
							<para>Platforms that do not support this feature
   return <see cref="F:System.String.Empty"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetTempPath">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string GetTempPath()"/>
					<MemberSignature Language="C#" Value="public static string GetTempPath();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the path information of a temporary directory.</para>
						</summary>
						<returns>
							<para> A <see cref="T:System.String"/> containing the full directory name of a temporary
   directory.</para>
							<para>The information returned by this method is
   platform-specific. Platforms that do not support this feature return
<see cref="F:System.String.Empty"/>.</para>
						</returns>
						<exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
						<remarks>
							<para>On platforms that provide a mechanism for users
      to discover this information, (for example by checking an environment variable),
      implementations of the CLI return the same information as the platform-specific
      mechanism.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.EnvironmentPermission">Requires unrestricted access to environment variables. See <see cref="F:System.Security.Permissions.PermissionState.Unrestricted"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HasExtension">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool HasExtension(string path)"/>
					<MemberSignature Language="C#" Value="public static bool HasExtension(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> indicating whether the specified path includes an extension component.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the path to search for an extension.</param>
						<returns>
							<para>
								<see langword="true"/> if 
<paramref name="path"/> includes a file extension.</para>
							<para>Platforms that do not support this feature
   return <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path"/> contains one or more implementation-defined invalid characters. </exception>
						<remarks/>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsPathRooted">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsPathRooted(string path)"/>
					<MemberSignature Language="C#" Value="public static bool IsPathRooted(string path);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Boolean"/> indicating whether the specified path string contains a
   path root component.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> containing the path to test.</param>
						<returns>
							<para>
								<see langword="true"/> if
<paramref name="path"/> contains an absolute path; <see langword="false"/> 
if <paramref name="path"/> contains relative path information.</para>
							<para>Platforms that do not support this feature
   return <see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="path"/> contains one or more implementation-defined invalid characters.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method does not access file systems or verify the existence of the specified path. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PathSeparator">
					<MemberSignature Language="ILASM" Value=".field public static initOnly valuetype System.Char PathSeparator"/>
					<MemberSignature Language="C#" Value="public static readonly char PathSeparator;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Provides a platform-specific separator character used to
      separate path strings in environment variables.
      </para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="PathTooLongException" FullName="System.IO.PathTooLongException" FullNameSP="System_IO_PathTooLongException">
			<TypeSignature Language="ILASM" Value=".class public serializable PathTooLongException extends System.IO.IOException"/>
			<TypeSignature Language="C#" Value="public class PathTooLongException : IOException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when a directory or file name is longer than the system-defined maximum
      length.</para>
				</summary>
			</Docs>
			<Base>
				<BaseTypeName>System.IO.IOException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public PathTooLongException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.PathTooLongException"/>
class.</para>
						</summary>
						<remarks>
							<para> This constructor initializes the <see cref="!:System.IO.PathTooLongException.Message"/> property of the new instance to
   a system-supplied message that describes the error, such as "The supplied path
   is too long." This message takes into account the current system culture.</para>
							<para>The <see cref="!:System.IO.PathTooLongException.InnerException"/> property of the new instance is 
initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public PathTooLongException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.PathTooLongException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.IO.PathTooLongException.Message"/> property of the new
   instance using <paramref name="message"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.IO.PathTooLongException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para> The <see cref="!:System.IO.PathTooLongException.InnerException"/> property of the new instance is initialized to
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public PathTooLongException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.PathTooLongException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name=" innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/>.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.IO.PathTooLongException.Message"/> property of the new instance using <paramref name="message"/> and
   the <see cref="!:System.IO.PathTooLongException.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.IO.PathTooLongException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For more information on inner
   exceptions, see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="PermissionSet" FullName="System.Security.PermissionSet" FullNameSP="System_Security_PermissionSet">
			<TypeSignature Language="ILASM" Value=".class public serializable PermissionSet extends System.Object implements System.Collections.ICollection, System.Collections.IEnumerable"/>
			<TypeSignature Language="C#" Value="public class PermissionSet : ICollection, IEnumerable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents a collection that can contain different kinds of permissions and perform security
      operations.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">Use <see cref="T:System.Security.PermissionSet"/>
to perform operations on different permission types as
a group.</block>
					</para>
					<para>The XML encoding of a <see cref="T:System.Security.PermissionSet"/> instance is defined below in EBNF format. The
   following conventions are used: </para>
					<list type="bullet">
						<item>
							<term>
								<para> All non-literals in the grammar below are shown in normal
         type.</para>
							</term>
						</item>
						<item>
							<term>
								<para> All literals are in bold font. </para>
							</term>
						</item>
					</list>
					<para> The following meta-language symbols are used: </para>
					<list type="bullet">
						<item>
							<term>
         
         '*' represents a meta-language symbol suffixing an
         expression that can appear zero or more times.</term>
						</item>
						<item>
							<term>
         
         '?' represents a meta-language symbol suffixing an
         expression that can appear zero or one time.</term>
						</item>
						<item>
							<term>
         
         '+' represents a meta-language symbol suffixing an
         expression that can appear one or more times.</term>
						</item>
						<item>
							<term>
         
         '(',')' is used to group literals, non-literals or a
         mixture of literals and non-literals.</term>
						</item>
						<item>
							<term>
         
         '|' denotes an exclusive disjunction between two
         expressions.</term>
						</item>
						<item>
							<term>
         
         '::= ' denotes a production rule where a left hand
         non-literal is replaced by a right hand expression containing literals,
         non-literals or both.</term>
						</item>
					</list>
					<para> The XML encoding of a <see cref="T:System.Security.PermissionSet"/>
instance is as follows:</para>
					<c>
						<para>PermissionSet::=</para>
						<para>(</para>
						<para>
							<see langword="&lt;PermissionSet"/>
						</para>
						<para>
							<see langword="class=&quot;System.Security.PermissionSet&quot; "/>
						</para>
						<para>
							<see langword="version=&quot;1&quot; Unrestricted=&quot;true&quot;/&gt;"/>
						</para>
						<para>)</para>
						<para>|</para>
						<para>(</para>
						<para>
							<see langword="&lt;PermissionSet"/>
						</para>
						<para>
							<see langword="class=&quot;System.Security.PermissionSet&quot; "/>
						</para>
						<para>
							<see langword="version=&quot;1&quot;&gt;"/>
						</para>
						<para>DnsPermissionXML ? </para>
						<para>SocketPermissionXML ? </para>
						<para>WebPermissionXML ? </para>
						<para>EnvironmentPermissionXML ? </para>
						<para>FileIOPermissionXML ? </para>
						<para>ReflectionPermissionXML ?</para>
						<para>SecurityPermissionXML ? </para>
						<para>CustomPermissionXML *</para>
						<para>
							<see langword="&lt;/PermissionSet&gt;"/>
						</para>
						<para>)</para>
					</c>
					<para> CustomPermissionXML represents any custom permission. The XML encoding for custom permissions makes use of the following symbols:</para>
					<para> ClassName is the name of the class implementing the
   permission.</para>
					<para> AssemblyName is the name of the assembly that contains
   the class implementing the permission.</para>
					<para> Version is the version number indicating the
   version of the assembly implementing the permission.</para>
					<para> StrongNamePublicKeyToken is the strong name public key token constituting the
   strong name of the assembly that implements the permission.</para>
					<para> version is version information for the custom permission. Format and content
   are defined by the author of the custom permission.</para>
					<para> PermissionAttributes is any attribute and attribute value on the <see cref="T:System.Security.IPermission"/> element used by the 
permission to represent a particular permission state, for example,
unrestricted=
"true".
Format and content are defined by the author of the
custom permission.</para>
					<para> PermissionXML is any valid XML used by the permission to
   represent permission state. Format and content are defined by the author of the custom
   permission.</para>
					<para>The XML encoding of a custom permission instance is as
   follows:</para>
					<c>
						<para>CustomPermissionXML ::=</para>
						<para>
							<see langword="&lt;IPermission class=&quot;"/>
						</para>
						<para>ClassName<see langword=","/>
						</para>
						<para>AssemblyName<see langword=","/>
						</para>
						<para>
							<see langword="Version="/>Version<see langword=","/>
						</para>
						<para>
							<see langword="Culture=neutral,"/>
						</para>
						<para>
							<see langword="PublicKeyToken="/>StrongNamePublicKeyToken<see langword="&quot;"/>
						</para>
						<para>
							<see langword="version=&quot;"/>version<see langword="&quot;"/>
						</para>
						<para>(PermissionAttributes)*</para>
						<para>&gt;</para>
						<para>(PermissionXML)?</para>
						<para>
							<see langword="&lt;/IPermission&gt;"/>
						</para>
					</c>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Collections.ICollection</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.Collections.IEnumerable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Security.PermissionSet permSet)"/>
					<MemberSignature Language="C#" Value="public PermissionSet(PermissionSet permSet);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="permSet" Type="System.Security.PermissionSet"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs a new instance of the <see cref="T:System.Security.PermissionSet"/> class with the
 values of the specified <see cref="T:System.Security.PermissionSet"/> instance. </para>
						</summary>
						<param name="permSet">The <see cref="T:System.Security.PermissionSet"/> instance with which to initialize the values of the new instance, or <see langword="null"/> to initialize an empty permission set.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="permSet"/> is not <see langword="null"/> and is not an instance of <see cref="T:System.Security.PermissionSet"/>.</exception>
						<remarks>
							<para>If <paramref name="permSet"/> is not <see langword="null"/> , the new instance is
 initialized with copies of the objects in <paramref name="permSet"/>, not references
 to those objects. If <paramref name="permSet"/> is <see langword="null"/>, the new instance contains no
 permissions.</para>
							<para>
								<block subset="none" type="note"> To add a permission to an
 empty <see cref="T:System.Security.PermissionSet"/> ,
 use <see cref="M:System.Security.PermissionSet.AddPermission(System.Security.IPermission)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.PermissionState state)"/>
					<MemberSignature Language="C#" Value="public PermissionSet(PermissionState state);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="state" Type="System.Security.Permissions.PermissionState"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs a new instance of the <see cref="T:System.Security.PermissionSet"/> class with the
   specified
   value.</para>
						</summary>
						<param name="state">
							<para>A <see cref="T:System.Security.Permissions.PermissionState"/> value. This value is either <see cref="F:System.Security.Permissions.PermissionState.None"/> or <see cref="F:System.Security.Permissions.PermissionState.Unrestricted"/> , to specify fully restricted or fully unrestricted access. </para>
						</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="state"/> is not a valid <see cref="T:System.Security.Permissions.PermissionState"/> value.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">The
      new instance contains no permissions. To add a permission to the
      new instance, use <see cref="M:System.Security.PermissionSet.AddPermission(System.Security.IPermission)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddPermission">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission AddPermission(class System.Security.IPermission perm)"/>
					<MemberSignature Language="C#" Value="public virtual IPermission AddPermission(IPermission perm);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="perm" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Adds the specified <see cref="T:System.Security.IPermission"/> object to
   the current instance if that permission does not already exist in the current instance.</para>
						</summary>
						<param name="perm">The <see cref="T:System.Security.IPermission"/> object to add.</param>
						<returns>
							<para>If <paramref name="perm"/> is <see langword="null"/>,
   returns <see langword="null"/> . If a permission of the same type as
<paramref name="perm"/> already exists in the current instance, the union of the existing 
   permission and <paramref name="perm"/> is added to the current instance and is returned.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="perm"/> is not a <see cref="T:System.Security.IPermission"/> object.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">The <see cref="T:System.Security.IPermission"/> is added if <paramref name="perm"/> is not
<see langword="null"/> and a permission of the same type as <paramref name="perm"/> does 
   not already exist in the current instance.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to
   add permission objects to the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Assert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Assert()"/>
					<MemberSignature Language="C#" Value="public virtual void Assert();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Asserts that calling code can access the resources identified by the permissions contained in the current
      instance through the code that calls this method, even if callers have not been
      granted permission to access the resource. </para>
						</summary>
						<exception cref="T:System.Security.SecurityException">
							<para>The asserting code does not have sufficient permission to call this method.</para>
							<para>-or-</para>
							<para>This method was called with permissions already asserted for the current stack frame.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is the only way to assert multiple permissions at the same time
      within a frame because only a single assert can be active on a frame at one
      time; subsequent asserts will result in an exception.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to insure that all callers can access
      a set of secured resources.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.SecurityPermission">Requires permission to perform the assertion security operation. See <see cref="F:System.Security.Permissions.SecurityPermissionFlag.Assertion"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Copy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.PermissionSet Copy()"/>
					<MemberSignature Language="C#" Value="public virtual PermissionSet Copy();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.PermissionSet</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a new <see cref="T:System.Security.PermissionSet"/> containing copies of the objects in the current instance.</para>
						</summary>
						<returns>
							<para>A new <see cref="T:System.Security.PermissionSet"/> that is value equal to the current instance.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">This method creates
      copies of the permission objects in the current instance, and adds them to the new instance.</block>
							</para>
							<para>
								<block subset="none" type="default">This method calls
   the <see cref="T:System.Security.PermissionSet"/>
   constructor that takes a <see cref="T:System.Security.PermissionSet"/> argument,
   and passes the current instance as that parameter.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to
   create a new <see cref="T:System.Security.PermissionSet"/> instance containing permissions that are identical to the permissions contained in
   the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CopyTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void CopyTo(class System.Array array, int32 index)"/>
					<MemberSignature Language="C#" Value="public virtual void CopyTo(Array array, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="array" Type="System.Array"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Copies the permission objects in the current instance to the specified
      location in the specified <see cref="T:System.Array"/> .</para>
						</summary>
						<param name="array">The destination <see cref="T:System.Array"/> .</param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the zero-based starting position in the array at which to begin copying.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="array"/> has more than one dimension.</exception>
						<exception cref="T:System.IndexOutOfRangeException">
							<paramref name="index"/> is outside the range of allowable values for <paramref name="array"/>.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="array"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is
      implemented to support the <see cref="T:System.Collections.ICollection"/> interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default
      implementation uses the <see cref="M:System.Array.SetValue(System.Object,System.Int32)"/>(<see cref="T:System.Object"/>, <see cref="T:System.Int32"/>) method to add the value to the array.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this 
      method to customize the manner in which elements are added to <paramref name=" array"/>
      . </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Count">
					<MemberSignature Language="ILASM" Value=".property int32 ICollection.Count { public hidebysig virtual abstract specialname int32 get_ICollection.Count() }"/>
					<MemberSignature Language="C#" Value="int ICollection.Count { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.ICollection"/> interface. [Note: For more information, see <see cref="M:System.Collections.ICollection.Count"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Demand">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Demand()"/>
					<MemberSignature Language="C#" Value="public virtual void Demand();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Forces a <see cref="T:System.Security.SecurityException"/> if all callers do 
   not have the permissions specified by the objects
   contained in the current instance.</para>
						</summary>
						<exception cref="T:System.Security.SecurityException">A caller does not have the permission specified by the current instance.</exception>
						<remarks>
							<block subset="none" type="behaviors">
								<para>The permission check for <see cref="M:System.Security.PermissionSet.Demand"/> begins with the
      immediate caller of the code that calls this method and continues until all
      callers have been checked or a caller has been found that is not granted the
      demanded permission, in which case a <see cref="T:System.Security.SecurityException"/> exception is thrown. </para>
								<para>If the current instance is empty, a call to <see cref="M:System.Security.PermissionSet.Demand"/> succeeds.</para>
							</block>
							<para>
								<block subset="none" type="usage">Use this
   method to ensure in a single operation that all callers have all permissions contained in a permission set.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Deny">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Deny()"/>
					<MemberSignature Language="C#" Value="public virtual void Deny();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Denies access to the resources secured by the objects contained in the current instance through the
      code that calls this method.</para>
						</summary>
						<exception cref="T:System.Security.SecurityException">
							<para>A previous call to <see langword="Deny"/> has already restricted the permissions for the current stack frame.</para>
						</exception>
						<remarks>
							<para>This is the only way to deny multiple permissions at the
      same time within a frame because only a single deny can be active on a frame at
      one time; subsequent denies will result in an exception.</para>
							<block subset="none" type="behaviors">
								<para>This method is required to prevent
         callers from accessing all resources protected by the objects in the
         current instance even if the callers had been granted permission to access them.</para>
								<para> A call to <see cref="M:System.Security.PermissionSet.Deny"/>
   is effective until the calling code returns.</para>
							</block>
							<para>
								<block subset="none" type="usage">Use this method to force
   all security checks for the objects contained in the current instance to
   fail.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FromXml">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void FromXml(class System.Security.SecurityElement et)"/>
					<MemberSignature Language="C#" Value="public virtual void FromXml(SecurityElement et);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="et" Type="System.Security.SecurityElement"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Reconstructs the state of a <see cref="T:System.Security.PermissionSet"/> object using the specified XML
   encoding.</para>
						</summary>
						<param name="et">
							<para>A <see cref="T:System.Security.SecurityElement"/> instance containing the XML encoding to use to reconstruct the state of a <see cref="T:System.Security.PermissionSet"/> object.</para>
						</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="et"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="et"/> does not contain an XML encoding for a <see cref="T:System.Security.PermissionSet"/> instance.</para>
							<para>An error occurred while reconstructing <paramref name="et"/> .</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">For the XML
      encoding for this class, see
      the <see cref="T:System.Security.PermissionSet"/> class page.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">When this call completes, the
      objects in the current instance are required to be identical to the objects in the <see cref="T:System.Security.PermissionSet"/>
      encoded in
   <paramref name=" et"/> .</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this method
      to reconstruct subclasses of <see cref="T:System.Security.PermissionSet"/> .</block>
							</para>
							<para>
								<block subset="none" type="usage">Applications do
      not typically call this method; it is called by the system.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEnumerator">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Collections.IEnumerator GetEnumerator()"/>
					<MemberSignature Language="C#" Value="public virtual IEnumerator GetEnumerator();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.IEnumerator</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns an enumerator used to iterate
      over the permissions in the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Collections.IEnumerator"/> object
   for the permissions of the
   set.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method is implemented to support
      the <see cref="T:System.Collections.ICollection"/> interface, which supports the <see cref="T:System.Collections.IEnumerable"/>
      interface.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this method to customize
      the enumerator returned by this method.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSubsetOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsSubsetOf(class System.Security.PermissionSet target)"/>
					<MemberSignature Language="C#" Value="public virtual bool IsSubsetOf(PermissionSet target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.PermissionSet"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the current instance is a subset of
      the specified object.</para>
						</summary>
						<param name="target">
							<para>A <see cref="T:System.Security.PermissionSet"/> instance that is to be tested for the subset relationship. </para>
						</param>
						<returns>
							<para>
								<see langword="true"/> if the current instance is a subset of <paramref name="target"/>;
   otherwise, <see langword="false"/>. If the current instance is unrestricted, and
<paramref name="target"/> is not, returns <see langword="false"/>. If <paramref name="target"/> is 
   unrestricted, returns <see langword="true"/> .</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>The current instance is a subset <paramref name="target"/> if all demands that succeed
      for the current instance also succeed for <paramref name="target"/>. That is, the current
      instance is a subset of <paramref name="target"/> if <paramref name="target"/> contains at least the
      permissions contained in the current instance.</para>
								<para>If this method returns <see langword="true"/> , the current instance does not
   describe a level of access to a set of resources that is not already described
   by <paramref name="target"/>. </para>
							</block>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to determine if the all
   permissions contained in the current instance are also contained in
<paramref name="target"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSynchronized">
					<MemberSignature Language="ILASM" Value=".property bool ICollection.IsSynchronized { public hidebysig virtual abstract specialname bool get_ICollection.IsSynchronized() }"/>
					<MemberSignature Language="C#" Value="bool ICollection.IsSynchronized { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.ICollection"/> interface. [Note: For more information, see <see cref="M:System.Collections.ICollection.IsSynchronized"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PermitOnly">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void PermitOnly()"/>
					<MemberSignature Language="C#" Value="public virtual void PermitOnly();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Specifies that only the resources described by the current
      instance can be accessed by calling code, even if the code has
      been granted permission to access other resources.</para>
						</summary>
						<exception cref="T:System.Security.SecurityException">
							<para>A previous call to <see langword="PermitOnly"/> has already set the permissions for the current stack frame.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para>
									<see cref="M:System.Security.PermissionSet.PermitOnly"/> is similar to
   <see cref="M:System.Security.PermissionSet.Deny"/> in that both methods cause access
      to fail where it might otherwise succeed. The difference is that <see cref="M:System.Security.PermissionSet.Deny"/> specifies permissions for which
      to refuse access, while <see cref="M:System.Security.PermissionSet.PermitOnly"/>
									<see langword=" "/>specifies the only permissions that will succeed.</para>
								<para>This is the only way to permit multiple permissions at the same time within a stack
      frame because only a single permit at a time can be active on a frame;
      subsequent permits will result in an exception.</para>
							</block>
							<block subset="none" type="behaviors">
								<para> Callers are required to
      be prevented from accessing resources not secured by the contents of the current
      instance, even if a caller has been granted permission to access such resources.</para>
								<para>A <see cref="M:System.Security.PermissionSet.PermitOnly"/> is in effect until the calling
   code returns to its caller.</para>
							</block>
							<para>
								<block subset="none" type="usage">Use this method to limit access to a
   specified set of resources.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SyncRoot">
					<MemberSignature Language="ILASM" Value=".property object ICollection.SyncRoot { public hidebysig virtual abstract specialname object get_ICollection.SyncRoot() }"/>
					<MemberSignature Language="C#" Value="object ICollection.SyncRoot { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.ICollection"/> interface. [Note: For more information, see <see cref="M:System.Collections.ICollection.SyncRoot"/>.]</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.String"/> representation of the state
   of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/>
containing the XML representation of the state of the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.Object.ToString" qualify="true"/>.</para>
							</block>
						</remarks>
						<example>
							<para>The following example displays the XML that encodes the 
      state of a <see cref="T:System.Security.PermissionSet"/>
      .</para>
							<code lang="C#">
using System;
using System.Security;
using System.Security.Permissions;

public class PermissionSetToStringExample {
  public static void Main() {

    PermissionSet ps = new PermissionSet(PermissionState.Unrestricted);
    Console.WriteLine(ps.ToString());
  }
}

			</code>
							<para>The output is</para>
							<para>&lt;PermissionSet class="System.Security.PermissionSet" version="1"
         Unrestricted="true"/&gt;</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToXml">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.SecurityElement ToXml()"/>
					<MemberSignature Language="C#" Value="public virtual SecurityElement ToXml();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.SecurityElement</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns the XML encoding of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Security.SecurityElement"/> containing an XML encoding of the state of the
   current instance.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this method to return an
      object containing the XML encoding for types derived from <see cref="T:System.Security.PermissionSet"/>.</block>
							</para>
							<para>
								<block subset="none" type="usage">This method is called by the
      system.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Union">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.PermissionSet Union(class System.Security.PermissionSet other)"/>
					<MemberSignature Language="C#" Value="public virtual PermissionSet Union(PermissionSet other);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.PermissionSet</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="other" Type="System.Security.PermissionSet"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Security.PermissionSet"/> object that is the union of the current instance and
   the specified object.</para>
						</summary>
						<param name="other">A <see cref="T:System.Security.PermissionSet"/> instance to be combined with the current instance.</param>
						<returns>
							<para> A new <see cref="T:System.Security.PermissionSet"/> instance that represents the
   union of the current instance and <paramref name="other"/>. If the current
   instance or <paramref name="other"/> is unrestricted, returns a <see cref="T:System.Security.PermissionSet"/>
   instance that is unrestricted.</para>
						</returns>
						<remarks>
							<para>The result of a call to <see cref="M:System.Security.PermissionSet.Union(System.Security.PermissionSet)"/>
								<see langword=" "/>is a new <see cref="T:System.Security.PermissionSet"/>
instance that represents all the operations represented by the current instance
as well as all the operations represented by <paramref name="other"/> . If either set is
unrestricted, the union is unrestricted, as well.</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to
   create a <see cref="T:System.Security.PermissionSet"/> instance that contains all of the permissions
   of the current instance and <paramref name=" other"/> .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="PermissionState" FullName="System.Security.Permissions.PermissionState" FullNameSP="System_Security_Permissions_PermissionState">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable PermissionState extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum PermissionState"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Represents a value specifying whether an entity, at
 creation, should have full or no access to resources.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para> Code access permission objects supply a constructor that takes a <see cref="T:System.Security.Permissions.PermissionState"/> value specifying that the new
 instance is either fully restricted (<see cref="F:System.Security.Permissions.PermissionState.None"/>) or unrestricted (<see cref="F:System.Security.Permissions.PermissionState.Unrestricted"/>). A fully restricted permission
 object disallows access to a resource; an unrestricted permission object allows
 full access to a resource. For example, a fully restricted <see cref="T:System.Security.Permissions.FileIOPermission"/> object disallows access to files
 and directories, while an unrestricted object of the same
 
 type allows full access to all
 files and directories in the file system.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="None">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.PermissionState None = 0"/>
					<MemberSignature Language="C#" Value="None = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.PermissionState</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>None</MemberValue>
					<Docs>
						<summary>
							<para>Specifies access to the resource protected
 by the permission is not allowed.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Unrestricted">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.PermissionState Unrestricted = 1"/>
					<MemberSignature Language="C#" Value="Unrestricted = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.PermissionState</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Unrestricted</MemberValue>
					<Docs>
						<summary>
							<para> Specifies full access to the resource protected by the permission.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Random" FullName="System.Random" FullNameSP="System_Random">
			<TypeSignature Language="ILASM" Value=".class public serializable Random extends System.Object"/>
			<TypeSignature Language="C#" Value="public class Random"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Generates
      psuedo-random numbers.</para>
				</summary>
				<remarks>
					<para> Instances of this class are initialized using a "seed",
      or starting value. The series of numbers
      generated by instances of the class are repeatable: given the
      same seed value,
      all instances of this class generate the same series of numbers.</para>
					<para>
						<block subset="none" type="note"> The numbers generated by this class are chosen with equal
      probability from a finite set of numbers. The numbers are generated by a
      definite mathematical algorithm and are therefore not truly random, but are
      sufficiently random for practical purposes. For this reason, the numbers are
      considered to be psuedo-random.
      </block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public Random();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs a new instance of the
 <see langword="Random"/> class using <see cref="P:System.Environment.TickCount" qualify="true"/>
 as the seed
 value.</para>
						</summary>
						<remarks>
							<para>This constructor is equivalent to <see cref="T:System.Random"/>(<see cref="P:System.Environment.TickCount"/> ).</para>
							<para>
								<block subset="none" type="note">When generating 
 random numbers on high performance systems, the system clock value may not
 produce the desired behavior. For details, see the <see cref="T:System.Random"/>(<see cref="T:System.Int32"/>
 )
 constructor.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 Seed)"/>
					<MemberSignature Language="C#" Value="public Random(int Seed);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="Seed" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs a new instance of the <see langword="Random"/> class using the specified
   seed value.</para>
						</summary>
						<param name="Seed">A <see cref="T:System.Int32"/> used as the starting value for the pseudo-random number sequence.</param>
						<remarks>
							<para>
								<block subset="none" type="note">To construct instances that produce different random number sequences, invoke
      this constructor using different seed values such as may be
      produced by the system clock. Note, however that on high performance systems, the system clock
      may not change between invocations of the constructor, in which case the seed value
      will be the same for different instances of <see langword="Random"/> . When this is the case, additional operations are required to have the seed values differ in each invocation.
   </block>
							</para>
						</remarks>
						<example>
							<para> The following example demonstrates using a
      bitwise complement operation to obtain different random numbers using a time-dependent
      seed value on high performance systems.</para>
							<code lang="C#">using System;
class RandomTest {
    public static void Main() {
        Random rand1 = new Random();
        Random rand2 = new Random(Environment.TickCount);
        Console.WriteLine("The random number is {0}",rand1.Next());
        Console.WriteLine("The random number is {0}",rand2.Next());

        Random rdm1 = new Random(unchecked(Environment.TickCount)); 
        Random rdm2 = new Random(~unchecked(Environment.TickCount)); 
        Console.WriteLine("The random number is {0}",rdm1.Next());
        Console.WriteLine("The random number is {0}",rdm2.Next());
    }
}
   </code>
							<c>
								<para>The output is </para>
								<para>The random number is 1990211954</para>
								<para>The random number is 1990211954</para>
								<para>The random number is 1990211954</para>
								<para>The random number is 964628126</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Next">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Next(int32 maxValue)"/>
					<MemberSignature Language="C#" Value="public virtual int Next(int maxValue);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="maxValue" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a psuedo-random positive number less than the specified
      maximum.</para>
						</summary>
						<param name="maxValue">The upper bound of the random number to be generated. <paramref name="maxValue"/> is required to be greater than or equal to zero.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> set to a psuedo-random value greater than or equal to zero
   and less than <paramref name="maxValue"/>. If <paramref name="maxValue"/> is zero, returns zero.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="maxValue"/> is less than zero.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this method to customize
      the algorithm used to generate the return value.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to generate a psuedo-random number
      less than the specified maximum value.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Next">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Next(int32 minValue, int32 maxValue)"/>
					<MemberSignature Language="C#" Value="public virtual int Next(int minValue, int maxValue);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="minValue" Type="System.Int32"/>
						<Parameter Name="maxValue" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a psuedo-random number within a specified range.</para>
						</summary>
						<param name="minValue">The lower bound of the random number returned.</param>
						<param name="maxValue">The upper bound of the random number returned.</param>
						<returns>
							<para>A psuedo-random number greater than or equal to <paramref name="minValue"/> and
   less than <paramref name="maxValue"/>. If <paramref name="minValue"/> and
<paramref name="maxValue "/>are equal, this value 
   is returned.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="minValue"/> is greater than <paramref name="maxValue"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this
      method to customize the algorithm used to generate the return
      value.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to generate
      psuedo-random numbers in a specified range.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Next">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Next()"/>
					<MemberSignature Language="C#" Value="public virtual int Next();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a psuedo-random number between 0 and <see cref="F:System.Int32.MaxValue"/>.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> greater than or equal to zero and less than
<see cref="F:System.Int32.MaxValue"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this method to customize the algorithm used to generate the return value.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the
   <see langword="Next"/> method. The output generated by this example 
      will
      vary.</para>
							<code lang="C#">using System;
class RandomTest {
    public static void Main() {
        Random rand1 = new Random();
        for (int i = 0; i&lt;10;i++)
        Console.WriteLine("The random number is {0}",rand1.Next());
        
    }
}
   </code>
							<para>The output is</para>
							<c>
								<para> The random number is
         1544196111</para>
								<para> The random number is
         181749919</para>
								<para> The random number is
         1045210087</para>
								<para> The random number is
         1073826097</para>
								<para> The random number is
         1533078806</para>
								<para> The random number is
         1083151645</para>
								<para> The random number is
         569083504</para>
								<para> The random number is
         1711370568</para>
								<para> The random number is
         578178313</para>
								<para> The random number is
         409444742</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NextBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void NextBytes(class System.Byte[] buffer)"/>
					<MemberSignature Language="C#" Value="public virtual void NextBytes(byte[] buffer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Populates the elements of a specified array of bytes with random numbers.</para>
						</summary>
						<param name="buffer">An array of bytes to be populated with random numbers.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is a <see langword="null"/> reference.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">Each element of the array of bytes is set to a random number greater than or
 equal to zero, and less than or equal to <see cref="F:System.Byte.MaxValue"/>.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this method to customize
 the algorithm used to generate the return value.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use the
 <see langword=" NextByte"/> method to populate a <see cref="T:System.Byte"/>
 array with random numbers.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NextDouble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual float64 NextDouble()"/>
					<MemberSignature Language="C#" Value="public virtual double NextDouble();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a random number between 0.0 and 1.0.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Double"/> greater than or equal to 0.0, and less than 1.0.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described 
      above.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to generate a
      psuedo-random number greater than or equal to zero, and less than
      one.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="RankException" FullName="System.RankException" FullNameSP="System_RankException">
			<TypeSignature Language="ILASM" Value=".class public serializable RankException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class RankException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when an array with an
      incorrect number of dimensions is passed to a method.</para>
				</summary>
				<example>
					<para>The following example demonstrates an error that causes 
      a <see cref="T:System.RankException"/>
      exception.</para>
					<code lang="C#">using System;
public class RankExample {
   public static void Main() {
      int[] oneDAry = new int[5];
      int[,] twoDAry = new int[2,3];
      for (int i = 0; i &lt; 2; i++ ) {
         oneDAry.SetValue( i, i );
      }
      try {
         Array.Copy( oneDAry, twoDAry, 2);
      }
      catch ( RankException e ) {
         Console.WriteLine( "Error caught: {0}", e );
      }
   }
}
   </code>
					<para>The output is</para>
					<code>
Error caught: System.RankException: The specified arrays must have the same number of dimensions.
   at System.Array.Copy(Array sourceArray, Int32 sourceIndex, Array destinationArray, Int32 destinationIndex, Int32 length)
   at System.Array.Copy(Array sourceArray, Array destinationArray, Int32 length)
   at RankExample.Main()
 </code>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public RankException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.RankException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.RankException.Message"/> property of the new instance to a
   system-supplied message that describes the error, such as "The two arrays must
   have the same number of dimensions." This message takes into account the current
   system culture.</para>
							<para>The <see cref="!:System.RankException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public RankException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.RankException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.RankException.Message"/> property of the new instance using
<paramref name="message"/>. If <paramref name="message"/> is <see langword="null"/>, 
   the <see cref="!:System.RankException.Message"/> property is initialized to the system-supplied message
   provided by the constructor that takes no arguments. The <see cref="!:System.RankException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public RankException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.RankException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current Exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.RankException.Message"/>
property of the new instance using <paramref name="message"/>, and the <see cref="!:System.RankException.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.RankException.Message"/> property is initialized to the 
system-supplied message provided by the constructor that takes no
arguments. </para>
							<para>
								<block subset="none" type="note">For information on
   inner exceptions, see <see cref="P:System.Exception.InnerException"/>
   .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SByte" FullName="System.SByte" FullNameSP="System_SByte">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable SByte extends System.ValueType implements System.IComparable, System.IFormattable"/>
			<TypeSignature Language="C#" Value="public struct SByte : IComparable, IFormattable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents an 8-bit signed integer.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.SByte"/>
data type represents integer values ranging from negative 128 to positive 127;
that is, hexadecimal 0x80 to 0x7F.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IFormattable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Attributes>
				<Attribute>
					<AttributeName>CLSCompliantAttribute(false)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object obj)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared to the specified
   <see cref="T:System.Object"/>.</para>
						</summary>
						<param name=" obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   current instance as compared to <paramref name="obj"/>. The following table defines the
   conditions under which the return value is a negative number, zero, or a
   positive number.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>Current instance &lt; <paramref name="obj"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>Current instance == <paramref name="obj"/>.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>Current instance &gt; <paramref name="obj"/>, or
<paramref name="obj"/> is a null reference.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="obj"/> is not a <see cref="T:System.SByte"/> and is not a null reference.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is
      implemented to support the <see cref="T:System.IComparable"/>
      interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the specified <see cref="T:System.Object"/> represent the
   same type and value.</para>
						</summary>
						<param name=" obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> represents the
   same type and value as the current instance. If <paramref name="obj"/> is a null reference
   or is not an instance of <see cref="T:System.SByte"/>, returns <see langword="false"/>.</para>
							<see langword=""/>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para>The algorithm used to generate the hash code is
      unspecified. </para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxValue">
					<MemberSignature Language="ILASM" Value=".field public static literal int8 MaxValue = 127"/>
					<MemberSignature Language="C#" Value="public const sbyte MaxValue = 127;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>127</MemberValue>
					<Docs>
						<summary>
							<para>Contains the maximum value for the <see cref="T:System.SByte"/> type.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 127 (hexadecimal
      0X7F).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinValue">
					<MemberSignature Language="ILASM" Value=".field public static literal int8 MinValue = -128"/>
					<MemberSignature Language="C#" Value="public const sbyte MinValue = -128;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Contains the minimum value for the <see cref="T:System.SByte"/> type.</para>
						</summary>
						<remarks>
							<para>The value of this constant is -128 (hexadecimal
      0X80).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 Parse(string s)"/>
					<MemberSignature Language="C#" Value="public static sbyte Parse(string s);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.SByte"/> value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<returns>
							<para>The <see cref="T:System.SByte"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.SByte.MaxValue"/> or less than <see cref="F:System.SByte.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.SByte.Parse(System.String)"/> is equivalent to <see cref="M:System.SByte.Parse(System.String)"/>
(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/>, <see langword="null"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system culture. <block subset="none" type="note"> for more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.</block>
							</para>
							<para>This method is not CLS-compliant. For a CLS-compliant
   alternative use <see cref="M:System.Int16.Parse(System.String)"/> (<see cref="T:System.String"/>).</para>
							<paramref name=""/>
						</remarks>
						<example>
							<para>This example demonstrates the <see cref="M:System.SByte.Parse(System.String)"/>(<see cref="T:System.String"/>) method.</para>
							<code lang="C#">using System;
public class SByteParseClass {
  public static void Main() {
    string str = "  100   ";
    Console.WriteLine("String: \"{0}\" &lt;SByte&gt; {1}",
                      str,SByte.Parse(str));
  }
}
</code>
							<para>The output is</para>
							<para>
								<c>String: " 100
   " &lt;SByte&gt; 100</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 Parse(string s, valuetype System.Globalization.NumberStyles style)"/>
					<MemberSignature Language="C#" Value="public static sbyte Parse(string s, NumberStyles style);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.SByte"/> value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/>.</param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<returns>
							<para>The <see cref="T:System.SByte"/>
value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.SByte.MaxValue"/> or less than <see cref="F:System.SByte.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.SByte.Parse(System.String)"/> is equivalent to <see cref="M:System.SByte.Parse(System.String)"/>
(<paramref name="s"/>, <paramref name="style"/>, <see langword="null"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system culture. <block subset="none" type="note"> For more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.</block>
							</para>
							<para>This method is not CLS-compliant. For a CLS-compliant
   alternative use <see cref="M:System.Int16.Parse(System.String)"/>(<see cref="T:System.String"/>, <see cref="T:System.Globalization.NumberStyles"/>).</para>
							<paramref name=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 Parse(string s, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static sbyte Parse(string s, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified String converted to a <see cref="T:System.SByte"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.SByte"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.SByte.MaxValue"/> or less than <see cref="F:System.SByte.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.SByte.Parse(System.String)"/> is equivalent to <see cref="M:System.SByte.Parse(System.String)"/>
(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/>, <paramref name="provider"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the
culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> 
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
							<para>This method is not CLS-compliant. For a CLS-compliant
   alternative use <see cref="M:System.Int16.Parse(System.String)"/> (<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/>).</para>
							<paramref name=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 Parse(string s, valuetype System.Globalization.NumberStyles style, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static sbyte Parse(string s, NumberStyles style, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.SByte"/> value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/>.</param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.SByte"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.SByte.MaxValue"/> or less than <see cref="F:System.SByte.MinValue"/>.</exception>
						<remarks>
							<para>The string <paramref name="s"/> is parsed using the
   culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
   instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> 
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
							<para>This method is not CLS-compliant. For a CLS-compliant
   alternative use <see cref="M:System.Int16.Parse(System.String)"/>(<see cref="T:System.String"/>, <see cref="T:System.Globalization.NumberStyles"/>, <see cref="T:System.IFormatProvider"/>).</para>
							<paramref name=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string takes into account the
   formatting information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by
<paramref name="provider"/>.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.SByte.ToString"/> is equivalent to <see cref="M:System.SByte.ToString"/> ("G",
<paramref name="provider"/>).</para>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
be obtained from <paramref name="provider"/>, the formatting information for the current
system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(string format, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing a character that specifies the format of the returned string.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the formatting
   information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/> .</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
   be obtained from <paramref name="provider"/>, the formatting information for the current
   system culture is used.</para>
							<para>If <paramref name="format"/> is a null reference, the general
format specifier "G" is used.</para>
							<block subset="none" type="note">
								<para> For a detailed
      description of formatting, see the <see cref="T:System.IFormattable"/> interface.</para>
								<para> This method is implemented
      to support the <see cref="T:System.IFormattable"/> interface.</para>
							</block>
							<para>The following table lists the characters that are valid for the <see cref="T:System.SByte"/> type.</para>
							<list type="table">
								<listheader>
									<term>Format Characters</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> "C", "c"</term>
									<description>Currency format.</description>
								</item>
								<item>
									<term> "D", "d"</term>
									<description>Decimal format.</description>
								</item>
								<item>
									<term> "E", "e"</term>
									<description>Exponential notation format.</description>
								</item>
								<item>
									<term> "F", "f"</term>
									<description>Fixed-point format.</description>
								</item>
								<item>
									<term> "G", "g"</term>
									<description>General format.</description>
								</item>
								<item>
									<term> "N", "n"</term>
									<description>Number format.</description>
								</item>
								<item>
									<term> "P", "p"</term>
									<description>Percent format.</description>
								</item>
								<item>
									<term> "X", "x"</term>
									<description>Hexadecimal
         format.</description>
								</item>
							</list>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier ("G"). The string takes into account the current
   system culture.</para>
						</returns>
						<remarks>
							<para> This version of <see cref="M:System.SByte.ToString"/> is equivalent to <see cref="M:System.SByte.ToString"/> (<see langword="null"/>, 
<see langword="null"/>).</para>
							<para>
								<block subset="none" type="note"> This method
   overrides <see cref="M:System.Object.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(string format)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<param name=" format">A <see cref="T:System.String"/> that specifies the format of the returned string. <block subset="none" type="note"> For a list of valid values, see <see cref="M:System.SByte.ToString"/> (<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/> ).</block>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the current system
   culture.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This version of <see cref="M:System.SByte.ToString"/> is equivalent to <see cref="M:System.SByte.ToString"/>
(<paramref name="format"/>,
<see langword="null"/>).</para>
							<para>If <paramref name="format"/> is a null reference, the general
format specifier "G" is used.</para>
						</remarks>
						<example>
							<para>This example demonstrates the <see cref="M:System.SByte.ToString"/>(<see cref="T:System.String"/>) method.</para>
							<code lang="C#">using System;
public class SByteToStringExample {
   public static void Main() {
      SByte i = 8;
      Console.WriteLine(i);
      String[] formats = {"c", "d", "e", "f", "g", "n", "p", "x"};
      foreach(String str in formats)
         Console.WriteLine("{0}: {1}", str, i.ToString(str));
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>8</para>
								<para>c: $8.00</para>
								<para>d: 8</para>
								<para>e: 8.000000e+000</para>
								<para>f: 8.00</para>
								<para>g: 8</para>
								<para>n: 8.00</para>
								<para>p: 800.00 %</para>
								<para>x: 8</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SecurityAction" FullName="System.Security.Permissions.SecurityAction" FullNameSP="System_Security_Permissions_SecurityAction">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable SecurityAction extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum SecurityAction"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Specifies security actions that can be performed using declarative security.</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">For information about using declarative security
      and security actions, see Partition II of the CLI Specification.</block>
					</para>
					<block subset="none" type="note">
						<para>Declarative security is specified using types derived
         from <see cref="T:System.Security.Permissions.SecurityAttribute"/>. The following table describes the attribute targets supported by each of the
         security actions.</para>
						<list type="table">
							<listheader>
								<term>Security action</term>
								<description>Attribute Targets</description>
							</listheader>
							<item>
								<term> Assert</term>
								<description>Class, Method</description>
							</item>
							<item>
								<term> Demand</term>
								<description>Class, Method</description>
							</item>
							<item>
								<term> Deny</term>
								<description>Class, Method</description>
							</item>
							<item>
								<term> InheritanceDemand</term>
								<description>Class, Method</description>
							</item>
							<item>
								<term> LinkDemand</term>
								<description>Class, Method</description>
							</item>
							<item>
								<term> PermitOnly</term>
								<description>Class, Method</description>
							</item>
							<item>
								<term> RequestMinimum</term>
								<description>Assembly</description>
							</item>
							<item>
								<term> RequestOptional</term>
								<description>Assembly</description>
							</item>
							<item>
								<term> RequestRefuse</term>
								<description>Assembly</description>
							</item>
						</list>
						<para> For additional information on attribute targets, see <see cref="T:System.Attribute"/>.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Assert">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityAction Assert = 3"/>
					<MemberSignature Language="C#" Value="Assert = 3;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityAction</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Assert</MemberValue>
					<Docs>
						<summary>
							<para> Specifies that callers of the code performing the assert
 need not have the permissions specified by the current security attribute, and
 that a check for any such permission can stop after the code that asserted it.
 <block subset="none" type="note">An assert can change the default behavior of a security check (such as
 that caused by a Demand, LinkDemand, etc.).</block>
							</para>
							<para>This action can be applied to classes and methods.</para>
							<para>
								<block subset="none" type="note">This action should only be used by code that can
 assure that its callers cannot manipulate it to abuse the asserted
 permission.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Demand">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityAction Demand = 2"/>
					<MemberSignature Language="C#" Value="Demand = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityAction</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Demand</MemberValue>
					<Docs>
						<summary>
							<para> Specified that all callers are required
      to have the permissions specified by the current security attribute.</para>
							<para>This action can be applied to classes and methods.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Deny">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityAction Deny = 4"/>
					<MemberSignature Language="C#" Value="Deny = 4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityAction</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Deny</MemberValue>
					<Docs>
						<summary>
							<para> Specifies that access to the resource or
 operation described by the current security attribute be denied to callers, even if they
 have been granted permission to access it. <block subset="none" type="note">
									<see cref="F:System.Security.Permissions.SecurityAction.Deny"/>
 causes a security check
 for the permissions specified by the current security attribute to fail even when
 it would otherwise succeed.</block>
							</para>
							<para>This action can be applied to classes and methods.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="InheritanceDemand">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityAction InheritanceDemand = 7"/>
					<MemberSignature Language="C#" Value="InheritanceDemand = 7;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityAction</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>InheritanceDemand</MemberValue>
					<Docs>
						<summary>
							<para> 
      Specifies the permissions that a derived class is required to have. When the
      target is a class, classes inheriting from the target are required to have the
      permissions specified by the current security attribute. When the target is
      a method, classes overriding the target are required to have the
      permissions specified by the current security attribute.</para>
							<para>This action can be applied to classes and methods. </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LinkDemand">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityAction LinkDemand = 6"/>
					<MemberSignature Language="C#" Value="LinkDemand = 6;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityAction</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>LinkDemand</MemberValue>
					<Docs>
						<summary>
							<para> Specifies that the immediate caller be required
 to have the specified permissions.</para>
							<para>This action can be applied to classes and methods.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PermitOnly">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityAction PermitOnly = 5"/>
					<MemberSignature Language="C#" Value="PermitOnly = 5;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityAction</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>PermitOnly</MemberValue>
					<Docs>
						<summary>
							<para> Specifies that access is limited to only those resources 
      or operations specified by the current security attribute, even if the code has been
      granted permission to access others. A security check for a permission not
      described by the current security attribute fails regardless of whether or not
      callers have been granted this permission. </para>
							<para>This action can be applied to classes and methods.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RequestMinimum">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityAction RequestMinimum = 8"/>
					<MemberSignature Language="C#" Value="RequestMinimum = 8;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityAction</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>RequestMinimum</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that the current security attribute describes the minimum permissions required for an assembly
      to run.</para>
							<para>This action can be applied to assemblies.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RequestOptional">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityAction RequestOptional = 9"/>
					<MemberSignature Language="C#" Value="RequestOptional = 9;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityAction</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>RequestOptional</MemberValue>
					<Docs>
						<summary>
							<para> Specifies that the current security attribute
      describes
      optional permissions that an assembly can be granted.</para>
							<para>This action can be applied to assemblies.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RequestRefuse">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityAction RequestRefuse = 10"/>
					<MemberSignature Language="C#" Value="RequestRefuse = 10;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityAction</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>RequestRefuse</MemberValue>
					<Docs>
						<summary>
							<para> Specifies that the current security attribute
      describes resources or operations that an assembly cannot access.</para>
							<para>This action can be applied to assemblies.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SecurityAttribute" FullName="System.Security.Permissions.SecurityAttribute" FullNameSP="System_Security_Permissions_SecurityAttribute">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable SecurityAttribute extends System.Attribute"/>
			<TypeSignature Language="C#" Value="public abstract class SecurityAttribute : Attribute"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> This is the base class for attributes used by the
 security system.</para>
				</summary>
			</Docs>
			<Base>
				<BaseTypeName>System.Attribute</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>AttributeUsageAttribute(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method, AllowMultiple=true, Inherited=false)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.SecurityAction action)"/>
					<MemberSignature Language="C#" Value="public SecurityAttribute(SecurityAction action);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="action" Type="System.Security.Permissions.SecurityAction"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of <see cref="T:System.Security.Permissions.SecurityAttribute"/>
with the specified <see cref="T:System.Security.Permissions.SecurityAction"/>.</para>
						</summary>
						<param name="action">A <see cref="T:System.Security.Permissions.SecurityAction"/> value.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="action"/> is not a valid <see cref="T:System.Security.Permissions.SecurityAction"/> value. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CreatePermission">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Security.IPermission CreatePermission()"/>
					<MemberSignature Language="C#" Value="public abstract IPermission CreatePermission();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Security.IPermission"/> object that contains the security information of the
   current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Security.IPermission"/> object.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">Returns an instance of
      the permission type that corresponds to the current attribute. The
      returned object contains the security information of the current attribute.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this
      method to create an instance of the permission type that corresponds to the
      current attribute. For example, the <see langword="CreatePermission"/>
      implementation of <see cref="T:System.Security.Permissions.SecurityPermissionAttribute"/> creates an instance of the
   <see cref="T:System.Security.Permissions.SecurityPermission"/>
   class.</block>
							</para>
							<block subset="none" type="usage">
								<para> Security information specified
      using attributes is stored in metadata. The security information in the metadata is created using the permission object returned by
      this method.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Unrestricted">
					<MemberSignature Language="ILASM" Value=".property bool Unrestricted { public hidebysig specialname instance bool get_Unrestricted() public hidebysig specialname instance void set_Unrestricted(bool value) }"/>
					<MemberSignature Language="C#" Value="public bool Unrestricted { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets
      full (unrestricted) permission to the resource protected by the current instance.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if full access
   to the protected resource
   is declared or is being set; otherwise, <see langword="false"/>.</para>
						</value>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SecurityElement" FullName="System.Security.SecurityElement" FullNameSP="System_Security_SecurityElement">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable SecurityElement extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class SecurityElement"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the XML object model for encoding security objects.</para>
				</summary>
				<remarks>
					<para>The simple XML object model for an element consists of the following
 parts:</para>
					<list type="bullet">
						<item>
							<term>
 
 The tag is the element name.</term>
						</item>
						<item>
							<term>
 
 The attributes are zero or more name/value attribute
 pairs on the element.</term>
						</item>
						<item>
							<term>
 
 The children are zero or more elements nested within
 <c>&lt;tag&gt;</c> and <c>&lt;/tag&gt;</c>.</term>
						</item>
					</list>
					<para> An attribute name must be at least one character,
 and cannot be <see langword="null"/> . If element-based value representation is
 used, elements with a text string that is <see langword="null"/>
 are represented in the <c>&lt;tag/&gt;</c> form; otherwise, text is
 delimited by the <c>&lt;tag&gt;</c> and <c>&lt;/tag&gt;</c> tokens. Both forms
can be combined with attributes, which are shown if present.</para>
					<para> The tags, attributes, and
 text are case-sensitive. The XML form contains quotation marks and
 escape sequences where necessary. String values that include characters invalid for use
 in XML result in a <see cref="T:System.ArgumentException"/>.
 These rules apply to all properties and methods.</para>
					<block subset="none" type="note">
						<para>This class is intended to be a lightweight implementation of a simple XML
 object model for use within the security system, and not for use as a general
 XML object model.</para>
						<para>It is strongly suggested that properties of a security element are expressed
 as attributes, and property values are expressed as attribute values.
 Specifically, avoid nesting text within tags. For any <c>&lt;tag&gt;text&lt;/tag&gt;</c> representation a
 representation of type <c>&lt;tag
 value="text"/&gt;</c> is usually available. Using attribute-based XML
representations aids in readability.</para>
						<para>For performance reasons, character validity is checked only when the element
 is encoded into XML form, and not on every set of a property or method call.
 Static methods allow explicit checking where needed. </para>
						<para>This class is used only by the system; applications cannot create instances
 of the <see cref="T:System.Security.SecurityElement"/>
 type. </para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string ToString()"/>
					<MemberSignature Language="C#" Value="public override string ToString();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para> The XML in the <see cref="T:System.String"/> returned by this method represents the state of
 a permission object. To obtain the XML schema used to encode that object, see the class page for
 the particular permission object .</para>
								<para>This method
 overrides <see cref="M:System.Object.ToString" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SecurityException" FullName="System.Security.SecurityException" FullNameSP="System_Security_SecurityException">
			<TypeSignature Language="ILASM" Value=".class public serializable SecurityException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class SecurityException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when
      an application does not have the permissions required to access a
      resource or perform a secured operation.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para> For more information about permissions and
         security, see Partition V of the CLI specification.</para>
						<para>The following IL instructions throw <see cref="T:System.Security.SecurityException"/>:</para>
						<list type="bullet">
							<item>
								<term>call</term>
							</item>
							<item>
								<term>calli</term>
							</item>
							<item>
								<term>callvirt</term>
							</item>
						</list>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public SecurityException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Security.SecurityException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.Security.SecurityException.Message"/>
property of the new instance to a system-supplied message
that describes the error, such as "A security violation has occurred." This message takes into account the current system culture.</para>
							<para>The <see cref="!:System.Security.SecurityException.InnerException"/> property of the new instance
is initialized to <see langword="null"/>
.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public SecurityException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Security.SecurityException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.Security.SecurityException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.Security.SecurityException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no
   arguments. </para>
							<para> The <see cref="!:System.Security.SecurityException.InnerException"/> property of the new instance
is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception inner)"/>
					<MemberSignature Language="C#" Value="public SecurityException(string message, Exception inner);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="inner" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Security.SecurityException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="inner">An instance of <see cref="T:System.Security.SecurityException"/> that is the cause of the current exception. If <paramref name="inner"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="inner"/>.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.Security.SecurityException.Message"/> property of
   the new instance using <paramref name="message"/> and the <see cref="!:System.Security.SecurityException.InnerException"/> property using <paramref name="inner"/>. If <paramref name="message"/> is <see langword="null"/>, the
<see cref="!:System.Security.SecurityException.Message"/> property is initialized to the system-supplied 
   message provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For more
   information on inner exceptions, see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SecurityPermission" FullName="System.Security.Permissions.SecurityPermission" FullNameSP="System_Security_Permissions_SecurityPermission">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable SecurityPermission extends System.Security.CodeAccessPermission"/>
			<TypeSignature Language="C#" Value="public sealed class SecurityPermission : CodeAccessPermission"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Describes a set of security permissions applied to
      code. </para>
				</summary>
				<remarks>
					<para> The <see cref="T:System.Security.Permissions.SecurityPermissionFlag"/>
enumeration defines the permissions secured by this class.</para>
					<para> The XML encoding of a <see cref="T:System.Security.Permissions.SecurityPermission"/> instance is defined below
   in EBNF format. The following conventions are used: </para>
					<list type="bullet">
						<item>
							<term>
								<para> All non-literals in the grammar below are shown in normal type.</para>
							</term>
						</item>
						<item>
							<term>
								<para> All literals are in bold font. </para>
							</term>
						</item>
					</list>
					<para> The following meta-language symbols are used: </para>
					<list type="bullet">
						<item>
							<term>
         
         '*' represents a meta-language symbol suffixing an
         expression that can appear zero or more times.</term>
						</item>
						<item>
							<term>
         
         '?' represents a meta-language symbol suffixing an
         expression that can appear zero or one time.</term>
						</item>
						<item>
							<term>
         
         '+' represents a meta-language symbol suffixing an
         expression that can appear one or more times.</term>
						</item>
						<item>
							<term>
         
         '(',')' is be used to group literals, non-literals or
         a mixture of literals and non-literals.</term>
						</item>
						<item>
							<term>
         
         '|' denotes an exclusive disjunction between two
         expressions.</term>
						</item>
						<item>
							<term>
         
         '::= ' denotes a production rule where a left hand
         non-literal is replaced by a right hand expression containing literals,
         non-literals or both.</term>
						</item>
					</list>
					<para> BuildVersion refers to the build version of the shipping CLI. This
   is a dotted build number such as '2412.0' . </para>
					<para>ECMAPubKeyToken ::= 
<see langword="b77a5c561934e089"/>
					</para>
					<para>SecurityPermissionFlag = <see langword="Assertion"/> |
<see langword="ControlThread"/> | <see langword="Execution"/> | 
<see langword="SkipVerification"/> | <see langword="UnmanagedCode"/>
					</para>
					<para>Each SecurityPermissionFlag literal can appear in the XML no more than once.
   For example, <c>Flags=Assertion,Assertion</c> is illegal.</para>
					<c>
						<para>SecurityPermission ::= </para>
						<para>
							<see langword="&lt;IPermission "/>
						</para>
						<para>
							<see langword="class=&quot;"/>
						</para>
						<para>
							<see langword="System.Security.Permissions.SecurityPermission, "/>
						</para>
						<para>
							<see langword="mscorlib,"/>
						</para>
						<para>
							<see langword="Version=1.0."/>BuildVersion<see langword=","/>
						</para>
						<para>
							<see langword="Culture=neutral,"/>
						</para>
						<para>
							<see langword="PublicKeyToken="/>ECMAPubKeyToken<see langword="&quot;"/>
						</para>
						<para>
							<see langword="version=&quot;1&quot;"/>
						</para>
						<para>(</para>
						<para>
							<see langword="Unrestricted=&quot;true&quot;"/>
						</para>
						<para>)</para>
						<para>|</para>
						<para>(</para>
						<para>
							<see langword="Flags=&quot;"/>SecurityPermissionFlag
(<see langword=","/> SecurityPermissionFlag)* <see langword="&quot;"/>)</para>
						<para> | ()</para>
						<para>
							<see langword="/&gt;"/>
						</para>
					</c>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Security.CodeAccessPermission</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Security.IPermission</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.PermissionState state)"/>
					<MemberSignature Language="C#" Value="public SecurityPermission(PermissionState state);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="state" Type="System.Security.Permissions.PermissionState"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs a new instance of the <see cref="T:System.Security.Permissions.SecurityPermission"/> class
   with the specified <see cref="T:System.Security.Permissions.PermissionState"/>
   value.</para>
						</summary>
						<param name="state">
							<para> A <see cref="T:System.Security.Permissions.PermissionState"/> value. This value is either <see cref="F:System.Security.Permissions.PermissionState.None"/> or <see cref="F:System.Security.Permissions.PermissionState.Unrestricted"/>, respectively yielding fully restricted or fully unrestricted access to all security variables. </para>
						</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="state"/> is not a valid <see cref="T:System.Security.Permissions.PermissionState"/> value. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.SecurityPermissionFlag flag)"/>
					<MemberSignature Language="C#" Value="public SecurityPermission(SecurityPermissionFlag flag);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="flag" Type="System.Security.Permissions.SecurityPermissionFlag"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs a new instance of the <see cref="T:System.Security.Permissions.SecurityPermission"/> class
   with the specified <see cref="T:System.Security.Permissions.SecurityPermissionFlag"/>
   value.</para>
						</summary>
						<param name="flag">One or more <see cref="T:System.Security.Permissions.SecurityPermissionFlag"/> values. Specify multiple values for <paramref name="flag"/> using the bitwise OR operator.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="flag"/> is not a valid <see cref="T:System.Security.Permissions.SecurityPermissionFlag"/> value.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Copy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Copy()"/>
					<MemberSignature Language="C#" Value="public override IPermission Copy();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns
 a <see cref="T:System.Security.Permissions.SecurityPermission"/> object containing the same values
 as the current instance.</para>
						</summary>
						<returns>
							<para> A new <see cref="T:System.Security.Permissions.SecurityPermission"/>
instance containing the same values as the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para> The object returned by this method represents the same access to resources
 as the current instance.</para>
								<para> This method overrides <see cref="M:System.Security.CodeAccessPermission.Copy" qualify="true"/> and is implemented to
 support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FromXml">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void FromXml(class System.Security.SecurityElement esd)"/>
					<MemberSignature Language="C#" Value="public override void FromXml(SecurityElement esd);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="esd" Type="System.Security.SecurityElement"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Reconstructs the state of a <see cref="T:System.Security.Permissions.SecurityPermission"/> object using the specified
 XML encoding.</para>
						</summary>
						<param name="esd">A <see cref="T:System.Security.SecurityElement"/> instance containing the XML encoding to use to reconstruct the state of a <see cref="T:System.Security.Permissions.SecurityPermission"/> object. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="esd"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="esd"/> does not contain the encoding for a <see cref="T:System.Security.Permissions.SecurityPermission"/> instance.</para>
							<para>The version number of <paramref name="esd"/> is not valid.</para>
						</exception>
						<remarks>
							<para>The state of the current instance is changed to the
 state encoded in <paramref name="esd"/>.</para>
							<block subset="none" type="note">
								<para>For the XML encoding for this class, see
 the <see cref="T:System.Security.Permissions.SecurityPermission"/>
 class page.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.FromXml(System.Security.SecurityElement)" qualify="true"/>
 .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Intersect">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Intersect(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public override IPermission Intersect(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns
 a <see cref="T:System.Security.Permissions.SecurityPermission"/> object that is the intersection of
 the current instance and the specified object. </para>
						</summary>
						<param name="target">A <see cref="T:System.Security.Permissions.SecurityPermission"/> object that is of the same type as the current instance to be intersected with the current instance. </param>
						<returns>
							<para>A new <see cref="T:System.Security.Permissions.SecurityPermission"/> instance that represents the
 intersection of the current instance and <paramref name="target"/>. If
 the intersection is empty, or <paramref name="target"/>
 is <see langword="null"/>, returns <see langword="null"/>. If the current
 instance is unrestricted, returns a copy of <paramref name="target"/>. If <paramref name="target"/> is
 unrestricted, returns a copy of the current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target"/> is not <see langword="null"/> and is not of type <see cref="T:System.Security.Permissions.SecurityPermission"/> . </exception>
						<remarks>
							<block subset="none" type="note">
								<para>The intersection of two permissions is a permission that secures the
 resources and operations secured by both permissions. Specifically, it represents
 the minimum permission such that any demand that passes both permissions will
 also pass their intersection.</para>
								<para> This method overrides <see cref="M:System.Security.CodeAccessPermission.Intersect(System.Security.IPermission)" qualify="true"/> and is implemented to
 support the <see cref="T:System.Security.IPermission"/>
 
 interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSubsetOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsSubsetOf(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public override bool IsSubsetOf(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the current instance is a subset of
      the specified object.</para>
						</summary>
						<param name="target">A <see cref="T:System.Security.Permissions.SecurityPermission"/> object of the same type as the current instance that is to be tested for the subset relationship with the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if the current instance is a subset of <paramref name="target"/> ;
   otherwise,<see langword=" false"/>. If the current instance is unrestricted, and
<paramref name="target"/> is not, returns <see langword="false"/>. If <paramref name="target"/> is 
   unrestricted, returns <see langword="true"/>. If target is
<see langword="null"/> and the current instance was initialized with
<see cref="F:System.Security.Permissions.SecurityPermissionFlag.NoFlags"/>, returns 
<see langword="true"/>. If target is <see langword="null"/> and the current instance was initialized with any value
   other than <see langword="NoFlags"/>, returns
<see langword="false"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target"/> is not <see langword="null"/> and is not of type <see cref="T:System.Security.Permissions.SecurityPermission"/> . </exception>
						<remarks>
							<block subset="none" type="note">
								<para>The current instance is a subset of <paramref name="target"/> if the current instance
      specifies a set of accesses to resources that is wholly contained by
   <paramref name="target"/>. For example, a permission that represents read access to a file
      is a subset of a permission that represents read and write access to the file. </para>
								<para> This method overrides <see cref="M:System.Security.CodeAccessPermission.IsSubsetOf(System.Security.IPermission)" qualify="true"/> and is implemented to
   support the <see cref="T:System.Security.IPermission"/>
   interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToXml">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.SecurityElement ToXml()"/>
					<MemberSignature Language="C#" Value="public override SecurityElement ToXml();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.SecurityElement</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the XML encoding of the current
 instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Security.SecurityElement"/> containing an XML encoding of the state of the
 current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>For the XML encoding for this class, see
 the <see cref="T:System.Security.Permissions.SecurityPermission"/> class page.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.ToXml" qualify="true"/> .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Union">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Union(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public override IPermission Union(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Security.Permissions.SecurityPermission"/> object that is the union of the
 current instance and the specified object.</para>
						</summary>
						<param name="target">A <see cref="T:System.Security.Permissions.SecurityPermission"/> object of the same type as the current instance to be combined with the current instance. </param>
						<returns>
							<para> A new <see cref="T:System.Security.Permissions.SecurityPermission"/>
instance
that represents the union of the current instance and <paramref name="target"/>. If the current instance
or <paramref name="target"/> is unrestricted, returns
a <see cref="T:System.Security.Permissions.SecurityPermission"/>
instance that is unrestricted. If <paramref name="target "/>is <see langword="null"/>,
returns a copy of the current instance using the <see cref="M:System.Security.IPermission.Copy" qualify="true"/>
method.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target "/> is not <see langword="null"/> and is not of type <see cref="T:System.Security.Permissions.SecurityPermission"/> .</exception>
						<remarks>
							<block subset="none" type="note">
								<para>The result of a call to <see cref="M:System.Security.Permissions.SecurityPermission.Union(System.Security.IPermission)"/> is a permission
 that represents all of the access to security permissions represented by the
 current instance as well as the security permissions represented by
 <paramref name="target"/>. Any demand that passes either the current instance or <paramref name="target  "/>
 
 passes their union.</para>
								<para> This method overrides <see cref="M:System.Security.CodeAccessPermission.Union(System.Security.IPermission)" qualify="true"/> and is implemented to
 support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SecurityPermissionAttribute" FullName="System.Security.Permissions.SecurityPermissionAttribute" FullNameSP="System_Security_Permissions_SecurityPermissionAttribute">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable SecurityPermissionAttribute extends System.Security.Permissions.CodeAccessSecurityAttribute"/>
			<TypeSignature Language="C#" Value="public sealed class SecurityPermissionAttribute : CodeAccessSecurityAttribute"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Used to apply a security action and a set of
      security permissions to program code.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>The security permissions are defined in the <see cref="T:System.Security.Permissions.SecurityPermissionFlag"/> enumeration and are specified using
      the <see cref="P:System.Security.Permissions.SecurityPermissionAttribute.Flags"/> property. </para>
						<para> The security information declared by a
      security attribute is stored in the metadata of the attribute target, and is accessed by
      the system at run-time. Security attributes are used for
      declarative security only. For imperative security, use the corresponding
      permission class, <see cref="T:System.Security.Permissions.SecurityPermission"/>.</para>
						<para>The allowable <see cref="T:System.Security.Permissions.SecurityPermissionAttribute"/> targets are
   determined by the <see cref="T:System.Security.Permissions.SecurityAction"/> passed to the constructor.</para>
					</block>
				</remarks>
				<example>
					<para> In the following example, the attribute target is
      an assembly. The attribute declares that the
      ability to assert permissions
      on behalf of callers is the minimum permission required for the assembly to execute.</para>
					<para>
						<c>[assembly:SecurityPermissionAttribute(SecurityAction.RequestMinimum, Assertion=true)]
   </c>
					</para>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Security.Permissions.CodeAccessSecurityAttribute</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>AttributeUsageAttribute(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method, AllowMultiple=true, Inherited=false)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.SecurityAction action)"/>
					<MemberSignature Language="C#" Value="public SecurityPermissionAttribute(SecurityAction action);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="action" Type="System.Security.Permissions.SecurityAction"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Security.Permissions.SecurityPermissionAttribute"/> class
 with the specified <see cref="T:System.Security.Permissions.SecurityAction"/> value.</para>
						</summary>
						<param name="action"> A <see cref="T:System.Security.Permissions.SecurityAction"/> value.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="action"/> is not a valid <see cref="T:System.Security.Permissions.SecurityAction"/> value. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CreatePermission">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission CreatePermission()"/>
					<MemberSignature Language="C#" Value="public override IPermission CreatePermission();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a new <see cref="T:System.Security.Permissions.SecurityPermission"/> object
   that contains the security information of the current instance.</para>
						</summary>
						<returns>
							<para>A new <see cref="T:System.Security.Permissions.SecurityPermission"/> object
   with the security information of the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>Applications typically do not call this method; it is intended for use by the
         system.</para>
								<para>The security information declared by a security attribute is stored in the
         metadata of the attribute target, and is accessed by the system at run-time. The
         system uses the object returned by this method to convert the security
         information of the current instance into the form stored in metadata.</para>
								<para>This method overrides <see cref="M:System.Security.Permissions.SecurityAttribute.CreatePermission"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Flags">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Security.Permissions.SecurityPermissionFlag Flags { public hidebysig specialname instance valuetype System.Security.Permissions.SecurityPermissionFlag get_Flags() public hidebysig specialname instance void set_Flags(valuetype System.Security.Permissions.SecurityPermissionFlag value) }"/>
					<MemberSignature Language="C#" Value="public SecurityPermissionFlag Flags { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets values that define the
 permissions declared by the current instance.</para>
						</summary>
						<value>
							<para> One or more <see cref="T:System.Security.Permissions.SecurityPermissionFlag"/> values.
 To specify multiple values in a set operation,
 use the bitwise OR operator.</para>
						</value>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SecurityPermissionFlag" FullName="System.Security.Permissions.SecurityPermissionFlag" FullNameSP="System_Security_Permissions_SecurityPermissionFlag">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable SecurityPermissionFlag extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum SecurityPermissionFlag"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Specifies a set of security permissions applied to a
   <see cref="T:System.Security.Permissions.SecurityPermission"/> instance.</para>
				</summary>
				<remarks>
					<para>This enumeration is used by <see cref="T:System.Security.Permissions.SecurityPermission"/>.</para>
					<para>
						<see cref="T:System.Security.Permissions.SecurityPermissionFlag"/> is
a bit-field; specify multiple values using the bitwise OR
operator.</para>
					<para>For information on security, see Partition
   II of the CLI Specification.</para>
					<para>
						<block subset="none" type="note">Many of these flags are powerful and
   should only be granted to highly trusted code. </block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>FlagsAttribute</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="Assertion">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag Assertion = 0x1"/>
					<MemberSignature Language="C#" Value="Assertion = 0x1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Assertion</MemberValue>
					<Docs>
						<summary>
							<para> Specifies the ability to assert that all of the callers 
      of the code granted this permission
      will pass the check for
      a specific permission
      or permission set.</para>
							<para>The ability to assert a specific permission or permission set allows code to 
      ensure that its callers do not fail with a security exception for lack of
      the specific permission or permission set asserted. </para>
							<para>
								<block subset="none" type="note">Asserting a permission is often used 
      when writing library code that accesses protected resources but itself does not
      expose these resources in any exploitable way to the calling code.
   </block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ControlThread">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag ControlThread = 0x10"/>
					<MemberSignature Language="C#" Value="ControlThread = 0x10;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ControlThread</MemberValue>
					<Docs>
						<summary>
							<para> Specifies the ability to control thread behavior.
      The operations protected include <see cref="M:System.Threading.Thread.Abort(System.Object)"/>
      and <see cref="M:System.Threading.Thread.ResetAbort"/> .</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Execution">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag Execution = 0x8"/>
					<MemberSignature Language="C#" Value="Execution = 0x8;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Execution</MemberValue>
					<Docs>
						<summary>
							<para> Specifies permission for the code to run. Without this
 permission managed code cannot execute.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NoFlags">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag NoFlags = 0x0"/>
					<MemberSignature Language="C#" Value="NoFlags = 0x0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NoFlags</MemberValue>
					<Docs>
						<summary>
							<para> Specifies that none of the permissions in this 
      enumeration are available.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SkipVerification">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag SkipVerification = 0x4"/>
					<MemberSignature Language="C#" Value="SkipVerification = 0x4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>SkipVerification</MemberValue>
					<Docs>
						<summary>
							<para>Specifies the right to skip the verification checks that
      ensure type safety and metadata correctness in an assembly. If an assembly has
      been granted this permission it will not fail with a <see cref="T:System.Security.VerificationException"/>
      even if the assembly contains unverifiable constructs.</para>
							<para>
								<block subset="none" type="note">Code that is
      unverifiable can execute without causing a <see cref="T:System.Security.VerificationException"/> if
      this permission is granted.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="UnmanagedCode">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Security.Permissions.SecurityPermissionFlag UnmanagedCode = 0x2"/>
					<MemberSignature Language="C#" Value="UnmanagedCode = 0x2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.Permissions.SecurityPermissionFlag</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>UnmanagedCode</MemberValue>
					<Docs>
						<summary>
							<para> Specifies the ability to call unmanaged code.</para>
							<para>
								<block subset="none" type="note">
      
      Because unmanaged code potentially allows other permissions to be bypassed,
      this permission should be used with caution. It is used for applications calling native
      code using PInvoke.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SeekOrigin" FullName="System.IO.SeekOrigin" FullNameSP="System_IO_SeekOrigin">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable SeekOrigin extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum SeekOrigin"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Defines the seek reference positions.</para>
				</summary>
				<remarks>
					<para> The <see cref="T:System.IO.SeekOrigin"/> enumeration is used by the overrides of the <see cref="M:System.IO.Stream.Seek(System.Int64,System.IO.SeekOrigin)" qualify="true"/> method to set
   the seek reference point in a stream, which allows you to specify an offset from
   the reference point.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Begin">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.SeekOrigin Begin = 0"/>
					<MemberSignature Language="C#" Value="Begin = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.SeekOrigin</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Begin</MemberValue>
					<Docs>
						<summary>
							<para> Indicates that the seek reference point is the beginning of a
      stream.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Current">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.SeekOrigin Current = 1"/>
					<MemberSignature Language="C#" Value="Current = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.SeekOrigin</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Current</MemberValue>
					<Docs>
						<summary>
							<para> Indicates that the seek reference point is the current position
      within a stream.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="End">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.IO.SeekOrigin End = 2"/>
					<MemberSignature Language="C#" Value="End = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.SeekOrigin</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>End</MemberValue>
					<Docs>
						<summary>
							<para> Indicates that the seek reference point is the first byte beyond the end of a stream.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="StackOverflowException" FullName="System.StackOverflowException" FullNameSP="System_StackOverflowException">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable StackOverflowException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public sealed class StackOverflowException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when the execution stack overflows due to too many
      method calls.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>
							<see cref="T:System.StackOverflowException"/> is thrown for execution stack overflow errors, typically
      in the case of a very deep or unbounded recursion. </para>
						<para>The localloc IL instruction throws <see cref="T:System.StackOverflowException"/>.</para>
					</block>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes
      a <see cref="T:System.StackOverflowException"/> exception.</para>
					<code lang="C#">using System;
public class StackOverflowExample {
   public static void recursion() { recursion(); }
   public static void Main() {
      try {
         recursion();
      }
      catch(StackOverflowException e) {
         Console.WriteLine("Error caught: {0}", e);
      }
   }
}
   </code>
					<para>The output is</para>
					<para>
						<c>Error 
      caught: System.StackOverflowException: Exception of type
      System.StackOverflowException was thrown.</c>
					</para>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public StackOverflowException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.StackOverflowException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.StackOverflowException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "The requested operation caused a
   stack overflow." This message takes into account the current system culture.</para>
							<para>The <see cref="!:System.StackOverflowException.InnerException"/> property is initialized to 
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public StackOverflowException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.StackOverflowException"/>
class. </para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para> This constructor initializes the <see cref="!:System.StackOverflowException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.StackOverflowException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments. The <see cref="!:System.StackOverflowException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public StackOverflowException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.StackOverflowException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current Exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.StackOverflowException.Message"/> property of the new instance using <paramref name="message"/>, and
   the <see cref="!:System.StackOverflowException.InnerException"/> property using
<paramref name="innerException"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.StackOverflowException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For information on inner exceptions, see
<see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Stream" FullName="System.IO.Stream" FullNameSP="System_IO_Stream">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable Stream extends System.MarshalByRefObject implements System.IDisposable"/>
			<TypeSignature Language="C#" Value="public abstract class Stream : MarshalByRefObject, IDisposable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Abstract base class for all stream implementations.</para>
				</summary>
				<remarks>
					<para>Streams involve three fundamental operations: </para>
					<list type="bullet">
						<item>
							<term>
         
         You can read from streams. Reading is the transfer of
         data from a stream into a data structure, such as an array of bytes.</term>
						</item>
						<item>
							<term>
         
         You can write to streams. Writing is the transfer of
         data from a data structure into a stream.</term>
						</item>
						<item>
							<term>
         
         Streams can support seeking. Seeking is the querying and modifying of the
         current position within a stream. Seek capability depends on the kind of
         backing store a stream has. For example, network streams have no unified
         concept of a current position, and therefore typically do not support seeking.</term>
						</item>
					</list>
					<para>All classes that represent streams inherit from the
<see cref="T:System.IO.Stream"/> class.
   The <see cref="T:System.IO.Stream"/>
   class and its subclasses provide a generic view of
   data sources and repositories, isolating the programmer from
   the specific details of the operating system and underlying devices.</para>
					<para>Subclasses are required to provide implementations only 
   for the synchronous read and write methods. The asynchronous read and write
   methods are implemented via the synchronous ones. <block subset="none" type="note"> The <see cref="T:System.IO.Stream"/> synchronous read and write methods
   are <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/> and <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)"/>. The asynchronous read and write methods are
<see cref="M:System.IO.Stream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/>, <see cref="M:System.IO.Stream.EndRead(System.IAsyncResult)"/>, <see cref="M:System.IO.Stream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/>, 
   and <see cref="M:System.IO.Stream.EndWrite(System.IAsyncResult)"/>.</block>
					</para>
					<para>Depending on the underlying data source or repository, streams might support
   only some of these capabilities. An application can query a stream for its
   capabilities by using the <see cref="P:System.IO.Stream.CanRead"/>, <see cref="P:System.IO.Stream.CanWrite"/>, and <see cref="P:System.IO.Stream.CanSeek"/>
   properties.</para>
					<para>The <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/> and <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)"/> methods read and write data
in a variety of formats. For streams that support seeking, the <see cref="M:System.IO.Stream.Seek(System.Int64,System.IO.SeekOrigin)"/> and
<see cref="M:System.IO.Stream.SetLength(System.Int64)"/> methods, and the <see cref="P:System.IO.Stream.Position"/> and
<see cref="P:System.IO.Stream.Length"/> properties can be used to query and modify the
current position and length of a stream.</para>
					<para>Some stream implementations perform local buffering of the underlying data to
   improve performance. For such streams, the <see cref="M:System.IO.Stream.Flush"/> method can be used to clear
   any internal buffers and ensure that all data has been written to the underlying
   data source or repository.</para>
					<para>Calling <see cref="M:System.IO.Stream.Close"/> on a <see cref="T:System.IO.Stream"/> flushes any
buffered data, essentially calling <see cref="M:System.IO.Stream.Flush"/> for you. <see cref="M:System.IO.Stream.Close"/> also releases operating system resources such as file handles, network
connections, or memory used for any internal buffering.</para>
					<para>If you need a <see cref="T:System.IO.Stream"/> with no backing store (i.e., a bit bucket), use
<see cref="F:System.IO.Stream.Null"/> 
. </para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.MarshalByRefObject</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IDisposable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="protected Stream();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>Constructs a new instance of the <see cref="T:System.IO.Stream"/> class.</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.IAsyncResult BeginRead(class System.Byte[] buffer, int32 offset, int32 count, class System.AsyncCallback callback, object state)"/>
					<MemberSignature Language="C#" Value="public virtual IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object state);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
						<Parameter Name="callback" Type="System.AsyncCallback"/>
						<Parameter Name="state" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Begins an asynchronous read operation.</para>
						</summary>
						<param name="buffer">The <see cref="T:System.Byte"/> array to read the data into.</param>
						<param name="offset">A <see cref="T:System.Int32"/> that specifies the byte offset in <paramref name="buffer"/> at which to begin writing data read from the stream.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the maximum number of bytes to read from the stream.</param>
						<param name="callback">A <see cref="T:System.AsyncCallback"/> delegate to be called when the read is complete, or <see langword="null"/>.</param>
						<param name="state">An application-defined object, or <see langword="null"/>.</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/> that contains
   information about the asynchronous read operation, which could still
   be pending.</para>
						</returns>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.NotSupportedException">The current <see cref="T:System.IO.Stream"/> does not support reading.</exception>
						<remarks>
							<para> This method starts an asynchronous read operation. To
      determine how many bytes were read and release resources allocated by this
      method, call the <see cref="M:System.IO.Stream.EndRead(System.IAsyncResult)"/> method and specify the <see cref="T:System.IAsyncResult"/> object
      returned by this method. <block subset="none" type="note"> The <see cref="M:System.IO.Stream.EndRead(System.IAsyncResult)"/> method
      should be called exactly once for each call to <see cref="M:System.IO.Stream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/>.</block>
							</para>
							<para>If the
   <paramref name="callback"/> parameter is not <see langword="null"/>, the method referenced by <paramref name="callback"/> is invoked when the asynchronous operation
      completes. The <see cref="T:System.IAsyncResult"/>
      object returned by this method
      is passed as the argument to the method referenced by <paramref name="callback"/>.</para>
							<para> The current position in the stream is updated when the
      asynchronous read or write is issued, not
      when the I/O operation completes.</para>
							<para> Multiple simultaneous asynchronous requests render the request completion order uncertain.</para>
							<para>The <paramref name="state"/> parameter can be any object that the caller wishes to have
   available for the duration of the asynchronous operation. This object is
   available via the <see cref="P:System.IAsyncResult.AsyncState"/> property of the object returned by this
   method. </para>
							<para>
								<block subset="none" type="note"> Use the <see cref="P:System.IO.Stream.CanRead"/>
property to determine whether the current instance supports
reading.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.IAsyncResult BeginWrite(class System.Byte[] buffer, int32 offset, int32 count, class System.AsyncCallback callback, object state)"/>
					<MemberSignature Language="C#" Value="public virtual IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback callback, object state);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
						<Parameter Name="callback" Type="System.AsyncCallback"/>
						<Parameter Name="state" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Begins an asynchronous write operation.</para>
						</summary>
						<param name="buffer">The <see cref="T:System.Byte"/> array to be written to the current stream.</param>
						<param name="offset">A <see cref="T:System.Int32"/> that specifies the byte offset in <paramref name="buffer"/> at which to begin copying bytes to the current stream.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the maximum number of bytes to be written to the current stream.</param>
						<param name="callback">A <see cref="T:System.AsyncCallback"/> delegate to be called when the write is complete, or <see langword="null"/>.</param>
						<param name="state">An application-defined object, or <see langword="null"/>.</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/>
that represents the asynchronous write, which could still be pending.</para>
						</returns>
						<exception cref="T:System.NotSupportedException">The current <see cref="T:System.IO.Stream"/> does not support writing.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>Pass the <see cref="T:System.IAsyncResult"/> returned by this method to <see cref="M:System.IO.Stream.EndWrite(System.IAsyncResult)"/> to ensure that the write completes and frees
   resources appropriately. If an error occurs during an asynchronous
   write, an exception will not be thrown until <see cref="M:System.IO.Stream.EndWrite(System.IAsyncResult)"/> is
   called with the <see cref="T:System.IAsyncResult"/> returned by this method. <block subset="none" type="note"> If a failure is detected from the underlying OS (such as if a floppy
   is ejected in the middle of the operation), the results of the write operation are undefined.</block>
							</para>
							<para>If the <paramref name="callback"/> parameter is not <see langword="null"/>, the method
referenced by <paramref name="callback"/> is invoked when the asynchronous operation
completes. The <see cref="T:System.IAsyncResult"/> object returned by this method is passed as the argument
to the method referenced by <paramref name="callback"/>.</para>
							<para>The <paramref name="state"/> parameter can be any object that the caller wishes to have
available for the duration of the asynchronous operation. This object is
available via the <see cref="P:System.IAsyncResult.AsyncState"/> property of the object returned by this
method. </para>
							<para> If a stream is writable, writing at the end of
   it expands the stream.</para>
							<para>The current position in the stream is updated when you issue the asynchronous
   read or write, not when the I/O operation completes. Multiple simultaneous
   asynchronous requests render the request completion order
   uncertain.</para>
							<block subset="none" type="note">
								<para>
									<paramref name="buffer"/> should generally be greater than 64
   KB.</para>
								<para>Use the <see cref="P:System.IO.Stream.CanWrite"/> property to
determine whether the current instance supports writing.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CanRead">
					<MemberSignature Language="ILASM" Value=".property bool CanRead { public hidebysig virtual abstract specialname bool get_CanRead() }"/>
					<MemberSignature Language="C#" Value="public abstract bool CanRead { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current stream supports reading.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the stream supports reading;
   otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>If a class derived from <see cref="T:System.IO.Stream"/> does not support reading, the following methods
   throw a <see cref="T:System.NotSupportedException"/> : <see cref="M:System.IO.Stream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/> ,
<see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/> and <see cref="M:System.IO.Stream.ReadByte"/> .</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CanSeek">
					<MemberSignature Language="ILASM" Value=".property bool CanSeek { public hidebysig virtual abstract specialname bool get_CanSeek() }"/>
					<MemberSignature Language="C#" Value="public abstract bool CanSeek { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current stream supports seeking.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the stream supports seeking;
   otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>If a class derived from <see cref="T:System.IO.Stream"/> does not support seeking, the following methods throw a <see cref="T:System.NotSupportedException"/>: <see cref="P:System.IO.Stream.Length"/>,
<see cref="M:System.IO.Stream.SetLength(System.Int64)"/>,
<see cref="P:System.IO.Stream.Position"/>, or <see cref="M:System.IO.Stream.Seek(System.Int64,System.IO.SeekOrigin)"/>.</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CanWrite">
					<MemberSignature Language="ILASM" Value=".property bool CanWrite { public hidebysig virtual abstract specialname bool get_CanWrite() }"/>
					<MemberSignature Language="C#" Value="public abstract bool CanWrite { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current stream supports writing.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the stream supports writing;
   otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>If a class derived from <see cref="T:System.IO.Stream"/> does not support writing, the following methods
   throw a <see cref="T:System.NotSupportedException"/>: <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)"/>, <see cref="M:System.IO.Stream.WriteByte(System.Byte)"/>, and <see cref="M:System.IO.Stream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/>.</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Close">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Close()"/>
					<MemberSignature Language="C#" Value="public virtual void Close();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Closes the current stream
      and releases any resources associated with the current stream.</para>
						</summary>
						<remarks>
							<para> Following a call to this method, other operations
      on the stream might throw exceptions. If the stream is already closed, a call
      to <see cref="M:System.IO.Stream.Close"/> throws no exceptions.</para>
							<para>
								<block subset="none" type="note">If this method
      
      is called while an asynchronous read or write is pending for a stream, the
      behavior of the stream is undefined.
   </block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CreateWaitHandle">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual class System.Threading.WaitHandle CreateWaitHandle()"/>
					<MemberSignature Language="C#" Value="protected virtual WaitHandle CreateWaitHandle();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.WaitHandle</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Allocates a <see cref="T:System.Threading.WaitHandle"/> object.</para>
						</summary>
						<returns>
							<para>A reference to the allocated <see cref="T:System.Threading.WaitHandle"/>.</para>
						</returns>
						<remarks>
							<para> When called for the first time this method
      creates a <see cref="T:System.Threading.WaitHandle"/> object and returns it. On subsequent
      calls, the <see cref="M:System.IO.Stream.CreateWaitHandle"/> method returns a reference to the same wait
      handle.</para>
							<para>
								<block subset="none" type="note">
									<see cref="M:System.IO.Stream.CreateWaitHandle"/> is useful if you implement the
      asynchronous methods and require a way of blocking in <see cref="M:System.IO.Stream.EndRead(System.IAsyncResult)"/> or
   <see cref="M:System.IO.Stream.EndWrite(System.IAsyncResult)"/> until the asynchronous operation is
      complete.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 EndRead(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public virtual int EndRead(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Ends a pending asynchronous read request.</para>
						</summary>
						<param name="asyncResult">The <see cref="T:System.IAsyncResult"/> object that references the pending asynchronous read request.</param>
						<returns>
							<para> A <see cref="T:System.Int32"/> that indicates the number of bytes read from the stream, 
   between 0 and the number of bytes specified via the <see cref="M:System.IO.Stream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/>
								<paramref name="count"/> 
parameter. Streams only return
0 at the end of the stream, otherwise, they block until at
least 1 byte is available.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="asyncResult "/>did not originate from a <see cref="M:System.IO.Stream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/> method on the current stream.</exception>
						<remarks>
							<para>
								<see cref="M:System.IO.Stream.EndRead(System.IAsyncResult)"/> blocks until the I/O operation has completed.</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void EndWrite(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public virtual void EndWrite(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Ends an asynchronous write operation.</para>
						</summary>
						<param name="asyncResult">A <see cref="T:System.IAsyncResult"/> that references the outstanding asynchronous I/O request.</param>
						<exception cref="T:System.ArgumentNullException">The <paramref name="asyncResult"/> parameter is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="asyncResult "/>did not originate from a <see cref="M:System.IO.Stream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/> method on the current stream.</exception>
						<remarks>
							<para>
								<see cref="M:System.IO.Stream.EndWrite(System.IAsyncResult)"/> is required to be called exactly once for every <see cref="M:System.IO.Stream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/>. <see cref="M:System.IO.Stream.EndWrite(System.IAsyncResult)"/> blocks until the write I/O operation has completed.</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Flush">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void Flush()"/>
					<MemberSignature Language="C#" Value="public abstract void Flush();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Flushes the internal buffer.</para>
						</summary>
						<exception cref="T:System.IO.IOException">An I/O error occurs, such as the file being already closed.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">Implementers should use this method to move any information from an underlying buffer
      to its destination. The <see cref="M:System.IO.Stream.Flush"/> method should clear the buffer, but the stream
      should not be closed. Depending upon the state of the object, the current
      position within the stream might need to be modified (for example, if the
      underlying stream supports seeking). For additional information see <see cref="P:System.IO.Stream.CanSeek"/>
      .</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override <see cref="M:System.IO.Stream.Flush"/> on
   streams that implement a buffer.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Length">
					<MemberSignature Language="ILASM" Value=".property int64 Length { public hidebysig virtual abstract specialname int64 get_Length() }"/>
					<MemberSignature Language="C#" Value="public abstract long Length { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the length in bytes of the stream.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int64"/> value representing the length of the stream in
   bytes.</para>
						</value>
						<exception cref="T:System.NotSupportedException">The stream does not support seeking.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">Use the <see cref="P:System.IO.Stream.CanSeek"/>
property to determine whether the current instance supports
seeking.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">This property is
   read-only.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Null">
					<MemberSignature Language="ILASM" Value=".field public static initOnly class System.IO.Stream Null"/>
					<MemberSignature Language="C#" Value="public static readonly Stream Null;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.Stream</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.IO.Stream"/> with no backing store.</para>
						</summary>
						<remarks>
							<para>
								<block subset="none" type="note">
									<see cref="F:System.IO.Stream.Null"/> is used to redirect output to a stream
   that does not consume any operating system resources. When the methods of <see cref="T:System.IO.Stream"/> that provide writing are invoked on <see cref="F:System.IO.Stream.Null"/>
   , they simply return, and no data is written. <see cref="F:System.IO.Stream.Null"/> also implements a <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/> method that returns zero without reading data.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Position">
					<MemberSignature Language="ILASM" Value=".property int64 Position { public hidebysig virtual abstract specialname int64 get_Position() public hidebysig virtual abstract specialname void set_Position(int64 value) }"/>
					<MemberSignature Language="C#" Value="public abstract long Position { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the position within the current stream.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int64"/> that specifies the current position within the stream.</para>
						</value>
						<exception cref="T:System.NotSupportedException">The stream does not support seeking.</exception>
						<exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
						<exception cref="T:System.IO.IOException">An I/O error has occurred.</exception>
						<remarks>
							<para>The stream is required to support seeking to get or set the
      position. <block subset="none" type="note">Use the <see cref="P:System.IO.Stream.CanSeek"/>
      property to determine whether the current instance supports seeking.</block>
							</para>
							<para>Classes that derive from <see cref="T:System.IO.Stream"/> are required to provide an implementation of
   this property. </para>
							<block subset="none" type="note">
								<para>If you intend to use a file as a backing store for a stream implementation,
      opening a file and then writing to it requires that the position be set to
      just beyond the last byte so you can append to the file. The position cannot be
      set more than one byte beyond the end of the stream. </para>
							</block>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int32 Read(class System.Byte[] buffer, int32 offset, int32 count)"/>
					<MemberSignature Language="C#" Value="public abstract int Read(byte[] buffer, int offset, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Reads a sequence of bytes from the current stream and advances the position
      within the stream by the number of bytes read.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte"/> array. When this method returns, the elements between <paramref name="offset"/> and <paramref name="(offset + count - 1)"/> are replaced by the bytes read from the current source.</param>
						<param name="offset">A <see cref="T:System.Int32"/> that specifies the zero based byte offset in <paramref name="buffer "/> at which to begin storing the data read from the current stream.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the maximum number of bytes to be read from the current stream.</param>
						<returns>
							<para> A <see cref="T:System.Int32"/> that specifies the total number of bytes read into the
   buffer, or zero if the end of the stream has been
   reached before any data can be read.</para>
						</returns>
						<exception cref="T:System.ArgumentException">(<paramref name="offset"/> + <paramref name="count"/> - 1) is greater than the length of <paramref name="buffer"/>.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="offset"/> or <paramref name="count"/> is less than zero.</exception>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<exception cref="T:System.NotSupportedException">The current stream does not support reading.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">Use the <see cref="P:System.IO.Stream.CanRead"/>
property to determine whether the current instance supports
reading.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 ReadByte()"/>
					<MemberSignature Language="C#" Value="public virtual int ReadByte();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Reads a byte from the stream and advances the position
      within the stream by one byte.</para>
						</summary>
						<returns>
							<para>The unsigned byte cast to a <see cref="T:System.Int32"/> , or -1 if at the end
   of the stream.</para>
						</returns>
						<exception cref="T:System.NotSupportedException">The stream does not support reading.</exception>
						<exception cref="T:System.ObjectDisposedException">The stream is closed. </exception>
						<exception cref="T:System.IO.IOException">An I/O error has occurred.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="note">Use the <see cref="P:System.IO.Stream.CanRead"/> property to determine whether
   the current instance supports reading.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Seek">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract int64 Seek(int64 offset, valuetype System.IO.SeekOrigin origin)"/>
					<MemberSignature Language="C#" Value="public abstract long Seek(long offset, SeekOrigin origin);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="offset" Type="System.Int64"/>
						<Parameter Name="origin" Type="System.IO.SeekOrigin"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the position within the current stream.</para>
						</summary>
						<param name="offset">A <see cref="T:System.Int64"/> that specifies the byte offset relative to origin.</param>
						<param name="origin">A <see cref="T:System.IO.SeekOrigin"/> value indicating the reference point used to obtain the new position.</param>
						<returns>
							<para>A <see cref="T:System.Int64"/> that specifies the new position within the current stream.</para>
						</returns>
						<exception cref="T:System.NotSupportedException">The stream does not support seeking, such as if the stream is constructed from a pipe or console output.</exception>
						<exception cref="T:System.ObjectDisposedException">The current <see cref="T:System.IO.Stream"/> is closed.</exception>
						<exception cref="T:System.IO.IOException">An I/O error has occurred.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">Use the <see cref="P:System.IO.Stream.CanSeek"/> property to determine whether
   the current instance supports seeking.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">If <paramref name="offset "/>is negative,
the new position is required to precede the position specified by <paramref name="origin "/>by the number of bytes specified by <paramref name="offset"/>. If <paramref name="offset "/>is zero,
the new position is required to be the position specified by <paramref name="origin"/>. If
<paramref name="offset "/>is positive, the new position is required to follow the position 
specified by <paramref name="origin "/>by the number of bytes specified by <paramref name="offset"/>.</block>
							</para>
							<block subset="none" type="overrides">
								<para>If you intend to use a file as a backing store for a stream implementation,
      you are required to override <see cref="M:System.IO.Stream.Seek(System.Int64,System.IO.SeekOrigin)"/> to set the <see cref="P:System.IO.Stream.Position"/> property one byte beyond the
      end of the stream. The position
      cannot be set to more than one byte beyond the end of the stream. </para>
								<para>Classes derived from <see cref="T:System.IO.Stream"/> that
   support seeking are required to override this method. </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetLength">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void SetLength(int64 value)"/>
					<MemberSignature Language="C#" Value="public abstract void SetLength(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the length of the current stream.</para>
						</summary>
						<param name="value">A <see cref="T:System.Int64"/> that specifies the desired length of the current stream in bytes.</param>
						<exception cref="T:System.NotSupportedException">The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output.</exception>
						<exception cref="T:System.ObjectDisposedException">The current <see cref="T:System.IO.Stream"/> is closed.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">Use the <see cref="P:System.IO.Stream.CanWrite"/>
property to determine whether the current instance supports writing, and the
<see cref="P:System.IO.Stream.CanSeek"/> property
to determine whether seeking is supported. </block>
							</para>
							<para>
								<block subset="none" type="behaviors">If the specified value is less than
   the current length of the stream, the stream is truncated. If the specified
   value is larger than the current length of the stream, the stream is expanded.
   If the stream is expanded, the contents of the stream between the old and the
   new length are initialized to zeros.</block>
							</para>
							<para>
								<block subset="none" type="default">There is no default
   implementation.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Classes derived from <see cref="T:System.IO.Stream"/> are required to
support both writing and seeking for <see cref="M:System.IO.Stream.SetLength(System.Int64)"/>
to work.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.IDisposable.Dispose">
					<MemberSignature Language="ILASM" Value=".method private final hidebysig virtual void System.IDisposable.Dispose()"/>
					<MemberSignature Language="C#" Value="void IDisposable.Dispose();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.IDisposable"/> interface. [Note: For more information, see <see cref="M:System.IDisposable.Dispose"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void Write(class System.Byte[] buffer, int32 offset, int32 count)"/>
					<MemberSignature Language="C#" Value="public abstract void Write(byte[] buffer, int offset, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a
      sequence of bytes to the current stream and advances the current position within
      the current stream by the number of bytes written.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte"/> array containing the data to write.</param>
						<param name="offset">A <see cref="T:System.Int32"/> that specifies the zero based byte offset in <paramref name="buffer "/> at which to begin copying bytes to the current stream.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of bytes to be written to the current stream.</param>
						<exception cref="T:System.ArgumentException">(<paramref name="offset"/> + <paramref name="count"/> ) is greater than the length of <paramref name="buffer"/>.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="offset "/>or <paramref name="count"/> is negative.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.NotSupportedException">The stream does not support writing.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">Use the <see cref="P:System.IO.Stream.CanWrite"/> property to determine whether
   the current instance supports writing.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">If the write operation is
   successful, the position within the stream advances by the number of bytes
   written. If an exception occurs, the position within the stream remains
   unchanged.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteByte">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteByte(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteByte(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a <see cref="T:System.Byte"/> to the current position in the stream and advances the position within the stream by one byte.</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> to write to the stream.</param>
						<exception cref="T:System.NotSupportedException">The stream does not support writing.</exception>
						<exception cref="T:System.ObjectDisposedException">The stream is closed.</exception>
						<exception cref="T:System.IO.IOException">An I/O error has occurred.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">Use the <see cref="P:System.IO.Stream.CanWrite"/> property to determine whether
   the current instance supports writing.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="StreamReader" FullName="System.IO.StreamReader" FullNameSP="System_IO_StreamReader">
			<TypeSignature Language="ILASM" Value=".class public serializable StreamReader extends System.IO.TextReader"/>
			<TypeSignature Language="C#" Value="public class StreamReader : TextReader"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Implements a <see cref="T:System.IO.Stream"/> that reads
   characters from a byte stream in a particular encoding.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.IO.StreamReader"/> class is designed for
   character input in a particular <see cref="T:System.Text.Encoding"/>, whereas subclasses of <see cref="T:System.IO.Stream"/> are designed for byte input and output.</para>
					<block subset="none" type="note">
						<para>
							<see cref="T:System.IO.StreamReader"/> defaults to UTF-8 encoding unless specified
   otherwise, instead of defaulting to the ANSI code page for the current system.
   UTF-8 handles Unicode characters correctly and provides consistent results on localized
   versions of the operating system.</para>
						<para>When reading from a <see cref="T:System.IO.Stream"/>, it is more efficient to use a buffer that is the
same size as the internal buffer of the stream.</para>
						<para>By default, a <see cref="T:System.IO.StreamReader"/> is not thread safe. For a
thread-safe wrapper, see <see cref="M:System.IO.TextReader.Synchronized(System.IO.TextReader)" qualify="true"/>
.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.IO.TextReader</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IDisposable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, class System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks, int32 bufferSize)"/>
					<MemberSignature Language="C#" Value="public StreamReader(string path, Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="encoding" Type="System.Text.Encoding"/>
						<Parameter Name="detectEncodingFromByteOrderMarks" Type="System.Boolean"/>
						<Parameter Name="bufferSize" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamReader"/> class for the specified file name, with the specified character encoding, byte order
   mark detection option, and buffer size.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> that specifies the complete file path to read.</param>
						<param name="encoding">A <see cref="T:System.Text.Encoding"/> that specifies the character encoding to use.</param>
						<param name="detectEncodingFromByteOrderMarks">A <see cref="T:System.Boolean"/> value that indicates whether the new <see cref="T:System.IO.StreamReader"/>is required to look for byte order marks at the beginning of the stream. Specify <see langword="true"/> to enable detection of byte order marks; otherwise, specify <see langword="false"/> .</param>
						<param name="bufferSize">A <see cref="T:System.Int32"/> that specifies the minimum buffer size, in number of 16-bit characters. If less than the minimum allowable size (128 characters), the minimum allowable size is used.</param>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is in an invalid format or contains invalid characters.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">The file specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is an empty string ("").</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path "/> or <paramref name="encoding"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="buffersize"/> is less than or equal to zero.</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamReader.CurrentEncoding"/> property using
<paramref name="encoding"/> .</para>
							<para>If requested, the current constructor detects the encoding by examining the
   first three bytes of the stream. The constructor automatically recognizes UTF-8,
   little-endian Unicode, and big-endian Unicode text if the file starts with the
   appropriate byte order marks. Otherwise, the user-provided encoding is used. See
   the <see cref="M:System.Text.Encoding.GetPreamble" qualify="true"/> method for more information.</para>
							<block subset="none" type="note">
								<para>
									<paramref name="path"/> is not required to be a file stored on disk;
   it can be any part of a system that supports access via streams. For example,
   depending on the system, this class may be able to access a physical device.</para>
								<para>When reading from a <see cref="T:System.IO.Stream"/>, it is more efficient to use a buffer that is the
same size as the internal buffer of the stream.</para>
								<para>For information on the valid format and characters for path strings, see
<see cref="T:System.IO.Path"/>. </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, class System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks)"/>
					<MemberSignature Language="C#" Value="public StreamReader(string path, Encoding encoding, bool detectEncodingFromByteOrderMarks);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="encoding" Type="System.Text.Encoding"/>
						<Parameter Name="detectEncodingFromByteOrderMarks" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamReader"/> class for the specified file name, with the specified character encoding and byte order mark detection option.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> that specifies the complete file path to read.</param>
						<param name="encoding">A <see cref="T:System.Text.Encoding"/> that specifies the character encoding to use.</param>
						<param name="detectEncodingFromByteOrderMarks">A <see cref="T:System.Boolean"/> value that indicates whether the new <see cref="T:System.IO.StreamReader"/>is required to look for byte order marks at the beginning of the stream. Specify <see langword="true"/> to enable detection of byte order marks; otherwise, specify <see langword="false"/> .</param>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is in an invalid format or contains invalid characters.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">The file specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/> is an empty string ("").</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path "/> or <paramref name="encoding"/> is <see langword="null"/> .</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamReader.CurrentEncoding"/> property using
<paramref name="encoding"/> , and the internal buffer to the default size. 
   <block subset="none" type="note">The default buffer size is implementation
      defined.</block>
							</para>
							<para>If requested, the current constructor detects the
      encoding by examining the first three bytes of the stream. The constructor
      automatically recognizes UTF-8, little-endian Unicode, and big-endian Unicode
      text if the file starts with the appropriate byte order marks. Otherwise, the
      user-provided encoding is used. See the <see cref="M:System.Text.Encoding.GetPreamble" qualify="true"/>
      
      method for more information.</para>
							<block subset="none" type="note">
								<para>
									<paramref name="path"/> is not required to be a
      file stored on disk; it can be any part of a system that supports access via
      streams. For example, depending on the system, this class may be able to access
      a physical device.</para>
								<para>For information on the valid format and characters for
      path strings, see <see cref="T:System.IO.Path"/>. </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, class System.Text.Encoding encoding)"/>
					<MemberSignature Language="C#" Value="public StreamReader(string path, Encoding encoding);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="encoding" Type="System.Text.Encoding"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamReader"/>
class for the specified file name and with the specified character encoding.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> that specifies the complete file path to read.</param>
						<param name="encoding">A <see cref="T:System.Text.Encoding"/> that specifies the character encoding to use.</param>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is in an invalid format or contains invalid characters.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">The file specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is an empty string ("").</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path "/>or <paramref name="encoding"/> is <see langword="null"/> .</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamReader.CurrentEncoding"/> property using
<paramref name="encoding"/> , and the internal buffer to the default size. 
   <block subset="none" type="note">The default buffer size is implementation
      defined.</block>
							</para>
							<block subset="none" type="note">
								<para>
									<paramref name="path"/> is not required to be a
      file stored on disk; it can be any part of a system that supports access via
      streams. For example, depending on the system, this class may be able to access
      a physical device.</para>
								<para>For information on the valid format and characters for
      path strings, see <see cref="T:System.IO.Path"/>. </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, bool detectEncodingFromByteOrderMarks)"/>
					<MemberSignature Language="C#" Value="public StreamReader(string path, bool detectEncodingFromByteOrderMarks);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="detectEncodingFromByteOrderMarks" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamReader"/> class
   for the specified file name, with the specified byte order mark detection option.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> that specifies the complete file path to read.</param>
						<param name="detectEncodingFromByteOrderMarks">A <see cref="T:System.Boolean"/> value that indicates whether the new <see cref="T:System.IO.StreamReader"/> is required to look for byte order marks at the beginning of the stream. Specify <see langword="true"/> to enable detection of byte order marks; otherwise, specify <see langword="false"/> .</param>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is in an invalid format or contains invalid characters.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">The file specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is an empty string ("").</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path "/> is <see langword="null"/>.</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamReader.CurrentEncoding"/> property to <see cref="T:System.Text.UTF8Encoding"/> , and the internal buffer to the default size.
      <block subset="none" type="note">The default buffer size is implementation
      defined.</block>
							</para>
							<para> If requested, the current constructor
      detects the encoding by examining the first three bytes of the stream.
      The constructor automatically recognizes UTF-8, little-endian Unicode, and
      big-endian Unicode text if the file starts with the appropriate byte order marks.
      Otherwise, UTF-8 encoding is used. See the <see cref="M:System.Text.Encoding.GetPreamble" qualify="true"/>
      method for more information.</para>
							<block subset="none" type="note">
								<para>
									<paramref name="path"/> is not required to be a
      file stored on disk; it can be any part of a system that supports access via
      streams. For example, depending on the system, this class may be able to access
      a physical device.</para>
								<para>For information on the valid format and characters for
      path strings, see <see cref="T:System.IO.Path"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path)"/>
					<MemberSignature Language="C#" Value="public StreamReader(string path);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamReader"/> class for the specified file name.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> that specifies the complete file path to read.</param>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is in an invalid format or contains invalid characters.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.IO.FileNotFoundException">The file specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/> is an empty string ("").</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path "/> is <see langword="null"/>.</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamReader.CurrentEncoding"/> property to <see cref="T:System.Text.UTF8Encoding"/>, and
   the internal buffer to the default size. <block subset="none" type="note">The default buffer size is implementation defined.</block>
							</para>
							<block subset="none" type="note">
								<para>
									<paramref name="path"/> is not required to be
   a file stored on disk; it can be any part of a system that supports access via
   streams. For example, depending on the system, this class may be able to access
   a physical device.</para>
								<para> For information on the valid format and characters for
   path strings, see <see cref="T:System.IO.Path"/> . </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.IO.Stream stream, class System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks, int32 bufferSize)"/>
					<MemberSignature Language="C#" Value="public StreamReader(Stream stream, Encoding encoding, bool detectEncodingFromByteOrderMarks, int bufferSize);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="stream" Type="System.IO.Stream"/>
						<Parameter Name="encoding" Type="System.Text.Encoding"/>
						<Parameter Name="detectEncodingFromByteOrderMarks" Type="System.Boolean"/>
						<Parameter Name="bufferSize" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamReader"/> class for the specified stream, with the specified character encoding, byte order mark
   detection option, and buffer size.</para>
						</summary>
						<param name="stream">The <see cref="T:System.IO.Stream"/> to read.</param>
						<param name="encoding">A <see cref="T:System.Text.Encoding"/> that specifies the character encoding to use.</param>
						<param name="detectEncodingFromByteOrderMarks">A <see cref="T:System.Boolean"/> value that indicates whether the new <see cref="T:System.IO.StreamReader"/> is required to look for byte order marks at the beginning of the stream. Specify <see langword="true"/> to enable detection of byte order marks; otherwise, specify <see langword="false"/> .</param>
						<param name="bufferSize">A <see cref="T:System.Int32"/> that specifies the minimum buffer size, in number of 16-bit characters. If <paramref name="bufferSize"/> is less than the minimum allowable size (128 characters), the minimum allowable size is used.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="stream"/> does not support reading.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="stream "/>or <paramref name="encoding"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="bufferSize "/>is less than or equal to zero.</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamReader.CurrentEncoding"/> property using
<paramref name="encoding"/> parameter the <see cref="P:System.IO.StreamReader.BaseStream"/> property using <paramref name="stream "/> .</para>
							<para>If requested, this constructor detects the encoding by examining
   the first three bytes of the stream. The constructor automatically recognizes UTF-8,
   little-endian Unicode, and big-endian Unicode text if the
   file starts with the appropriate byte order marks. Otherwise, the user-provided encoding is
   used. For more information, see the <see cref="M:System.Text.Encoding.GetPreamble" qualify="true"/> method.</para>
							<para>
								<block subset="none" type="note">When reading from a <see cref="T:System.IO.Stream"/>, it is more
efficient to use a buffer that is the same size as the internal buffer of the
stream.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.IO.Stream stream, class System.Text.Encoding encoding, bool detectEncodingFromByteOrderMarks)"/>
					<MemberSignature Language="C#" Value="public StreamReader(Stream stream, Encoding encoding, bool detectEncodingFromByteOrderMarks);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="stream" Type="System.IO.Stream"/>
						<Parameter Name="encoding" Type="System.Text.Encoding"/>
						<Parameter Name="detectEncodingFromByteOrderMarks" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamReader"/> class for the specified stream, with the specified character encoding and byte order mark detection option.</para>
						</summary>
						<param name="stream">The <see cref="T:System.IO.Stream"/> to read.</param>
						<param name="encoding">A <see cref="T:System.Text.Encoding"/> that specifies the character encoding to use.</param>
						<param name="detectEncodingFromByteOrderMarks">A <see cref="T:System.Boolean"/> value that indicates whether the new <see cref="T:System.IO.StreamReader"/> is required to look for byte order marks at the beginning of the stream. Specify <see langword="true"/> to enable detection of byte order marks; otherwise, specify <see langword="false"/> .</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="stream"/> does not support reading.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="stream "/>or <paramref name="encoding"/> is <see langword="null"/> .</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamReader.CurrentEncoding"/> property using
<paramref name="encoding"/> , the <see cref="P:System.IO.StreamReader.BaseStream"/> property using <paramref name="stream "/> , and the internal buffer to the default size. 
      <block subset="none" type="note">The default buffer size is implementation
      defined.</block>
							</para>
							<para>If requested, this constructor detects the encoding
      by examining the first three bytes of <paramref name="stream"/>
      . This constructor
      automatically recognizes UTF-8, little-endian Unicode, and big-endian Unicode text if the stream starts
      with the appropriate byte order marks. Otherwise, the user-provided encoding is
      used. See the <see cref="M:System.Text.Encoding.GetPreamble" qualify="true"/> method for more information.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.IO.Stream stream)"/>
					<MemberSignature Language="C#" Value="public StreamReader(Stream stream);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="stream" Type="System.IO.Stream"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamReader"/> class for the specified stream.</para>
						</summary>
						<param name="stream">The <see cref="T:System.IO.Stream"/> to read.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="stream"/> does not support reading.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="stream"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamReader.CurrentEncoding"/> property to <see cref="T:System.Text.UTF8Encoding"/>, the <see cref="P:System.IO.StreamReader.BaseStream"/> property using <paramref name="stream    "/> , and the internal buffer to the default size.
   <block subset="none" type="note">The default buffer size is implementation
      dependent.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.IO.Stream stream, bool detectEncodingFromByteOrderMarks)"/>
					<MemberSignature Language="C#" Value="public StreamReader(Stream stream, bool detectEncodingFromByteOrderMarks);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="stream" Type="System.IO.Stream"/>
						<Parameter Name="detectEncodingFromByteOrderMarks" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamReader"/> class for the specified stream, with the specified
   byte order mark detection option.</para>
						</summary>
						<param name="stream">The <paramref name="stream "/> to read.</param>
						<param name="detectEncodingFromByteOrderMarks">A <see cref="T:System.Boolean"/> value that indicates whether the new <see cref="T:System.IO.StreamReader"/> is required to look for byte order marks at the beginning of the stream. Specify <see langword="true"/> to enable detection of byte order marks; otherwise, specify <see langword="false"/> .</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="stream"/> does not support reading.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="stream "/> is <see langword="null"/>.</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamReader.CurrentEncoding"/> property to <see cref="T:System.Text.UTF8Encoding"/> , the <see cref="P:System.IO.StreamReader.BaseStream"/> property using <paramref name="stream    "/>, and the internal buffer to the default size.
      <block subset="none" type="note">The default buffer size is implementation
      defined.</block>
							</para>
							<para>If requested, the current constructor detects the encoding by
      examining the first three bytes of the stream. The constructor automatically recognizes
      UTF-8, little-endian Unicode, and big-endian Unicode text if
      the file starts with the appropriate byte order marks. Otherwise, UTF-8 encoding is
      used. For more information, see the <see cref="M:System.Text.Encoding.GetPreamble" qualify="true"/> method.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.IO.Stream stream, class System.Text.Encoding encoding)"/>
					<MemberSignature Language="C#" Value="public StreamReader(Stream stream, Encoding encoding);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="stream" Type="System.IO.Stream"/>
						<Parameter Name="encoding" Type="System.Text.Encoding"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamReader"/>
class for the specified stream with the specified character encoding.</para>
						</summary>
						<param name="stream">The <see cref="T:System.IO.Stream"/> to read.</param>
						<param name="encoding">A <see cref="T:System.Text.Encoding"/> that specifies the character encoding to use.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="stream"/> does not support reading.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="stream "/> or <paramref name="encoding"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamReader.CurrentEncoding"/> property using <paramref name="encoding"/> , the <see cref="P:System.IO.StreamReader.BaseStream"/> property using <paramref name="stream    "/>
   , and the internal buffer to the default size. <block subset="none" type="note">The default buffer size is implementation defined.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BaseStream">
					<MemberSignature Language="ILASM" Value=".property class System.IO.Stream BaseStream { public hidebysig virtual specialname class System.IO.Stream get_BaseStream() }"/>
					<MemberSignature Language="C#" Value="public virtual Stream BaseStream { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.Stream</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the underlying stream.</para>
						</summary>
						<value>
							<para>The underlying <see cref="T:System.IO.Stream"/> which the current <see cref="T:System.IO.StreamReader"/> instance is reading.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Close">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Close()"/>
					<MemberSignature Language="C#" Value="public override void Close();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Closes the current instance of <see cref="T:System.IO.StreamReader"/>
, releasing any system resources associated with it.</para>
						</summary>
						<remarks>
							<para> Following a call to this method, operations on the current instance might raise exceptions.</para>
							<block subset="none" type="note">
								<para>This version of <see cref="M:System.IO.StreamReader.Close"/> is equivalent to <see cref="M:System.IO.StreamReader.Dispose(System.Boolean)"/>(<see langword="true"/>).</para>
								<para>This method overrides <see cref="M:System.IO.TextReader.Close" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CurrentEncoding">
					<MemberSignature Language="ILASM" Value=".property class System.Text.Encoding CurrentEncoding { public hidebysig virtual specialname class System.Text.Encoding get_CurrentEncoding() }"/>
					<MemberSignature Language="C#" Value="public virtual Encoding CurrentEncoding { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.Encoding</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the current character encoding that the current
   <see cref="T:System.IO.StreamReader"/> is
      using.</para>
						</summary>
						<value>
   The current <see cref="T:System.Text.Encoding"/> used by the current reader.
</value>
						<remarks>
							<para>This property is read-only.</para>
							<para> The value returned
      by this property might change after the first call to a <see cref="M:System.IO.StreamReader.Read" qualify="true"/>
      method if encoding auto detection was specified to the constructor for the
      current instance.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DiscardBufferedData">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void DiscardBufferedData()"/>
					<MemberSignature Language="C#" Value="public void DiscardBufferedData();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Allows a <see cref="T:System.IO.StreamReader"/>
to discard its buffered data.</para>
						</summary>
						<remarks>
							<para>
								<block subset="none" type="note">This method is useful when reading from a stream after seeking
      to a new position. If this method is not called and the internal
      buffer is not empty, a read attempt at the new location will first
      return data that is in the buffer before returning the text at the current
      position in the stream.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Dispose">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Dispose(bool disposing)"/>
					<MemberSignature Language="C#" Value="protected override void Dispose(bool disposing);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="disposing" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Releases the unmanaged resources used by the <see cref="T:System.IO.StreamReader"/> and
   optionally releases the managed resources.</para>
						</summary>
						<param name="disposing">
							<see langword="true"/> to release both managed and unmanaged resources; <see langword="false"/> to release only unmanaged resources.</param>
						<remarks>
							<para>When the <paramref name="disposing"/> parameter is <see langword="true"/>, this method
   releases all resources held by any managed objects that this <see cref="T:System.IO.StreamReader"/>
   references. This method invokes the <see langword="Dispose()"/> method of each
   referenced object.</para>
							<block subset="none" type="note">
								<para>
									<see cref="M:System.IO.StreamReader.Dispose(System.Boolean)"/> may be called multiple
   times by other objects. When overriding <see cref="M:System.IO.StreamReader.Dispose(System.Boolean)"/>(<see cref="T:System.Boolean"/>), be careful not
   to reference objects that have been previously disposed in an earlier call to
<see cref="M:System.IO.StreamReader.Dispose(System.Boolean)"/> .</para>
								<para>This method calls the dispose method of the base class, <see cref="M:System.IO.TextReader.Dispose(System.Boolean)"/>(<paramref name="disposing"/>).</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Peek">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Peek()"/>
					<MemberSignature Language="C#" Value="public override int Peek();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the next character in the underlying stream
      without advancing the position of the <see cref="T:System.IO.StreamReader"/>
      in the stream.</para>
						</summary>
						<returns>
							<para> The next character from the character source
      as a <see cref="T:System.Int32"/> , or -1 if at the end of the
      stream.</para>
						</returns>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This method returns -1 is when the end of the underlying stream is reached
         because a Unicode character can contain only values between hexadecimal 0x0000
         to 0xFFFF (0 to 65535).</para>
								<para>This method overrides <see cref="M:System.IO.TextReader.Peek" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Read()"/>
					<MemberSignature Language="C#" Value="public override int Read();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Reads the next
      character from the input stream
      and advances the character position by one character.</para>
						</summary>
						<returns>
							<para>The next character from the character source represented
      as a <see cref="T:System.Int32"/> , or -1 if at the end
      of the stream.</para>
						</returns>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This method returns -1 is when the end of the underlying stream is reached
         because a Unicode character can contain only values between hexadecimal 0x0000
         to 0xFFFF (0 to 65535).</para>
								<para>This method overrides <see cref="M:System.IO.TextReader.Read" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Read(class System.Char[] buffer, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public override int Read(char[] buffer, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Reads a maximum of <paramref name="count "/>
characters from the current stream into <paramref name="buffer"/>,
beginning at <paramref name="index"/>.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Char"/> array. When this method returns, contains the specified character array with the values between <paramref name="index"/> and <paramref name="(index + count - 1)"/> replaced by the characters read from the current instance.</param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the index of <paramref name="buffer"/> at which to begin writing.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the maximum number of characters to read.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the number of characters that have been read, or zero if
   there are no more characters left to read. Can be less than <paramref name="count"/>
   if the end
   of the stream has been reached.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="buffer"/> .Length - <paramref name="index"/> &lt; <paramref name="count"/> .</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> or <paramref name="count"/> is negative.</exception>
						<exception cref="T:System.IO.IOException">
							<para> An I/O error occurred</para>
							<para> -or-</para>
							<para> the current stream is closed.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This method returns after either <paramref name="count"/> characters are
      read, or the end of the file is reached. <see cref="M:System.IO.TextReader.ReadBlock(System.Char[],System.Int32,System.Int32)"/> is a blocking
      version of <see cref="M:System.IO.StreamReader.Read"/> .</para>
								<para>This method overrides <see cref="M:System.IO.TextReader.Read" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string ReadLine()"/>
					<MemberSignature Language="C#" Value="public override string ReadLine();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Reads a line of characters from the current stream and returns
      the data as a string.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> containing the next line from the input stream, or
<see langword="null"/> if the end of the input
   stream is reached.</para>
						</returns>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.OutOfMemoryException">There is insufficient memory to allocate a buffer for the returned string.</exception>
						<remarks>
							<block subset="none" type="note">
								<para> This method defines a line as a sequence of
         characters followed by a carriage return (hexadecimal 0x000d), a line feed (hexadecimal 0x000a), or <see cref="P:System.Environment.NewLine" qualify="true"/>. The returned string does not contain the terminating
         character(s).</para>
								<para>This method overrides <see cref="M:System.IO.TextReader.ReadLine"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadToEnd">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string ReadToEnd()"/>
					<MemberSignature Language="C#" Value="public override string ReadToEnd();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Reads the stream from the current position to the
      end of the stream.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the rest of the stream as a string, from the current
   position to the end. If the current position is at the end of the stream, returns the empty string ("").</para>
						</returns>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.OutOfMemoryException">There is insufficient memory to allocate a buffer for the returned string.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.IO.TextReader.ReadToEnd" qualify="true"/>
   .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="StreamWriter" FullName="System.IO.StreamWriter" FullNameSP="System_IO_StreamWriter">
			<TypeSignature Language="ILASM" Value=".class public serializable StreamWriter extends System.IO.TextWriter"/>
			<TypeSignature Language="C#" Value="public class StreamWriter : TextWriter"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Implements a <see cref="T:System.IO.Stream"/> wrapper that writes
   characters to a stream in a particular encoding.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.IO.StreamWriter"/> class is designed for character output in a particular
<see cref="T:System.Text.Encoding"/>, 
   whereas subclasses of <see cref="T:System.IO.Stream"/> are designed for byte
   input and output.</para>
					<para>
						<see cref="T:System.IO.StreamWriter"/> defaults to using an instance of <see cref="T:System.Text.UTF8Encoding"/> unless specified 
otherwise. This instance of <see cref="T:System.Text.UTF8Encoding"/> is constructed such that the <see cref="M:System.Text.Encoding.GetPreamble" qualify="true"/> method returns
the Unicode byte order mark written in UTF-8. The preamble of the encoding is
added to a stream when you are not appending to an existing stream. This means
any text file you create with <see cref="T:System.IO.StreamWriter"/> has three byte order marks at
its beginning. UTF-8
handles all Unicode characters correctly and gives consistent results on
localized versions of the operating system. </para>
					<para>
						<block subset="none" type="note">By default, 
<see cref="T:System.IO.StreamWriter"/> is not thread safe. For a thread-safe wrapper, see <see cref="M:System.IO.TextWriter.Synchronized(System.IO.TextWriter)" qualify="true"/>
.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.IO.TextWriter</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IDisposable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, bool append, class System.Text.Encoding encoding, int32 bufferSize)"/>
					<MemberSignature Language="C#" Value="public StreamWriter(string path, bool append, Encoding encoding, int bufferSize);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="append" Type="System.Boolean"/>
						<Parameter Name="encoding" Type="System.Text.Encoding"/>
						<Parameter Name="bufferSize" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamWriter"/>
class for the specified file on
the specified path, using the specified encoding and buffer size.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> that specifies the complete file path to write to.</param>
						<param name="append">A <see cref="T:System.Boolean"/> value that determines whether data is to be appended to the file. If the file exists and <paramref name="append "/>is <see langword="false"/>, the file is overwritten. If the file exists and <paramref name="append "/>is <see langword="true"/>, the data is appended to the file. Otherwise, a new file is created.</param>
						<param name="encoding">A <see cref="T:System.Text.Encoding"/> that specifies the character encoding to use.</param>
						<param name="bufferSize">A <see cref="T:System.Int32"/> that specifies the buffer size.</param>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is in an invalid format or contains invalid characters.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/> is an empty string ("").</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path"/> or <paramref name="encoding"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="bufferSize "/> is negative.</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
						<exception cref="T:System.UnauthorizedAccessException">Access to <paramref name="path"/> is denied.</exception>
						<remarks>
							<para>If the specified file exists, it can be either overwritten or appended to. If
      the file does not exist, this constructor creates a new file.</para>
							<para>This constructor initializes the <see cref="P:System.IO.StreamWriter.Encoding"/> property using
<paramref name="encoding"/> . For additional information, see <see cref="P:System.IO.TextWriter.Encoding"/>.</para>
							<block subset="none" type="note">
								<para>
									<paramref name="path"/> is not required to be a file stored on disk; it can be any part 
   of a system that supports access via streams. For example, depending on the
   system, this class may be able to access a physical device.</para>
								<para>For information on the valid format and characters for path strings, see 
<see cref="T:System.IO.Path"/> . </para>
							</block>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission for reading and writing files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>
						</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, bool append, class System.Text.Encoding encoding)"/>
					<MemberSignature Language="C#" Value="public StreamWriter(string path, bool append, Encoding encoding);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="append" Type="System.Boolean"/>
						<Parameter Name="encoding" Type="System.Text.Encoding"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamWriter"/>
class for the specified file on
the specified path, using the specified encoding and default buffer size.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> that specifies the complete file path to write to.</param>
						<param name="append">A <see cref="T:System.Boolean"/> value that determines whether data is to be appended to the file. If the file exists and <paramref name="append "/>is <see langword="false"/>, the file is overwritten. If the file exists and <paramref name="append "/>is <see langword="true"/>, the data is appended to the file. Otherwise, a new file is created.</param>
						<param name="encoding">A <see cref="T:System.Text.Encoding"/> that specifies the character encoding to use.</param>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is in an invalid format or contains invalid characters.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.UnauthorizedAccessException">Access to <paramref name="path"/> is denied.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is an empty string ("").</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
						<remarks>
							<para>If the specified file exists, it can be either overwritten or appended to. If
      the file does not exist, this constructor creates a new file.</para>
							<para>This constructor initializes the <see cref="P:System.IO.StreamWriter.Encoding"/> property using
<paramref name="encoding"/> . For additional information, see <see cref="P:System.IO.TextWriter.Encoding"/>.</para>
							<block subset="none" type="note">
								<para>
									<paramref name="path"/> is not required to be a file stored on disk;
   it can be any part of a system that supports access via streams. For example,
   depending on the system, this class may be able to access a physical device.</para>
								<para>For information on the valid format and characters for path strings, see 
<see cref="T:System.IO.Path"/> .</para>
								<para>The default buffer size may typically be around 4 KB.</para>
							</block>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission for reading and writing files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>
						</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path, bool append)"/>
					<MemberSignature Language="C#" Value="public StreamWriter(string path, bool append);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
						<Parameter Name="append" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamWriter"/>
class for the specified file on
the specified path, using the default encoding and buffer size.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> that specifies the complete file path to write to.</param>
						<param name="append">A <see cref="T:System.Boolean"/> value that determines whether data is to be appended to the file. If the file exists and <paramref name="append "/>is <see langword="false"/>, the file is overwritten. If the file exists and <paramref name="append "/>is <see langword="true"/>, the data is appended to the file. Otherwise, a new file is created.</param>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is in an invalid format or contains invalid characters.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.UnauthorizedAccessException">Access to <paramref name="path"/> is denied.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is an empty string ("").</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamWriter.Encoding"/>
property to <see cref="T:System.Text.UTF8Encoding"/> whose <see cref="M:System.Text.Encoding.GetPreamble"/> method returns an empty
byte array. For additional information, see <see cref="P:System.IO.TextWriter.Encoding"/> .</para>
							<para>If the specified file exists, it can be either overwritten or appended to. If
   the file does not exist, this constructor creates a new file.</para>
							<block subset="none" type="note">
								<para>
									<paramref name="path"/> is not required to be a file stored on disk;
   it can be any part of a system that supports access via streams. For example,
   depending on the system, this class may be able to access a physical device.</para>
								<para>For information on the valid format and characters for path strings, see 
<see cref="T:System.IO.Path"/> .</para>
								<para>The default buffer size may typically be around 4 KB.</para>
							</block>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission for reading and writing files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>
						</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.IO.Stream stream)"/>
					<MemberSignature Language="C#" Value="public StreamWriter(Stream stream);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="stream" Type="System.IO.Stream"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamWriter"/> class for the specified stream, using the default
   encoding and buffer size.</para>
						</summary>
						<param name="stream">The <see cref="T:System.IO.Stream"/> to write to.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="stream "/>does not support writing.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="stream "/> is <see langword="null"/>.</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamWriter.Encoding"/> property to a <see cref="T:System.Text.UTF8Encoding"/> whose <see cref="M:System.Text.Encoding.GetPreamble"/> method returns an empty
   byte array. For additional information,
   see <see cref="P:System.IO.TextWriter.Encoding"/>
   . The <see cref="P:System.IO.StreamWriter.BaseStream"/> property is initialized using
<paramref name="stream"/> .</para>
							<para>
								<block subset="none" type="note">The default buffer size may typically be
   around 4 KB.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.IO.Stream stream, class System.Text.Encoding encoding)"/>
					<MemberSignature Language="C#" Value="public StreamWriter(Stream stream, Encoding encoding);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="stream" Type="System.IO.Stream"/>
						<Parameter Name="encoding" Type="System.Text.Encoding"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamWriter"/>
class for the specified stream, using the specified
encoding and the default buffer size.</para>
						</summary>
						<param name="stream">The <see cref="T:System.IO.Stream"/> to write to.</param>
						<param name="encoding">A <see cref="T:System.Text.Encoding"/> that specifies the character encoding to use.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="stream "/> or <paramref name="encoding "/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="stream"/> does not support writing.</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamWriter.Encoding"/> property using <paramref name="encoding"/> , and the <see cref="P:System.IO.StreamWriter.BaseStream"/> property
   using <paramref name="stream"/> . For additional information, see <see cref="P:System.IO.TextWriter.Encoding"/>.</para>
							<para>
								<block subset="none" type="note">The default buffer size may typically be
   around 4 KB.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.IO.Stream stream, class System.Text.Encoding encoding, int32 bufferSize)"/>
					<MemberSignature Language="C#" Value="public StreamWriter(Stream stream, Encoding encoding, int bufferSize);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="stream" Type="System.IO.Stream"/>
						<Parameter Name="encoding" Type="System.Text.Encoding"/>
						<Parameter Name="bufferSize" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamWriter"/>
class for the specified stream, using the specified
encoding and buffer size.</para>
						</summary>
						<param name="stream">The <see cref="T:System.IO.Stream"/> to write to.</param>
						<param name="encoding">A <see cref="T:System.Text.Encoding"/> that specifies the character encoding to use.</param>
						<param name="bufferSize">A <see cref="T:System.Int32"/> that specifies the buffer size.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="stream "/> or <paramref name="encoding "/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="bufferSize "/> is negative.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="stream"/> does not support writing.</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamWriter.Encoding"/> property using
<paramref name="encoding"/> , and the <see cref="P:System.IO.StreamWriter.BaseStream"/> property using <paramref name="stream"/> . For additional information, see <see cref="P:System.IO.TextWriter.Encoding"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string path)"/>
					<MemberSignature Language="C#" Value="public StreamWriter(string path);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="path" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StreamWriter"/> class for the specified file on the specified path, using the default encoding and
   buffer size.</para>
						</summary>
						<param name="path">A <see cref="T:System.String"/> that specifies the complete file path to write to.</param>
						<exception cref="T:System.IO.IOException">
							<paramref name="path"/> is in an invalid format or contains invalid characters.</exception>
						<exception cref="T:System.IO.DirectoryNotFoundException">The directory information specified in <paramref name="path"/> was not found.</exception>
						<exception cref="T:System.UnauthorizedAccessException">Access to <paramref name="path"/> is denied.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="path "/>is an empty string ("").</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="path "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have the required permission.</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.IO.StreamWriter.Encoding"/> property to 
   a <see cref="T:System.Text.UTF8Encoding"/> whose <see cref="M:System.Text.Encoding.GetPreamble"/> method returns an empty
   byte array. For additional information, see <see cref="P:System.IO.TextWriter.Encoding"/> .</para>
							<block subset="none" type="note">
								<para>
									<paramref name="path"/> is not required to be a file stored on disk;
   it can be any part of a system that supports access via streams. For example,
   depending on the system, this class may be able to access a
   physical device.</para>
								<para>For information on the valid format and characters for 
   path strings, see <see cref="T:System.IO.Path"/>
   .</para>
								<para>The default buffer size may typically be around 4 KB.</para>
							</block>
						</remarks>
						<permission cref="T:System.Security.Permissions.FileIOPermission">Requires permission for reading and writing files. See <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Read" qualify="true"/>, <see cref="F:System.Security.Permissions.FileIOPermissionAccess.Write" qualify="true"/>
						</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AutoFlush">
					<MemberSignature Language="ILASM" Value=".property bool AutoFlush { public hidebysig virtual specialname bool get_AutoFlush() public hidebysig virtual specialname void set_AutoFlush(bool value) }"/>
					<MemberSignature Language="C#" Value="public virtual bool AutoFlush { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets a <see cref="T:System.Boolean"/> value indicating whether the
   current <see cref="T:System.IO.StreamWriter"/> will flush its buffer to the
   underlying stream after every call to <see cref="M:System.IO.StreamWriter.Write(System.Char)" qualify="true"/>.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> to force
<see cref="T:System.IO.StreamWriter"/> to flush its
   buffer; otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>The <see cref="T:System.IO.StreamWriter"/> will do a limited amount of buffering, both
   internally and potentially in the encoder from the encoding you passed in. If
<see cref="P:System.IO.StreamWriter.AutoFlush"/> 
is set to <see langword="false"/>, the data will
be flushed into the underlying stream only when the buffer is full, or when
<see cref="M:System.IO.StreamWriter.Dispose(System.Boolean)"/>(<see langword="true"/>) or <see cref="M:System.IO.StreamWriter.Close"/> 
is called.</para>
							<para> Setting <see cref="P:System.IO.StreamWriter.AutoFlush"/> to
<see langword="true"/> forces <see cref="T:System.IO.StreamWriter"/> to flush the buffered data out of the 
encoder and call <see cref="M:System.IO.StreamWriter.Flush"/> on the
stream every time <see cref="M:System.IO.StreamWriter.Write(System.Char)"/>
is called.</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BaseStream">
					<MemberSignature Language="ILASM" Value=".property class System.IO.Stream BaseStream { public hidebysig virtual specialname class System.IO.Stream get_BaseStream() }"/>
					<MemberSignature Language="C#" Value="public virtual Stream BaseStream { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.Stream</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the underlying
      stream.</para>
						</summary>
						<value>
							<para>The <see cref="T:System.IO.Stream"/> the current <see cref="T:System.IO.StreamWriter"/> instance
   is writing to.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Close">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Close()"/>
					<MemberSignature Language="C#" Value="public override void Close();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Closes the current <see cref="T:System.IO.StreamWriter"/>
and the underlying stream.</para>
						</summary>
						<remarks>
							<para> This method calls <see cref="M:System.IO.StreamWriter.Flush"/>
, writing buffered data to the underlying stream. Following a call to <see cref="M:System.IO.StreamWriter.Close"/>, any operations on the current instance
might raise exceptions.</para>
							<block subset="none" type="note">
								<para>This version of <see cref="M:System.IO.StreamWriter.Close"/> is equivalent to <see cref="M:System.IO.StreamWriter.Dispose(System.Boolean)"/>(<see langword="true"/>).</para>
								<para>This method overrides <see cref="M:System.IO.Stream.Close" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Dispose">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Dispose(bool disposing)"/>
					<MemberSignature Language="C#" Value="protected override void Dispose(bool disposing);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="disposing" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Releases the unmanaged resources used by the <see cref="T:System.IO.StreamWriter"/> and
   optionally releases the managed resources.</para>
						</summary>
						<param name="disposing">
							<see langword="true"/> to release both managed and unmanaged resources; <see langword="false"/> to release only unmanaged resources.</param>
						<remarks>
							<para>When the <paramref name="disposing"/> parameter is <see langword="true"/>, this method
   releases all resources held by any managed objects that this <see cref="T:System.IO.StreamWriter"/>
   references. This method invokes the <see langword="Dispose()"/> method of each
   referenced object.</para>
							<block subset="none" type="note">
								<para>
									<see cref="M:System.IO.StreamWriter.Dispose(System.Boolean)"/> may be called multiple
   times by other objects. When overriding <see cref="M:System.IO.StreamWriter.Dispose(System.Boolean)"/>(<see cref="T:System.Boolean"/>), be careful not
   to reference objects that have been previously disposed in an earlier call to
<see cref="M:System.IO.StreamWriter.Dispose(System.Boolean)"/>.</para>
								<para>This method calls the dispose method of the base class, <see cref="M:System.IO.TextWriter.Dispose(System.Boolean)"/>
									<see langword="("/>
									<paramref name="disposing"/>
									<see langword=")"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Encoding">
					<MemberSignature Language="ILASM" Value=".property class System.Text.Encoding Encoding { public hidebysig virtual specialname class System.Text.Encoding get_Encoding() }"/>
					<MemberSignature Language="C#" Value="public override Encoding Encoding { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.Encoding</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the <see cref="T:System.Text.Encoding"/> in which the output is written.</para>
						</summary>
						<value>
							<para>The <see cref="T:System.Text.Encoding"/> specified in
   the constructor for the current instance, or <see cref="T:System.Text.UTF8Encoding"/>
   if an encoding was not
   specified.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note">This property overrides the <see cref="P:System.IO.TextWriter.Encoding"/> 
property.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="usage">This property is required in some XML
   scenarios where a header must be written containing the encoding used by the
<see cref="T:System.IO.StreamWriter"/>.
   This allows XML code to consume an arbitrary <see cref="T:System.IO.StreamWriter"/> and generate a correct XML
   header.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Finalize">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Finalize()"/>
					<MemberSignature Language="C#" Value="~StreamWriter();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Releases resources held by the current instance.</para>
						</summary>
						<remarks>
							<block subset="none" type="note">
								<para>Application code does not call this 
         method; it is automatically invoked by during garbage collection unless
         finalization by the garbage collector has been disabled. For more information,
         see <see cref="M:System.GC.SuppressFinalize(System.Object)"/>, and <see cref="M:System.Object.Finalize"/>.</para>
								<para> This method overrides <see cref="M:System.Object.Finalize"/> . </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Flush">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Flush()"/>
					<MemberSignature Language="C#" Value="public override void Flush();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Clears all buffers for the current writer and causes any buffered
      data to be written to the underlying stream.</para>
						</summary>
						<exception cref="T:System.ObjectDisposedException">The current writer is closed.</exception>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.TextWriter.Flush" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public override void Write(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a character to the stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> to write to the underlying stream.</param>
						<exception cref="T:System.NotSupportedException">
							<see cref="P:System.IO.StreamWriter.AutoFlush"/> is <see langword="true"/> or the <see cref="T:System.IO.StreamWriter"/> buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the <see cref="T:System.IO.StreamWriter"/> is at the end the stream.</exception>
						<exception cref="T:System.ObjectDisposedException">The current writer is closed.</exception>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para> The specified character is written to the underlying stream unless the end
      of the stream is reached prematurely. </para>
							<para>If <see cref="P:System.IO.StreamWriter.AutoFlush"/> is <see langword="true"/>, <see cref="M:System.IO.StreamWriter.Flush"/> is
   invoked automatically.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(class System.Char[] buffer)"/>
					<MemberSignature Language="C#" Value="public override void Write(char[] buffer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a character array to the underlying stream.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Char"/> array containing the data to write. If <paramref name="buffer"/> is <see langword="null"/>, nothing is written.</param>
						<exception cref="T:System.NotSupportedException">
							<see cref="P:System.IO.StreamWriter.AutoFlush"/> is <see langword="true"/> or the <see cref="T:System.IO.StreamWriter"/> buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the <see cref="T:System.IO.StreamWriter"/> is at the end the stream.</exception>
						<exception cref="T:System.ObjectDisposedException">The current writer is closed.</exception>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>The specified characters are written to the underlying stream unless the end
      of the stream is reached prematurely. </para>
							<para>If <see cref="P:System.IO.StreamWriter.AutoFlush"/> is <see langword="true"/>, <see cref="M:System.IO.StreamWriter.Flush"/> is
   invoked automatically.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(class System.Char[] buffer, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public override void Write(char[] buffer, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a sub-array of characters to the underlying stream.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Char"/> array containing the data to write.</param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the index into <paramref name="buffer "/> at which to begin writing.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of characters to read from <paramref name="buffer"/>.</param>
						<exception cref="T:System.ArgumentException">buffer.Length - <paramref name="index "/> &lt; <paramref name="count"/>.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> or <paramref name="count"/> is negative.</exception>
						<exception cref="T:System.NotSupportedException">
							<see cref="P:System.IO.StreamWriter.AutoFlush"/> is <see langword="true"/> or the <see cref="T:System.IO.StreamWriter"/> buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the <see cref="T:System.IO.StreamWriter"/> is at the end the stream.</exception>
						<exception cref="T:System.ObjectDisposedException">The current writer is closed.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para> The specified
      characters are written to the underlying stream unless the end of the stream is
      reached prematurely. <see langword=""/>
							</para>
							<para>If <see cref="P:System.IO.StreamWriter.AutoFlush"/> is <see langword="true"/>, <see cref="M:System.IO.StreamWriter.Flush"/> is
   invoked automatically.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(string value)"/>
					<MemberSignature Language="C#" Value="public override void Write(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a string to the stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to write to the stream. If <paramref name="value "/>is <see langword="null"/>, nothing is written.</param>
						<exception cref="T:System.NotSupportedException">
							<see cref="P:System.IO.StreamWriter.AutoFlush"/> is <see langword="true"/> or the <see cref="T:System.IO.StreamWriter"/> buffer is full, and the contents of the buffer cannot be written to the underlying fixed size stream because the <see cref="T:System.IO.StreamWriter"/> is at the end the stream.</exception>
						<exception cref="T:System.ObjectDisposedException">The current writer is closed.</exception>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>The specified <see cref="T:System.String"/> is written to the underlying stream unless the end
   of the stream is reached prematurely. </para>
							<para>If <see cref="P:System.IO.StreamWriter.AutoFlush"/> is <see langword="true"/>, <see cref="M:System.IO.StreamWriter.Flush"/> is
invoked automatically.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="String" FullName="System.String" FullNameSP="System_String">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable String extends System.Object implements System.ICloneable, System.IComparable, System.Collections.IEnumerable"/>
			<TypeSignature Language="C#" Value="public sealed class String : ICloneable, IComparable, IEnumerable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents an immutable series of characters.</para>
				</summary>
				<remarks>
					<para>An <paramref name="index"/> is the position of a character within a
   string. The first character in the string is at index 0. The length of a string
   is the number of characters it is made up of. The last accessible <paramref name="index"/>
   of a string
   instance is <see cref="P:System.String.Length"/>
   - 1.</para>
					<para>Strings are immutable; once created, the contents of a
<see cref="T:System.String"/> do not change. Combining 
   operations, such as <see cref="M:System.String.Replace(System.Char,System.Char)"/>, cannot alter existing strings.
   Instead, such operations return a new string that contains the results of the
   operation, an unchanged string, or the null value. To perform modifications to a
<see cref="T:System.String"/> use the 
<see cref="T:System.Text.StringBuilder"/> 
.</para>
					<para>Implementations of <see cref="T:System.String"/> are required to contain
a variable-length character buffer positioned a fixed number of bytes after
the beginning of the String object. <block subset="none" type="note"> The <see cref="P:System.Runtime.CompilerServices.RuntimeHelpers.OffsetToStringData"/>
method returns
the number of bytes between the start of the String object and the character buffer. This
information is intended primarily for use by compilers, not application programmers. For additional information, see <see cref="P:System.Runtime.CompilerServices.RuntimeHelpers.OffsetToStringData"/>
.</block>
					</para>
					<block subset="none" type="note">
						<para>Comparisons and searches are case-sensitive by default
      and unless otherwise specified, use the culture defined for the current thread
      to determine the order of the alphabet used by the strings. This information is
      then used to compare the two strings on a character-by-character basis. Upper
      case letters evaluate greater than their lower case equivalents.</para>
						<para>The following characters are considered white space when present in a
      System.String instance: 0x9, 0xA, 0xB, 0xC, 0xD, 0x20, 0xA0, 0x2000, 0x2001,
      0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x200B,
      0x3000, and 0xFEFF.</para>
						<para>The null character is defined as hexadecimal 0x00.</para>
						<para>The <see cref="T:System.String"/>(<see cref="T:System.String"/>) constructor is
   omitted for performance reasons. If you need a copy of a <see cref="T:System.String"/>, consider using
<see cref="M:System.String.Copy(System.String)"/> or 
   the <see cref="T:System.Text.StringBuilder"/>
   class.</para>
						<para>To insert a formatted string representation of an object
   into a string use the <see cref="M:System.String.Format(System.String,System.Object)"/> methods.
   These methods take one or more arguments to be formatted and a format string.
   The format string contains literals and zero or more format
   specifications in the form { <paramref name="N"/> [, <paramref name="M"/> ][: <paramref name="formatSpecifier"/>
   ]}, where:
   </para>
						<list type="bullet">
							<item>
								<term>
									<paramref name="N"/> is a zero-based integer 
      indicating the argument to be formatted. If the actual argument is a null
      reference, then an empty string is used in its place.</term>
							</item>
							<item>
								<term>
									<paramref name="M"/> is an optional integer
      indicating the minimum width of the region to contain the formatted value of
      argument <paramref name="N"/>
      . If the length of
      the string representation of the value is less than <paramref name="M"/>, then the
      region is padded with spaces. If <paramref name="M"/> is negative, the formatted value
      is left justified in the region; if <paramref name="M"/> is positive, then the value is right
      justified. If <paramref name="M"/> is
      not specified, it is assumed to be zero indicating that neither padding nor
      alignment is customized. Note that if the length of the formatted value is
      greater than <paramref name="M"/>, then <paramref name="M"/> is ignored.</term>
							</item>
							<item>
								<term>
									<paramref name="formatSpecifier"/> is an
      optional string that determines the representation used for arguments.
      For example, an integer can be represented in hexadecimal or decimal format, or as a
      monetary value. If <paramref name="formatSpecifier"/> is
      omitted and an argument implements the <see cref="T:System.IFormattable"/> interface, then a null reference is
      used as the <see cref="M:System.IFormattable.ToString(System.String,System.IFormatProvider)"/> format specifier. Therefore, all implementations of
   <see cref="M:System.IFormattable.ToString(System.String,System.IFormatProvider)"/> are required to allow a null reference as
      a format specifier, and return a string containing the default representation
      of the object as determined by the object type. For additional information on
      format specifiers, see <see cref="T:System.IFormattable"/>
      .</term>
							</item>
						</list>
						<para>If an object referenced in the format string implements
<see cref="T:System.IFormattable"/>, 
   then the <see cref="M:System.IFormattable.ToString(System.String,System.IFormatProvider)"/> method of the object provides the formatting. If the
   argument does not implement <see cref="T:System.IFormattable"/>, then the <see cref="M:System.Object.ToString"/> method of the object provides default
   formatting, and <paramref name="formatSpecifier"/>
   , if present, is ignored.
   For an example that demonstrates this, see Example 2.</para>
						<para>To include a
   curly bracket in a formatted
   string, specify the bracket twice; for example, specify "{{" to
   include "{" in the formatted string. See Example 1.</para>
						<para>The <see cref="T:System.Console"/> class exposes the same functionality as the <see cref="M:System.String.Format(System.String,System.Object)"/> methods
via <see cref="M:System.Console.Write(System.String,System.Object)"/> and <see cref="M:System.Console.WriteLine"/>. The primary difference is that the
<see cref="M:System.String.Format(System.String,System.Object)"/> 
methods return the formatted string, while the
System.Console methods write the formatted string to a stream.</para>
					</block>
				</remarks>
				<example>
					<para>Example 1</para>
					<para>The following example demonstrates formatting numeric
      data types and inserting literal curly brackets into strings.</para>
					<code lang="C#">using System;
class StringFormatTest {
    public static void Main() {
        decimal dec = 1.99999m;
        double doub = 1.0000000001;

        string somenums = String.Format("Some formatted numbers: dec={0,15:E} doub={1,20}", dec, doub);
        Console.WriteLine(somenums);

        string curlies = "Literal curly brackets: {{ and }} and {{0}}";
        Console.WriteLine(curlies);

        object nullObject = null;
        string embeddedNull = String.Format("A null argument looks like: {0}", nullObject);
        Console.WriteLine(embeddedNull);
    }
}
   </code>
					<para>The output is</para>
					<code>
Some formatted numbers: dec=  1.999990E+000 doub=        1.0000000001
Literal curly brackets: {{ and }} and {{0}}
A null argument looks like: 
 </code>
					<para>Example 2</para>
					<para>The following example demonstrates how formatting works if <see cref="T:System.IFormattable"/> is or is
   not implemented by an argument to the <see cref="M:System.String.Format(System.String,System.Object)"/> method. Note that the format specifier
   is ignored if the argument does not implement <see cref="T:System.IFormattable"/>.</para>
					<code lang="C#">using System;
class StringFormatTest {
    public class DefaultFormatEleven {
        public override string ToString() {
            return "11 string";
        }
    }
    public class FormattableEleven:IFormattable {
        // The IFormattable ToString implementation.
        public string ToString(string format, IFormatProvider formatProvider) {
            Console.Write("[IFormattable called] ");
            return 11.ToString(format, formatProvider);
        }
        // Override Object.ToString to show that it is not called.
        public override string ToString() {
            return "Formatted 11 string";
        }
    }

    public static void Main() {
        DefaultFormatEleven def11 = new DefaultFormatEleven ();
         FormattableEleven for11 = new  FormattableEleven();
        string def11string = String.Format("{0}",def11);
        Console.WriteLine(def11string);
        // The format specifier x is ignored.
        def11string = String.Format("{0,15:x}", def11);
        Console.WriteLine(def11string);

        string form11string = String.Format("{0}",for11);
        Console.WriteLine(form11string );
        form11string = String.Format("{0,15:x}",for11);
        Console.WriteLine(form11string);
    }
}
</code>
					<para>The output is</para>
					<code>
11 string
      11 string
[IFormattable called] 11
[IFormattable called]               b
 </code>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.ICloneable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.Collections.IEnumerable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Attributes>
				<Attribute>
					<AttributeName>DefaultMemberAttribute("Chars")</AttributeName>
					<Excluded>1</Excluded>
					<ExcludedTypeName>System.Reflection.DefaultMemberAttribute</ExcludedTypeName>
					<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Char c, int32 count)"/>
					<MemberSignature Language="C#" Value="public String(char c, int count);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="c" Type="System.Char"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of <see cref="T:System.String"/>
.</para>
						</summary>
						<param name="c">A <see cref="T:System.Char"/> . </param>
						<param name=" count">A <see cref="T:System.Int32"/> containing the number of occurrences of <paramref name="c"/>. </param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="count"/> is less than zero.</exception>
						<remarks>
							<para>If the specified number is 0, <see cref="F:System.String.Empty"/> is
   created.</para>
						</remarks>
						<example>
							<para>The following example demonstrates using this constructor.</para>
							<code lang="C#">using System;

public class StringExample {
 public static void Main() {
 
 string s = new String('a', 10);

 Console.WriteLine(s);            
 }
}
   </code>
							<para>The output is</para>
							<para>
								<c>aaaaaaaaaa</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Char* value)"/>
					<MemberSignature Language="C#" Value="unsafe public String(char* value);"/>
					<MemberType>Constructor</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="value" Type="System.Char*"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of <see cref="T:System.String"/> using a specified pointer to a sequence of Unicode characters.</para>
						</summary>
						<param name="value">A pointer to a null-terminated array of Unicode characters. If <paramref name="value"/> is a null pointer, <see cref="F:System.String.Empty"/> is created.</param>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative,
      use the <see cref="T:System.String"/>(<see cref="T:System.Char"/> ) constructor.</para>
							<para>This constructor copies the sequence of Unicode characters at the specified
      pointer until a null character (hexadecimal 0x00) is reached.</para>
							<para>If the specified array is not null-terminated, the
      behavior of this constructor is system dependent. For example, such a situation
      might cause
      an access violation.</para>
							<para>
								<block subset="none" type="note"> In C# this
      constructor is defined only in the context of unmanaged code.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Char[] value)"/>
					<MemberSignature Language="C#" Value="public String(char[] value);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="value" Type="System.Char[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of <see cref="T:System.String"/>
by copying the specified array of Unicode characters.</para>
						</summary>
						<param name="value">An array of Unicode characters.</param>
						<remarks>
							<para>If the specified array is a null reference or contains
      no elements, <see cref="F:System.String.Empty"/> is created.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Char* value, int32 startIndex, int32 length)"/>
					<MemberSignature Language="C#" Value="unsafe public String(char* value, int startIndex, int length);"/>
					<MemberType>Constructor</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="value" Type="System.Char*"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of <see cref="T:System.String"/> using a specified
   pointer to a sequence of Unicode characters, the index within that sequence at
   which to start copying characters, and the number of characters to be copied to
   construct the <see cref="T:System.String"/>
   .</para>
						</summary>
						<param name="value">A pointer to an array of Unicode characters.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index within the array referenced by <paramref name="value"/> from which to start copying.</param>
						<param name="length">A <see cref="T:System.Int32"/> containing the number of characters to copy from <paramref name="value"/> to the new <see cref="T:System.String"/>. If <paramref name="length"/> is zero, <see cref="F:System.String.Empty"/> is created.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> or <paramref name="length"/> is less than zero.</para>
							<para> -or-</para>
							<para>
								<paramref name="value"/> is a null pointer and <paramref name="length"/> is not zero.</para>
						</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use the 
   <see cref="T:System.String"/>(<see cref="T:System.Char"/>, <see cref="T:System.Int32"/>, <see cref="T:System.Int32"/>) constructor. </para>
							<para>This constructor copies Unicode characters from
   <paramref name="value"/>, starting at <paramref name="startIndex"/> and ending at
      (<paramref name="startIndex"/> + <paramref name="length"/> - 1).</para>
							<para>If the specified range is outside of the memory
      allocated for the sequence of characters, the behavior of this constructor is
      system dependent. For example, such a situation might cause an access violation.</para>
							<para>
								<block subset="none" type="note"> In C# this
      constructor is defined only in the context of unmanaged code.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.SByte* value, int32 startIndex, int32 length, class System.Text.Encoding enc)"/>
					<MemberSignature Language="C#" Value="unsafe public String(sbyte* value, int startIndex, int length, Encoding enc);"/>
					<MemberType>Constructor</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="value" Type="System.SByte*"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
						<Parameter Name="enc" Type="System.Text.Encoding"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see langword="String"/> class to the value indicated by a specified pointer to an array of
   8-bit signed integers, a starting character position within that array, a
   length, and an <see langword="Encoding"/>
   object.</para>
						</summary>
						<param name="value">A pointer to a <see cref="T:System.SByte"/> array.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the starting position within <paramref name="value"/>.</param>
						<param name="length">A <see cref="T:System.Int32"/> containing the number of characters within <paramref name="value"/> to use. If <paramref name="length"/> is zero, <see cref="F:System.String.Empty"/> is created.</param>
						<param name=" enc">A <see cref="T:System.Text.Encoding"/> object that specifies how the array referenced by <paramref name="value"/> is encoded.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> or <paramref name="length"/> is less than zero.</para>
							<para>-or-</para>
							<para>
								<paramref name="value"/> is a null pointer and <paramref name="length"/> is not zero.</para>
						</exception>
						<remarks>
							<para>If <paramref name="value"/> is a
<see langword="null"/> pointer, a <see cref="F:System.String.Empty"/> instance is constructed.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Char[] value, int32 startIndex, int32 length)"/>
					<MemberSignature Language="C#" Value="public String(char[] value, int startIndex, int length);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="value" Type="System.Char[]"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of <see cref="T:System.String"/> using an array of Unicode characters, the index within array at which to start
   copying characters, and the number of characters
   to be copied.</para>
						</summary>
						<param name="value">An array of Unicode characters.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index within the array referenced by <paramref name="value"/> from which to start copying.</param>
						<param name="length">A <see cref="T:System.Int32"/> containing the number of characters to copy from the <paramref name="value"/> array. If <paramref name="length"/> is zero, <see cref="F:System.String.Empty"/> is created.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> or <paramref name="length"/> is less than zero.</para>
							<para> -or-</para>
							<para>The sum of <paramref name="startIndex"/> and <paramref name="length"/> is greater than the number of elements in <paramref name="value"/> .</para>
						</exception>
						<remarks>
							<para>This constructor copies the sequence Unicode characters
      found at <paramref name="value"/> between indexes <paramref name="startIndex"/> and
   <paramref name="startIndex"/> + <paramref name="length"/> - 1.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Chars">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Char Chars[int32 index] { public hidebysig specialname instance valuetype System.Char get_Chars(int32 index) }"/>
					<MemberSignature Language="C#" Value="public char this[int index] { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Gets the character at a specified position in the current
      instance.</para>
						</summary>
						<value>
							<para>A Unicode character at the location index in the current instance.</para>
						</value>
						<exception cref="T:System.IndexOutOfRangeException">
							<paramref name="index"/> is greater than or equal to the length of the current instance or less than zero.</exception>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<paramref name="index"/> is the position of a character within a
   string. The first character in the string is at index 0. The length of a string
   is the number of characters it is made up of. The last accessible <paramref name="index"/>
   of a string instance is its length
   - 1.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Clone">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual object Clone()"/>
					<MemberSignature Language="C#" Value="public object Clone();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a reference to the current instance of <see cref="T:System.String"/>.</para>
						</summary>
						<returns>
							<para>A reference to the current instance of <see cref="T:System.String"/>.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>
									<see cref="M:System.String.Clone"/> does not generate a new <see cref="T:System.String"/> instance. Use the <see cref="M:System.String.Copy(System.String)"/> or <see cref="M:System.String.CopyTo(System.Int32,System.Char[],System.Int32,System.Int32)"/> method to
      create a separate <see cref="T:System.String"/> object with the same
      value as the current instance.</para>
								<para>This method is implemented to support the <see cref="T:System.ICloneable"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Compare">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Compare(string strA, int32 indexA, string strB, int32 indexB, int32 length, bool ignoreCase)"/>
					<MemberSignature Language="C#" Value="public static int Compare(string strA, int indexA, string strB, int indexB, int length, bool ignoreCase);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="strA" Type="System.String"/>
						<Parameter Name="indexA" Type="System.Int32"/>
						<Parameter Name="strB" Type="System.String"/>
						<Parameter Name="indexB" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
						<Parameter Name="ignoreCase" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Compares substrings of two strings.</para>
						</summary>
						<param name="strA">The first <see cref="T:System.String"/> containing a substring to compare.</param>
						<param name="indexA">A <see cref="T:System.Int32"/> containing the starting index of the substring within <paramref name="strA"/>.</param>
						<param name="strB">The second <see cref="T:System.String"/> containing a substring to compare.</param>
						<param name="indexB">A <see cref="T:System.Int32"/> containing the starting index of the substring within <paramref name="strB"/>.</param>
						<param name="length">A <see cref="T:System.Int32"/> containing the number of characters in the substrings to compare. If <paramref name="length"/> is zero, then zero is returned.</param>
						<param name=" ignoreCase">A <see cref="T:System.Boolean"/> indicating if the comparison is case-insensitive. If <paramref name="ignoreCase"/> is <see langword="true"/>, the comparison is case-insensitive. If <paramref name="ignoreCase"/> is <see langword="false"/>, the comparison is case-sensitive, and upper case letters evaluate greater than their lower case equivalents. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of
   substrings of the two specified strings. The following table defines the
   conditions under which the returned value is a negative number, zero, or a positive
   number.</para>
							<list type="table">
								<listheader>
									<term>Value Type</term>
									<description>Condition</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>The substring in <paramref name="strA"/> is &lt; the substring
      in <paramref name="strB"/>, or <paramref name="strA"/> is a null reference.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>The substring in <paramref name="strA"/> == 
   the substring in
<paramref name="strB"/>, or both <paramref name="strA"/> and strB are null 
   references.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>The substring in <paramref name="strA"/> is &gt; the substring
   in <paramref name="strB"/>, or <paramref name="strB"/> is a null
   reference.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>The sum of <paramref name="indexA"/> and <paramref name="length"/> is greater than <paramref name="strA"/> .Length</para>
							<para> -or-</para>
							<para>The sum of <paramref name="indexB"/> and length is greater than <paramref name="strB"/> .Length</para>
							<para> -or-</para>
							<para>
								<paramref name="indexA"/>, <paramref name="indexB"/>, or <paramref name="length"/> is negative.</para>
							<para> -or-</para>
							<para>
								<paramref name="strA"/> is <see langword="null"/> and <paramref name="indexA"/> is non-zero.</para>
							<para> -or-</para>
							<para>
								<paramref name="strB"/> is <see langword="null"/> and <paramref name="indexB"/> is non-zero.</para>
						</exception>
						<remarks>
							<para>When either of the String arguments is the null reference an <see cref="T:System.ArgumentOutOfRangeException"/> shall be thrown if the corresponding index is non-zero.</para>
							<block subset="none" type="note">
								<para>The result of comparing any <see cref="T:System.String"/> (including the
      empty string) to a null reference is greater than zero. The result of comparing
      two null references is zero. Upper case letters evaluate greater than their
      lower
      case
      equivalents.</para>
								<para>The method uses the culture of the current thread to
      determine the ordering of individual characters. The two strings are compared on
      a character-by-character
      basis.</para>
							</block>
						</remarks>
						<example>
							<para>The following example demonstrates comparing substrings with and without case 
      sensitivity.</para>
							<code lang="C#">using System;
public class StringCompareExample {
 public static void Main() {
 string strA = "STRING A";
 string strB = "string b";
 int first = String.Compare( strA, strB, true );
 int second = String.Compare( strA, 0, strB, 0, 4, true );
 int third = String.Compare( strA, 0, strB, 0, 4, false );
 Console.WriteLine( "When the string 'STRING A' is compared to the string 'string b' in a case-insensitive manner, the return value is {0}.", first );
 Console.WriteLine( "When the substring 'STRI' of 'STRING A' is compared to the substring 'stri' of 'string b' in a case-insensitive manner, the return value is {0}.", second );
 Console.WriteLine( "When the substring 'STRI' of 'STRING A' is compared to the substring 'stri' of 'string b' in a case-sensitive manner, the return value is {0}.", third );
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>When the string 'STRING A' is compared to the string 'string b' in a
         case-insensitive manner, the return value is -1.</para>
								<para>When the substring 'STRI' of 'STRING A' is compared to the substring 'stri'
         of 'string b' in a case-insensitive manner, the return value is 0.</para>
								<para>When the substring 'STRI' of 'STRING A' is compared to the substring 'stri'
         of 'string b' in a case-sensitive manner, the return value is 1.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Compare">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Compare(string strA, int32 indexA, string strB, int32 indexB, int32 length)"/>
					<MemberSignature Language="C#" Value="public static int Compare(string strA, int indexA, string strB, int indexB, int length);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="strA" Type="System.String"/>
						<Parameter Name="indexA" Type="System.Int32"/>
						<Parameter Name="strB" Type="System.String"/>
						<Parameter Name="indexB" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Compares substrings of two
      strings.</para>
						</summary>
						<param name="strA">The first <see cref="T:System.String"/> to compare.</param>
						<param name="indexA">A <see cref="T:System.Int32"/> containing the starting index of the substring within <paramref name="strA"/>.</param>
						<param name="strB">The second <see cref="T:System.String"/> to compare.</param>
						<param name="indexB">A <see cref="T:System.Int32"/> containing the starting index of the substring within <paramref name="strB"/>.</param>
						<param name="length">A <see cref="T:System.Int32"/> containing the number of characters in the substrings to compare. If <paramref name="length"/> is zero, then zero is returned.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of
   substrings of the two specified strings. The following table defines the
   conditions under which the returned value is a negative number, zero, or a positive
   number.</para>
							<list type="table">
								<listheader>
									<term> Value</term>
									<description>Meaning</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>The
         substring in <paramref name="strA"/> is &lt; the substring in <paramref name="strB"/>, or
      <paramref name="strA"/> is a null reference.</description>
								</item>
								<item>
									<term> Zero</term>
									<description> The
         substring in <paramref name="strA"/> ==
         the substring in <paramref name="strB"/>, or both
      <paramref name="strA"/> and <paramref name="strB"/> are null references.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>The
         substring in <paramref name="strA"/> is &gt; the substring in <paramref name="strB"/>, or
      <paramref name="strB"/> is a null reference.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>The sum of <paramref name="indexA"/> and <paramref name="length"/> is greater than <paramref name="strA"/> .Length .</para>
							<para> -or-</para>
							<para>The sum of <paramref name="indexB"/> and <paramref name="length"/> is greater than <paramref name="strB"/> .Length .</para>
							<para> -or-</para>
							<para>
								<paramref name="indexA"/>, <paramref name="indexB"/>, or <paramref name="length"/> is negative.</para>
							<para> -or-</para>
							<para>
								<paramref name="strA"/> is <see langword="null"/> and <paramref name="indexA"/> is non-zero.</para>
							<para> -or-</para>
							<para>
								<paramref name="strB"/> is <see langword="null"/> and <paramref name="indexB"/> is non-zero.</para>
						</exception>
						<remarks>
							<para>When either of the String arguments is the null reference an <see cref="T:System.ArgumentOutOfRangeException"/> shall be thrown if the corresponding index is non-zero.</para>
							<block subset="none" type="note">
								<para>The result of comparing any <see cref="T:System.String"/> (including the empty string) to a null
      reference is greater than zero. The result of comparing two null references is
      zero. Upper case letters evaluate greater than their lower case
      equivalents.</para>
								<para>The method uses the culture of the current thread to
      determine the ordering of individual characters. The two strings are compared on a character-by-character
      basis.</para>
							</block>
						</remarks>
						<example>
							<para>The following example demonstrates comparing substrings.</para>
							<code lang="C#">using System;
public class StringCompareExample {
 public static void Main() {
 string strA = "A string";
 string strB = "B ring";
 int first = String.Compare( strA, 4, strB, 2, 3 );
 int second = String.Compare( strA, 3, strB, 3, 3 );
 Console.WriteLine( "When the substring 'rin' of 'A string' is compared to the substring 'rin' of 'B ring', the return value is {0}.", first );
 Console.WriteLine( "When the substring 'tri' of 'A string' is compared to the substring 'ing' of 'B ring', the return value is {0}.", second );
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>When the substring 'rin' of 'A string' is compared to the substring 'rin' of
         'B ring', the return value is 0.</para>
								<para>When the substring 'tri' of 'A string' is compared to the substring 'ing' of
         'B ring', the return value is 1.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Compare">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Compare(string strA, string strB, bool ignoreCase)"/>
					<MemberSignature Language="C#" Value="public static int Compare(string strA, string strB, bool ignoreCase);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="strA" Type="System.String"/>
						<Parameter Name="strB" Type="System.String"/>
						<Parameter Name="ignoreCase" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns sort order of two <see cref="T:System.String"/>
objects.</para>
						</summary>
						<param name="strA">The first <see cref="T:System.String"/> to compare. Can be a null reference.</param>
						<param name="strB">The second <see cref="T:System.String"/> to compare. Can be a null reference.</param>
						<param name="ignoreCase">A <see cref="T:System.Boolean"/> indicating whether the comparison is case-insensitive. If <paramref name="ignoreCase"/> is <see langword="true"/>, the comparison is case-insensitive. If <paramref name="ignoreCase"/> is <see langword="false"/>, the comparison is case-sensitive, and upper case letters evaluate greater than their lower case equivalents.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   two specified strings. The following table defines the conditions under which
   the returned value is a negative number, zero, or a positive
   number.</para>
							<list type="table">
								<listheader>
									<term> Value</term>
									<description>Meaning</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>
										<paramref name="strA"/> is &lt; <paramref name="strB"/>, or
   <paramref name="strA"/> is a null reference.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>
										<paramref name="strA"/> == <paramref name="strB"/>, or both <paramref name="strA"/>
and <paramref name="strB"/> are null references.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>
										<paramref name="strA"/> is &gt; <paramref name="strB"/>, or <paramref name="strB"/>
is a null reference.</description>
								</item>
							</list>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>The result of comparing any <see cref="T:System.String"/> (including the empty string) to a null
      reference is greater than zero. The
      result of comparing two null references is zero. Upper case letters evaluate
      greater than their lower case
      equivalents.</para>
								<para>The method uses the culture of the
      current thread to determine the ordering of individual characters. The two strings
      are compared on a character-by-character
      basis.</para>
								<para>
									<see langword="String.Compare"/>(<paramref name="strA"/>,
<paramref name="strB"/>, 
<see langword="false"/>) is equivalent to 
<see langword="String.Compare"/>(<paramref name="strA"/>, <paramref name="strB"/> 
).</para>
							</block>
						</remarks>
						<example>
							<para>The following example demonstrates comparing strings with and without case 
      sensitivity.</para>
							<code lang="C#">using System;
public class StringCompareExample {
 public static void Main() {
 string strA = "A STRING";
 string strB = "a string";
 int first = String.Compare( strA, strB, true );
 int second = String.Compare( strA, strB, false );
 Console.WriteLine( "When 'A STRING' is compared to 'a string' in a case-insensitive manner, the return value is {0}.", first );
 Console.WriteLine( "When 'A STRING' is compared to 'a string' in a case-sensitive manner, the return value is {0}.", second );
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>When 'A STRING' is compared to 'a string' in a case-insensitive manner, the
         return value is 0.</para>
								<para>When 'A STRING' is compared to 'a string' in a case-sensitive manner, the
         return value is 1.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Compare">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Compare(string strA, string strB)"/>
					<MemberSignature Language="C#" Value="public static int Compare(string strA, string strB);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="strA" Type="System.String"/>
						<Parameter Name="strB" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Compares two <see cref="T:System.String"/> objects in a case sensitive manner.</para>
						</summary>
						<param name="strA">The first <see cref="T:System.String"/> to compare. Can be a null reference.</param>
						<param name="strB">The second <see cref="T:System.String"/> to compare. Can be a null reference.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   two specified strings. The following table defines conditions under which the returned value is a negative number, zero, or a positive number.</para>
							<list type="table">
								<listheader>
									<term> Value</term>
									<description>Meaning</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>
										<paramref name="strA"/> is lexicographically &lt; <paramref name="strB"/>,
      or <paramref name="strA"/> is a null reference.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>
										<paramref name="strA"/> is lexicographically == <paramref name="strB"/>,
   or both <paramref name="strA"/> and <paramref name="strB"/> are null references.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>
										<paramref name="strA"/> is lexicographically &gt; <paramref name="strB"/>,
   or <paramref name="strB"/> is a null reference.</description>
								</item>
							</list>
						</returns>
						<remarks>
							<para> This method performs a case-sensitive operation.</para>
							<block subset="none" type="note">
								<para>The result of comparing any <see cref="T:System.String"/> (including the empty string) to a null
      reference is greater than zero. The
      result of comparing two null references is zero. Upper case letters evaluate
      greater than their lower case equivalents.</para>
								<para>The method uses the culture of the
      current thread to determine the ordering of individual characters. The two strings
      are compared on a character-by-character basis.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CompareOrdinal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 CompareOrdinal(string strA, string strB)"/>
					<MemberSignature Language="C#" Value="public static int CompareOrdinal(string strA, string strB);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="strA" Type="System.String"/>
						<Parameter Name="strB" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Compares two specified <see cref="T:System.String"/> objects based
   on the code points of
   the contained Unicode characters.</para>
						</summary>
						<param name="strA">The first <see cref="T:System.String"/> to compare.</param>
						<param name="strB">The second <see cref="T:System.String"/> to compare.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   two specified strings. The following table defines the conditions under which
   the returned value is a negative number, zero, or a positive number.</para>
							<list type="table">
								<listheader>
									<term>Permission</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>
										<paramref name="strA"/> is &lt; <paramref name="strB"/>, or <paramref name="strA"/>
   is a null reference.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>
										<paramref name="strA"/> == <paramref name="strB"/>, or both <paramref name="strA"/>
and <paramref name="strB"/> are null references.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>
										<paramref name="strA"/> is &gt; <paramref name="strB"/>, or <paramref name="strB"/>
is a null reference.</description>
								</item>
							</list>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>The result of comparing any <see cref="T:System.String"/> (including the
      empty string) to a null reference is greater than zero. The result of comparing
      two null references is zero. Upper case letters evaluate greater than
      their lower case equivalents.</para>
								<para>The method uses the culture of the current thread to
      determine the ordering of individual characters. The two strings are compared
      on a character-by-character basis.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CompareOrdinal">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 CompareOrdinal(string strA, int32 indexA, string strB, int32 indexB, int32 length)"/>
					<MemberSignature Language="C#" Value="public static int CompareOrdinal(string strA, int indexA, string strB, int indexB, int length);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="strA" Type="System.String"/>
						<Parameter Name="indexA" Type="System.Int32"/>
						<Parameter Name="strB" Type="System.String"/>
						<Parameter Name="indexB" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Compares substrings of two specified <see cref="T:System.String"/>
objects based
on
the code points of the contained Unicode characters.</para>
						</summary>
						<param name="strA">The first <see cref="T:System.String"/> to compare.</param>
						<param name="indexA">A <see cref="T:System.Int32"/> containing the starting index of the substring in <paramref name="strA"/>.</param>
						<param name="strB">The second <see cref="T:System.String"/> to compare.</param>
						<param name="indexB">A <see cref="T:System.Int32"/> containing the starting index of the substring in <paramref name="strB"/>.</param>
						<param name="length">A <see cref="T:System.Int32"/> containing the number of characters in the substrings to compare.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   two specified strings. The following table defines the conditions under which
   the returned value is a negative number, zero, or a positive number.</para>
							<list type="table">
								<listheader>
									<term>Value Type</term>
									<description>Condition</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>The substring in <paramref name="strA"/> is &lt; the
      substring in <paramref name="strB"/>, or <paramref name="strA"/> is a null reference.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>The substring in <paramref name="strA"/> ==
   the substring in
<paramref name="strB"/>, or both <paramref name="strA"/> and <paramref name="strB"/> are null 
   references.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>The substring in <paramref name="strA"/> is &gt; the substring
   in <paramref name="strB"/>, or <paramref name="strB"/> is a null
   reference.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para> The sum of <paramref name="indexA"/> and <paramref name="length"/> is greater than <paramref name="strA"/> .Length</para>
							<para> -or-</para>
							<para> The sum of <paramref name="indexB"/> and <paramref name="length"/> is greater than <paramref name="strB"/> .Length</para>
							<para> -or-</para>
							<para>
								<paramref name="indexA"/>, <paramref name="indexB"/>, or <paramref name="length"/>is negative.</para>
							<para> -or-</para>
							<para>
								<paramref name="strA"/> is <see langword="null"/> and <paramref name="indexA"/> is non-zero.</para>
							<para> -or-</para>
							<para>
								<paramref name="strB"/> is <see langword="null"/> and <paramref name="indexB"/> is non-zero.</para>
						</exception>
						<remarks>
							<para>When either of the String arguments is the null reference an <see cref="T:System.ArgumentOutOfRangeException"/> shall be thrown if the corresponding index is non-zero.</para>
							<block subset="none" type="note">
								<para>The result of comparing any <see cref="T:System.String"/> (including the empty string) to a null reference is
      greater than zero. The result of comparing two null references is zero. Upper
      case letters evaluate greater than their lower case equivalents.</para>
								<para>The method uses the culture of the current thread to determine the ordering
      of individual characters. The two strings are compared on a
      character-by-character basis.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared 
      to the specified object.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value
   that reflects the sort order of the current instance as compared to
<paramref name="value"/> 
. The following table defines the
conditions under which the returned value is a negative number, zero, or a positive
number.</para>
							<list type="table">
								<listheader>
									<term>Value</term>
									<description>Condition</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>The current instance is lexicographically &lt;
      <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>The current instance is lexicographically ==
      <paramref name="value"/>.</description>
								</item>
								<item>
									<term>
										<para> Any positive number</para>
									</term>
									<description>
										<para>The current instance is lexicographically &gt;
            <paramref name="value"/>, or <paramref name="value"/> is a null
               reference.</para>
									</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is not a <see cref="T:System.String"/>.</exception>
						<remarks>
							<para>
								<paramref name="value"/> is required to be a <see cref="T:System.String"/>
object.</para>
							<block subset="none" type="note">
								<para>The result of comparing any <see cref="T:System.String"/> (including the
   empty string) to a null reference is greater than zero. The result of comparing
   two null references is zero. Upper case letters evaluate greater than their
   lower case equivalents.</para>
								<para>The method uses the culture of the current thread to
   determine the ordering of individual characters. The two strings are compared on
   a character-by-character
   basis.</para>
								<para> This method is implemented to support the <see cref="T:System.IComparable"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Concat">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Concat(object arg0, object arg1)"/>
					<MemberSignature Language="C#" Value="public static string Concat(object arg0, object arg1);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="arg0" Type="System.Object"/>
						<Parameter Name="arg1" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Concatenates the <see cref="T:System.String"/> representations of two specified objects.</para>
						</summary>
						<param name="arg0">The first <see cref="T:System.Object"/> to concatenate.</param>
						<param name="arg1">The second <see cref="T:System.Object"/> to concatenate.</param>
						<returns>
							<para>The concatenated <see cref="T:System.String"/> representation of the values of
<paramref name="arg0"/> and <paramref name="arg1"/>.</para>
						</returns>
						<remarks>
							<para>
								<see cref="F:System.String.Empty"/> is used in place of any null argument.</para>
							<para>This version of <see cref="M:System.String.Concat(System.Object)"/> is equivalent to <see cref="M:System.String.Concat(System.Object)"/>( <paramref name="arg0"/>.ToString(),
<paramref name="arg1"/>.ToString () ).</para>
							<para>
								<block subset="none" type="note"> If either of the
   arguments is an array reference, the method concatenates a string representing
   that array, instead of its members (for example, <see cref="T:System.String"/> )[].</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates concatenating two objects.</para>
							<code lang="C#">using System;
public class StringConcatExample {
 public static void Main() {
 string str = String.Concat( 'c', 32 );
 Console.WriteLine( "The concatenated Objects are: {0}", str );
 }
}
   </code>
							<para>The output is</para>
							<para>
								<c>The
      concatenated Objects are: c32</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Concat">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Concat(object arg0, object arg1, object arg2)"/>
					<MemberSignature Language="C#" Value="public static string Concat(object arg0, object arg1, object arg2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="arg0" Type="System.Object"/>
						<Parameter Name="arg1" Type="System.Object"/>
						<Parameter Name="arg2" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Concatenates the <see cref="T:System.String"/> representations of three specified objects, in order provided.</para>
						</summary>
						<param name="arg0">The first <see cref="T:System.Object"/> to concatenate.</param>
						<param name="arg1">The second <see cref="T:System.Object"/> to concatenate.</param>
						<param name="arg2">The third <see cref="T:System.Object"/> to concatenate.</param>
						<returns>
							<para>The concatenated <see cref="T:System.String"/> representations of the values of
<paramref name="arg0"/>, <paramref name="arg1"/>, and <paramref name="arg2"/>.</para>
						</returns>
						<remarks>
							<para> This method concatenates the values returned by
      the <see cref="M:System.String.ToString"/> methods on every argument. <see cref="F:System.String.Empty"/> is used in place of any null argument.</para>
							<para>This version of <see cref="M:System.String.Concat(System.Object)"/> is equivalent to
<see langword="String.Concat"/>( <paramref name="arg0"/>.<see langword="ToString"/>(), 
<paramref name="arg1"/>.<see langword="ToString"/>(), 
<paramref name="arg2"/>.<see langword="ToString"/> () ).</para>
						</remarks>
						<example>
							<para>The following example demonstrates concatenating three objects.</para>
							<code lang="C#">using System;
public class StringConcatExample {
 public static void Main() {
 string str = String.Concat( 'c', 32, "String" );
 Console.WriteLine( "The concatenated Objects are: {0}", str );
 }
}
   </code>
							<para>The output is</para>
							<para>
								<c>The
      concatenated Objects are: c32String</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Concat">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Concat(class System.Object[] args)"/>
					<MemberSignature Language="C#" Value="public static string Concat(params object[] args);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="args" Type="System.Object[]">
							<Attributes>
								<Attribute>
									<AttributeName>ParamArrayAttribute</AttributeName>
									<Excluded>1</Excluded>
									<ExcludedTypeName>System.ParamArrayAttribute</ExcludedTypeName>
									<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
								</Attribute>
							</Attributes>
						</Parameter>
					</Parameters>
					<Docs>
						<summary>
							<para>Concatenates the <see cref="T:System.String"/> representations of the elements in an
   array of <see cref="T:System.Object"/>
   instances.</para>
						</summary>
						<param name="args">An array of <see cref="T:System.Object"/> instances to concatenate.</param>
						<returns>
							<para>The concatenated <see cref="T:System.String"/> representations of the values of the
   elements in <paramref name="args"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="args"/> is a null reference.</exception>
						<remarks>
							<para> This method concatenates the values returned by
      the <see cref="M:System.String.ToString"/> methods on every
      object in the <paramref name="args"/> array. <see cref="F:System.String.Empty"/> is
      used in place of any null reference in the array.</para>
						</remarks>
						<example>
							<para>The following example demonstrates concatenating an array of objects.</para>
							<code lang="C#">using System;
public class StringConcatExample {
 public static void Main() {
 string str = String.Concat( 'c', 32, "String" );
 Console.WriteLine( "The concatenated Object array is: {0}", str );
 }
}
   </code>
							<para>The output is</para>
							<para>
								<c>The
      concatenated Object array is: c32String</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Concat">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Concat(string str0, string str1)"/>
					<MemberSignature Language="C#" Value="public static string Concat(string str0, string str1);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="str0" Type="System.String"/>
						<Parameter Name="str1" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Concatenates two specified instances of <see cref="T:System.String"/>.</para>
						</summary>
						<param name="str0">The first <see cref="T:System.String"/> to concatenate.</param>
						<param name="str1">The second <see cref="T:System.String"/> to concatenate.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing the concatenation of <paramref name="str0"/> and
<paramref name="str1"/>.</para>
						</returns>
						<remarks>
							<para>
								<see cref="F:System.String.Empty"/> is used in place of any null argument.</para>
						</remarks>
						<example>
							<para>The following example demonstrates concatenating two strings.</para>
							<code lang="C#">using System;
public class StringConcatExample {
 public static void Main() {
 string str = String.Concat( "one", "two" );
 Console.WriteLine( "The concatenated strings are: {0}", str );
 }
}
   </code>
							<para>The output is</para>
							<para>
								<c>The
      concatenated strings are: onetwo</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Concat">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Concat(string str0, string str1, string str2)"/>
					<MemberSignature Language="C#" Value="public static string Concat(string str0, string str1, string str2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="str0" Type="System.String"/>
						<Parameter Name="str1" Type="System.String"/>
						<Parameter Name="str2" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Concatenates three specified instances of <see cref="T:System.String"/>.</para>
						</summary>
						<param name="str0">The first <see cref="T:System.String"/> to concatenate.</param>
						<param name="str1">The second <see cref="T:System.String"/> to concatenate.</param>
						<param name="str2">The third <see cref="T:System.String"/> to concatenate.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing the concatenation of <paramref name="str0"/>, <paramref name="str1"/>, and
<paramref name="str2"/>.</para>
						</returns>
						<remarks>
							<para>
								<see cref="F:System.String.Empty"/> is used in place of any null argument.</para>
						</remarks>
						<example>
							<para>The following example demonstrates concatenating three strings.</para>
							<code lang="C#">using System;
public class StringConcatExample {
 public static void Main() {
 string str = String.Concat( "one", "two", "three" );
 Console.WriteLine( "The concatenated strings are: {0}", str );
 }
}
   </code>
							<para>The output is</para>
							<para>
								<c>The
      concatenated strings are: onetwothree</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Concat">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Concat(class System.String[] values)"/>
					<MemberSignature Language="C#" Value="public static string Concat(params string[] values);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="values" Type="System.String[]">
							<Attributes>
								<Attribute>
									<AttributeName>ParamArrayAttribute</AttributeName>
									<Excluded>1</Excluded>
									<ExcludedTypeName>System.ParamArrayAttribute</ExcludedTypeName>
									<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
								</Attribute>
							</Attributes>
						</Parameter>
					</Parameters>
					<Docs>
						<summary>
							<para>Concatenates the elements of a specified array.</para>
						</summary>
						<param name="values">An array of <see cref="T:System.String"/> instances to concatenate.</param>
						<returns>
							<para> A <see cref="T:System.String"/> containing the concatenated elements of <paramref name="values"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="values"/> is a null reference.</exception>
						<remarks>
							<para>
								<see cref="F:System.String.Empty"/> is used in place of any null reference in the array.</para>
						</remarks>
						<example>
							<para>The following example demonstrates concatenating an array of strings.</para>
							<code lang="C#">using System;
public class StringConcatExample {
 public static void Main() {
 string str = String.Concat( "one", "two", "three", "four", "five" );
 Console.WriteLine( "The concatenated String array is: {0}", str );
 }
}
   </code>
							<para>The output is</para>
							<para>
								<c>The
      concatenated String array is: onetwothreefourfive</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Copy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Copy(string str)"/>
					<MemberSignature Language="C#" Value="public static string Copy(string str);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="str" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Creates a new instance of <see cref="T:System.String"/> with the same value as a specified
   instance of <see cref="T:System.String"/>.</para>
						</summary>
						<param name="str">The <see cref="T:System.String"/> to be copied.</param>
						<returns>
							<para>A new <see cref="T:System.String"/> with the same value as
<paramref name="str"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="str"/> is a null reference.</exception>
						<example>
							<para>The following example demonstrates copying strings.</para>
							<code lang="C#">using System;
public class StringCopyExample {
 public static void Main() {
 string strA = "string";
 Console.WriteLine( "The initial string, strA, is '{0}'.", strA );
 string strB = String.Copy( strA );
 strA = strA.ToUpper();
 Console.WriteLine( "The copied string, strB, before strA.ToUpper, is '{0}'.", strB );
 Console.WriteLine( "The initial string after StringCopy and ToUpper, is '{0}'.", strA );
 Console.WriteLine( "The copied string, strB, after strA.ToUpper, is '{0}'.", strB );
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>The initial string, strA, is 'string'.</para>
								<para>The copied string, strB, before strA.ToUpper, is 'string'.</para>
								<para>The initial string after StringCopy and ToUpper, is 'STRING'.</para>
								<para>The copied string, strB, after strA.ToUpper, is 'string'.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CopyTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void CopyTo(int32 sourceIndex, class System.Char[] destination, int32 destinationIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="sourceIndex" Type="System.Int32"/>
						<Parameter Name="destination" Type="System.Char[]"/>
						<Parameter Name="destinationIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Copies a specified number of characters from a specified
      position in the current <see cref="T:System.String"/>
      instance to
      a specified position in a specified array of Unicode characters.</para>
						</summary>
						<param name="sourceIndex">A <see cref="T:System.Int32"/> containing the index of the current instance from which to copy.</param>
						<param name="destination">An array of Unicode characters.</param>
						<param name="destinationIndex">A <see cref="T:System.Int32"/> containing the index of an array element in <paramref name="destination"/> to copy.</param>
						<param name="count">A <see cref="T:System.Int32"/> containing the number of characters in the current instance to copy to <paramref name="destination"/>.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="destination"/> is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="sourceIndex"/>, <paramref name="destinationIndex"/>, or <paramref name="count"/> is negative </para>
							<para>-or- </para>
							<para>
								<paramref name="count"/> is greater than the length of the substring from <paramref name="startIndex"/> to the end of the current instance </para>
							<para>-or- </para>
							<para>
								<paramref name="count"/> is greater than the length of the subarray from <paramref name="destinationIndex"/> to the end of <paramref name="destination"/>
							</para>
						</exception>
						<example>
							<para>The following example demonstrates copying characters from a string to a 
      Unicode character array.</para>
							<code lang="C#">using System;
public class StringCopyToExample {
 public static void Main() {
 string str = "this is the new string";
 Char[] cAry = {'t','h','e',' ','o','l','d'};
 Console.WriteLine( "The initial string is '{0}'", str );
 Console.Write( "The initial character array is: '" );
 foreach( Char c in cAry)
 Console.Write( c );
 Console.WriteLine( "'" );
 str.CopyTo( 12, cAry, 4, 3 );
 Console.Write( "The character array after CopyTo is: '" );
 foreach( Char c in cAry)
 Console.Write( c );
 Console.WriteLine("'");
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>The initial string is 'this is the new string'</para>
								<para>The initial character array is: 'the old'</para>
								<para>The character array after CopyTo is: 'the new'</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Empty">
					<MemberSignature Language="ILASM" Value=".field public static initOnly string Empty"/>
					<MemberSignature Language="C#" Value="public static readonly string Empty;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> A constant string representing the empty string.</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para>This field is a string of length zero, "".</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndsWith">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance bool EndsWith(string value)"/>
					<MemberSignature Language="C#" Value="public bool EndsWith(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Boolean"/> value that indicates whether the ending characters of the current
   instance match the specified <see cref="T:System.String"/>.</para>
						</summary>
						<param name="value">A <see cref="T:System.String"/> to match.</param>
						<returns>
							<para>
								<see langword="true"/> if the end of the current instance
   is equal to <paramref name="value"/>; <see langword="false"/> if <paramref name="value"/> is not
   equal to the end of the current instance or is longer than the
   current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference.</exception>
						<remarks>
							<para> This method compares <paramref name="value"/>
with the substring at
the end of the current instance that has a same length as <paramref name="value."/>
							</para>
							<para> The comparison
   is case-sensitive.</para>
						</remarks>
						<example>
							<para>The following example demonstrates determining whether the current instance 
      ends with a specified string.</para>
							<code lang="C#">using System;
public class StringEndsWithExample {
 public static void Main() {
 string str = "One string to compare";
 Console.WriteLine( "The given string is '{0}'", str );
 Console.Write( "The given string ends with 'compare'? " );
 Console.WriteLine( str.EndsWith( "compare" ) );
 Console.Write( "The given string ends with 'Compare'? " );
 Console.WriteLine( str.EndsWith( "Compare" ) );
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>The given string is 'One string to compare'</para>
								<para>The given string ends with 'compare'? True</para>
								<para>The given string ends with 'Compare'? False</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the specified
      object have the
      same value.</para>
						</summary>
						<param name="obj">A <see cref="T:System.Object"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> is a <see cref="T:System.String"/> and its value is
   the same as the value of the current instance; otherwise,
<see langword="false"/>.</para>
						</returns>
						<exception cref="T:System.NullReferenceException">The current instance is a null reference.</exception>
						<remarks>
							<para> This method checks for value equality. This comparison is case-sensitive.</para>
							<para>
								<block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/> .</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates checking to see if an object is equal to 
      the current instance.</para>
							<code lang="C#">using System;
public class StringEqualsExample {
 public static void Main() {
 string str = "A string";
 Console.WriteLine( "The given string is '{0}'", str );
 Console.Write( "The given string is equal to 'A string'? " );
 Console.WriteLine( str.Equals( "A string" ) );
 Console.Write( "The given string is equal to 'A String'? " );
 Console.WriteLine( str.Equals( "A String" ) );
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>The given string is 'A string'</para>
								<para>The given string is equal to 'A string'? True</para>
								<para>The given string is equal to 'A String'? False</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool Equals(string a, string b)"/>
					<MemberSignature Language="C#" Value="public static bool Equals(string a, string b);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="a" Type="System.String"/>
						<Parameter Name="b" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether two specified <see cref="T:System.String"/> objects have the
   same value.</para>
						</summary>
						<param name="a">A <see cref="T:System.String"/> or a null reference.</param>
						<param name="b">A <see cref="T:System.String"/> or a null reference.</param>
						<returns>
							<para>
								<see langword="true "/>if the value of <paramref name="a"/> is the
   same as the value of <paramref name="b"/>; otherwise, <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para> The comparison
      is case-sensitive.</para>
						</remarks>
						<example>
							<para>The following example demonstrates checking to see if two strings are 
      equal.</para>
							<code lang="C#">using System;
public class StringEqualsExample {
 public static void Main() {
 string strA = "A string";
 string strB = "a string";
 string strC = "a string";
 Console.Write( "The string '{0}' is equal to the string '{1}'? ", strA, strB );
 Console.WriteLine( String.Equals( strA, strB ) );
 Console.Write( "The string '{0}' is equal to the string '{1}'? ", strC, strB );
 Console.WriteLine( String.Equals( strC, strB ) );
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>The string 'A string' is equal to the string 'a string'? False</para>
								<para>The string 'a string' is equal to the string 'a string'? True</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Format">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Format(string format, class System.Object[] args)"/>
					<MemberSignature Language="C#" Value="public static string Format(string format, params object[] args);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="args" Type="System.Object[]">
							<Attributes>
								<Attribute>
									<AttributeName>ParamArrayAttribute</AttributeName>
									<Excluded>1</Excluded>
									<ExcludedTypeName>System.ParamArrayAttribute</ExcludedTypeName>
									<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
								</Attribute>
							</Attributes>
						</Parameter>
					</Parameters>
					<Docs>
						<summary>
							<para>Replaces the format specification in a specified <see cref="T:System.String"/> with the textual
   equivalent of the value of a corresponding <see cref="T:System.Object"/> instance in a specified array.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing zero or more format specifications.</param>
						<param name="args">A <see cref="T:System.Object"/> array containing the objects to be formatted.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing a copy of <paramref name="format"/> in which the format
   specifications have been replaced by the <see cref="T:System.String"/> equivalent of the corresponding
   instances of <see cref="T:System.Object"/> in <paramref name="args"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> or <paramref name="args "/>is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<para>
								<paramref name="format"/> is invalid.</para>
							<para> -or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the length of the <paramref name="args"/> array.</para>
						</exception>
						<remarks>
							<para>If an object referenced in the format string is a null
      reference, an empty string is used in its place. </para>
							<para>
								<block subset="none" type="note"> This version of
      <see cref="M:System.String.Format(System.String,System.Object)"/> is
      equivalent to <see cref="M:System.String.Format(System.String,System.Object)"/>( null, <paramref name="format"/>, <paramref name="args"/> ). For more
      information on the format specification see the <see cref="T:System.String"/>
      class
      overview.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.String.Format(System.String,System.Object)"/> method.</para>
							<code lang="C#">
using System;
public class StringFormat {
   public static void Main() {
      Console.WriteLine( String.Format("The winning numbers were {0:000} {1:000} {2:000} {3:000} {4:000} today.", 5, 10, 11, 37, 42) );
      Console.WriteLine( "The winning numbers were {0, -6}{1, -6}{2, -6}{3, -6}{4, -6} today.", 5, 10, 11, 37, 42 );
 }
}
</code>
							<para>The output is</para>
							<code>
The winning numbers were 005 010 011 037 042 today.
The winning numbers were 5     10    11    37    42     today.
</code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Format">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Format(string format, object arg0)"/>
					<MemberSignature Language="C#" Value="public static string Format(string format, object arg0);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Replaces the format specification in a provided <see cref="T:System.String"/> with a specified
   textual equivalent of the value of a specified <see cref="T:System.Object"/> instance.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing zero or more format specifications.</param>
						<param name="arg0">A <see cref="T:System.Object"/> to be formatted.</param>
						<returns>
							<para>A copy of <paramref name="format"/> in which the
   first format specification has been replaced by the formatted <see cref="T:System.String"/> equivalent of the
<paramref name="arg0"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format "/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para> -or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (1).</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note"> This version of
      <see cref="M:System.String.Format(System.String,System.Object)"/> is
      equivalent to <see langword="String.Format"/>( <see langword="null"/> , <paramref name="format"/>, <see langword="new Object"/>[] {<paramref name="arg0"/>} ). For more information on the format
      specification see the <see cref="T:System.String"/> class overview.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.String.Format(System.String,System.Object)"/> method.</para>
							<code lang="C#">
using System;
public class StringFormat {
 public static void Main() {
 Console.WriteLine(String.Format("The high temperature today was {0:###} degrees.", 88));
 Console.WriteLine("The museum had {0,-6} visitors today.", 88);
 }
}
</code>
							<para>The output is</para>
							<code>
The high temperature today was 88 degrees.
The museum had 88     visitors today.
</code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Format">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Format(string format, object arg0, object arg1)"/>
					<MemberSignature Language="C#" Value="public static string Format(string format, object arg0, object arg1);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
						<Parameter Name="arg1" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Replaces the format specification in a specified <see cref="T:System.String"/> with the textual equivalent of the value of two
   specified <see cref="T:System.Object"/>
   instances.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing zero or more format specifications.</param>
						<param name="arg0">A <see cref="T:System.Object"/> to be formatted. Can be a null reference.</param>
						<param name="arg1">A <see cref="T:System.Object"/> to be formatted. Can be a null reference.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing a copy of <paramref name="format"/> in which the format
   specifications have been replaced by the <see cref="T:System.String"/> equivalent of <paramref name="arg0"/> and
<paramref name="arg1"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<para>
								<paramref name="format"/> is invalid.</para>
							<para> -or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (2).</para>
						</exception>
						<remarks>
							<para>If an object referenced in the format string is a null
      reference, an empty string is used in its place.</para>
							<para>
								<block subset="none" type="note"> This version of
      <see cref="M:System.String.Format(System.String,System.Object)"/> is
      equivalent to <see langword="String.Format"/>( <see langword="null"/>,
      <paramref name="format"/>, <see langword="new Object[]"/> {<paramref name="arg0"/>, <paramref name="arg1"/>} ).
      For more information on the format specification see the <see cref="T:System.String"/> class
      overview.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.String.Format(System.String,System.Object)"/> method.</para>
							<code lang="C#">using System;
public class StringFormat {
  public static void Main() {
  Console.WriteLine( String.Format("The temperature today oscillated between {0:####} and {1:####} degrees.", 78, 100) );
  Console.WriteLine( String.Format("The temperature today oscillated between {0:0000} and {1:0000} degrees.", 78, 100) );
  Console.WriteLine( "The temperature today oscillated between {0, -4} and {1, -4} degrees.", 78, 100 );
   }
}
</code>
							<para>The output is</para>
							<code>
The temperature today oscillated between 78 and 100 degrees.
The temperature today oscillated between 0078 and 0100 degrees.
The temperature today oscillated between 78   and 100  degrees.
</code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Format">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Format(string format, object arg0, object arg1, object arg2)"/>
					<MemberSignature Language="C#" Value="public static string Format(string format, object arg0, object arg1, object arg2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
						<Parameter Name="arg1" Type="System.Object"/>
						<Parameter Name="arg2" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Replaces the format specification in a specified <see cref="T:System.String"/> with the textual
   equivalent of the value of three specified <see cref="T:System.Object"/> instances.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing zero or more format specifications.</param>
						<param name="arg0">The first <see cref="T:System.Object"/> to be formatted. Can be a null reference.</param>
						<param name="arg1">The second <see cref="T:System.Object"/> to be formatted. Can be a null reference.</param>
						<param name="arg2">The third <see cref="T:System.Object"/> to be formatted. Can be a null reference.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing a copy of <paramref name="format"/> in which the first, second,
   and third format specifications have been replaced by the <see cref="T:System.String"/> equivalent of
<paramref name="arg0"/>, <paramref name="arg1"/>, and <paramref name="arg2"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<para>
								<paramref name="format"/> is invalid.</para>
							<para> -or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (3).</para>
						</exception>
						<remarks>
							<para>If an object referenced in the format string is a null
      reference, an empty string is used in its place. </para>
							<para>
								<block subset="none" type="note"> This version of
      <see cref="M:System.String.Format(System.String,System.Object)"/> is
      equivalent to <see langword="String.Format"/>( <see langword="null"/>,
      <paramref name="format"/>, <see langword="new Object[]"/> {<paramref name="arg0"/>, <paramref name="arg1"/>,
      <paramref name="arg2"/>} ). For more information on the format specification see the
      <see cref="T:System.String"/> class
      overview.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.String.Format(System.String,System.Object)"/> method.</para>
							<code lang="C#">
using System;
public class StringFormat {
   public static void Main() {
      Console.WriteLine(String.Format("The temperature today oscillated between {0:###} and {1:###} degrees. The average temperature  was {2:000} degrees.", 78, 100, 91));
      Console.WriteLine("The temperature today oscillated between {0, 4} and {1, 4} degrees. The average temperature was {2, 4}  degrees.", 78, 100, 91);
   }
}
</code>
							<para>The output is</para>
							<code>
The temperature today oscillated between 78 and 100 degrees. The average temperature was 091 degrees.
The temperature today oscillated between   78 and  100 degrees. The average temperature was   91 degrees.</code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Format">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Format(class System.IFormatProvider provider, string format, class System.Object[] args)"/>
					<MemberSignature Language="C#" Value="public static string Format(IFormatProvider provider, string format, params object[] args);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="args" Type="System.Object[]">
							<Attributes>
								<Attribute>
									<AttributeName>ParamArrayAttribute</AttributeName>
									<Excluded>1</Excluded>
									<ExcludedTypeName>System.ParamArrayAttribute</ExcludedTypeName>
									<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
								</Attribute>
							</Attributes>
						</Parameter>
					</Parameters>
					<Docs>
						<summary>
							<para>Replaces the format specification in a specified <see cref="T:System.String"/> with the
   culture-specific textual equivalent of the value of a corresponding <see cref="T:System.Object"/> instance in a
   specified array. </para>
						</summary>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> interface that supplies an object that provides culture-specific formatting information. Can be a null reference.</param>
						<param name="format">A <see cref="T:System.String"/> containing zero or more format specifications.</param>
						<param name="args">A <see cref="T:System.Object"/> array to be formatted.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing a copy of <paramref name="format"/> in which the format
   specifications have been replaced by the <see cref="T:System.String"/> equivalent of the corresponding
   instances of <see cref="T:System.Object"/> in <paramref name="args"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> or <paramref name="args"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<para>
								<paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted (<paramref name="N"/>) is less than zero, or greater than or equal to the length of the <paramref name="args"/> array.</para>
						</exception>
						<remarks>
							<para>If an object referenced in the format string is a null
      reference, an empty string is used in its place.</para>
							<para>The <paramref name="format"/> parameter string is embedded with
   zero or more format specifications of the form, {<paramref name="N"/> [, <paramref name="M"/> ][:
<paramref name="formatString"/> ]}, where <paramref name="N "/>is a zero-based integer indicating 
   the argument to be formatted, <paramref name="M"/> is an optional integer indicating the
   width of the region to contain the formatted value, and <paramref name="formatString"/> is
   an optional string of formatting codes. <block subset="none" type="note">
   For more information on the format specification see the <see cref="T:System.String"/> class
   overview.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEnumerator">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.CharEnumerator GetEnumerator()"/>
					<MemberSignature Language="C#" Value="public CharEnumerator GetEnumerator();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.CharEnumerator</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Retrieves an object that can iterate through the individual
      characters in the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.CharEnumerator"/> object.</para>
						</returns>
						<remarks>
							<para> This method is required by programming languages
      that support the <see cref="T:System.Collections.IEnumerator"/> interface to iterate through members of a
      collection.</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for this instance.</para>
						</returns>
						<remarks>
							<para> The algorithm used to
      generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOf(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public int IndexOf(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the index of the first occurrence of a specified
      Unicode character in the current instance.</para>
						</summary>
						<param name="value">A Unicode character.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a 
   positive value equal to the index of the first occurrence of <paramref name="value"/>
   character in the current instance; otherwise, -1 if <paramref name="value"/> was not found.</para>
						</returns>
						<remarks>
							<para> This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOf(valuetype System.Char value, int32 startIndex)"/>
					<MemberSignature Language="C#" Value="public int IndexOf(char value, int startIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the index of the first occurrence of a specified Unicode character
      in the current instance, with the search starting from a specified index.</para>
						</summary>
						<param name="value">A Unicode character.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the current instance from which to start searching.</param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing a
   positive value equal to the index of the first occurrence of
<paramref name="value"/> in the current instance; otherwise, -1 if <paramref name="value"/> was not found.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="startIndex"/> is less than zero or greater than the length of the current instance.</exception>
						<remarks>
							<para> This method is case-sensitive. </para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.String.IndexOf(System.Char)"/> 
method.</para>
							<code lang="C#">using System;
public class StringIndexOf {
 public static void Main() {
 String str = "This is the string";
 Console.WriteLine( "Searching for the index of 'h' starting from index 0 yields {0}.", str.IndexOf( 'h', 0 ) );
 Console.WriteLine( "Searching for the index of 'h' starting from index 10 yields {0}.", str.IndexOf( 'h', 10 ) );
 }
}
</code>
							<para>The output is</para>
							<c>
								<para>Searching for the index of 'h' starting from index 0 yields 1.</para>
								<para>Searching for the index of 'h' starting from index 10 yields -1.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOf(valuetype System.Char value, int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public int IndexOf(char value, int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the index of the first occurrence of a specified Unicode character in the
      current instance, with the search over the specified range starting
      at the provided index.</para>
						</summary>
						<param name="value">A Unicode character.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the current instance from which to start searching.</param>
						<param name="count">A <see cref="T:System.Int32"/> containing the range of the current instance at which to end searching.</param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing a 
   positive value equal to the index of
   the first occurrence of <paramref name="value"/> in the current instance; otherwise, -1 if
<paramref name="value"/>
was not found.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> or <paramref name="count"/> is negative</para>
							<para> -or-</para>
							<para>
								<paramref name="startIndex"/> + <paramref name="count"/> is greater than the length of the current instance.</para>
						</exception>
						<remarks>
							<para>The search begins at <paramref name="startIndex"/> and continues until
<paramref name="startIndex"/> + <paramref name="count"/> - 1 is reached. The character at 
<paramref name="startIndex"/> + <paramref name="count"/> is not included in the search.</para>
							<para>This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOf(string value)"/>
					<MemberSignature Language="C#" Value="public int IndexOf(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the index of the first occurrence of a specified
   <see cref="T:System.String"/> in the current instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to seek.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that indicates the result of the search for
<paramref name="value"/> in the current instance as follows:</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> A
         positive number equal to the index of the start of the first substring in
         the current instance that is equal to <paramref name="value"/>
         
         .</term>
									<description>
										<paramref name="value"/>
   was found.</description>
								</item>
								<item>
									<term> 
      0</term>
									<description>
										<paramref name="value"/> is equal to <see cref="F:System.String.Empty"/> .</description>
								</item>
								<item>
									<term> -1</term>
									<description>
										<paramref name="value"/> was not found.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference.</exception>
						<remarks>
							<para> The search begins at the first character of the current instance. The search is
      case-sensitive, culture-sensitive, and the culture of the current thread
      is
      used.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.String.IndexOf(System.Char)"/> 
method.</para>
							<code lang="C#">using System;
public class StringIndexOf {
 public static void Main() {
 String str = "This is the string";
 Console.WriteLine( "Searching for the index of \"is\" yields {0,2}.", str.IndexOf( "is" ) );
 Console.WriteLine( "Searching for the index of \"Is\" yields {0,2}.", str.IndexOf( "Is" ) );
 Console.WriteLine( "Searching for the index of \"\" yields {0,2}.", str.IndexOf( "" ) );
 }
}
</code>
							<para>The output is</para>
							<c>
								<para>Searching for the index of "is" yields 2.</para>
								<para>Searching for the index of "Is" yields -1.</para>
								<para>Searching for the index of "" yields 0.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOf(string value, int32 startIndex)"/>
					<MemberSignature Language="C#" Value="public int IndexOf(string value, int startIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the index of the first occurrence of a specified
   <see cref="T:System.String"/> in the current instance, with
      the search starting from a specified index.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to seek.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the current instance from which to start searching.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that indicates the result of the search for
<paramref name="value"/> in the current instance as follows:</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> A
         positive number equal to the index of the start of the first substring in
         the current instance that is equal to <paramref name="value"/>
         .</term>
									<description>
										<paramref name="value"/> was found.</description>
								</item>
								<item>
									<term>
										<paramref name="startIndex"/>
									</term>
									<description>
										<paramref name="value"/> is <see langword="Empty"/> .</description>
								</item>
								<item>
									<term> -1</term>
									<description>
										<paramref name="value"/> was not found.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> is greater than the length of the current instance.</para>
						</exception>
						<remarks>
							<para> This method is
      case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOf(string value, int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public int IndexOf(string value, int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the index of the first occurrence of a specified
   <see cref="T:System.String"/> in the current
      instance, with the search over the specified range starting at the provided index.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to seek.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the current instance from which to start searching.</param>
						<param name="count">A <see cref="T:System.Int32"/> containing the range of the current instance at which to end searching.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that indicates the result of the search for
<paramref name="value"/> in the current instance as follows:</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> A
         positive number equal to the index of the start of the first substring in
         the current instance that is equal to <paramref name="value"/>
         .</term>
									<description>
										<paramref name="value"/> was found.</description>
								</item>
								<item>
									<term>
										<paramref name="startIndex"/>
									</term>
									<description>
										<paramref name="value"/> is <see langword="Empty"/> .</description>
								</item>
								<item>
									<term> -1</term>
									<description>
										<paramref name="value"/> was not found.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> or <paramref name="count"/> is negative</para>
							<para> -or-</para>
							<para>
								<paramref name="startIndex"/> + <paramref name="count"/> is greater than the length of the current instance.</para>
						</exception>
						<remarks>
							<para> The search begins at <paramref name="startIndex"/> and continues
   until <paramref name="startIndex"/> + <paramref name="count"/> - 1 is reached. The character at
<paramref name="startIndex"/> + <paramref name="count"/> is
   not included in the
   search.</para>
							<para> This method is
   case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOfAny">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOfAny(class System.Char[] anyOf)"/>
					<MemberSignature Language="C#" Value="public int IndexOfAny(char[] anyOf);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="anyOf" Type="System.Char[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Reports the index of the first occurrence in the current
      instance of any character in a specified array of Unicode
      characters.</para>
						</summary>
						<param name="anyOf"> An array of Unicode characters.</param>
						<returns>
							<para>The index of the first occurrence of an element of <paramref name="anyOf"/> in the
   current instance; otherwise, -1 if no element of <paramref name="anyOf"/> was found.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="anyOf"/> is a null reference.</exception>
						<remarks>
							<para>This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOfAny">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOfAny(class System.Char[] anyOf, int32 startIndex)"/>
					<MemberSignature Language="C#" Value="public int IndexOfAny(char[] anyOf, int startIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="anyOf" Type="System.Char[]"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the index of the first occurrence of any element in a specified array
      of Unicode characters in the current instance, with the search starting from a
      specified index.</para>
						</summary>
						<param name="anyOf">An array of Unicode characters.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the current instance from which to start searching.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a positive value equal to the index of the
   first occurrence of an element of <paramref name="anyOf"/> in the current instance;
   otherwise, -1 if no element of <paramref name="anyOf"/>
   was found.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="anyOf"/> is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="startIndex"/> is greater than the length of the current instance</exception>
						<remarks>
							<para>This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IndexOfAny">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IndexOfAny(class System.Char[] anyOf, int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public int IndexOfAny(char[] anyOf, int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="anyOf" Type="System.Char[]"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the index of the first occurrence of any element in a specified Array
      of Unicode characters in the current instance, with the search over the
      specified range starting from the provided index.</para>
						</summary>
						<param name="anyOf">An array containing the Unicode characters to seek.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the current instance from which to start searching.</param>
						<param name="count">A <see cref="T:System.Int32"/> containing the range of the current instance at which to end searching.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a positive value equal to the index of
   the first occurrence of an element of <paramref name="anyOf"/> in the current instance;
   otherwise, -1 if no element of <paramref name="anyOf"/> was found.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="anyOf"/> is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> or <paramref name="count"/> is negative.</para>
							<para>-or-</para>
							<para>
								<paramref name="startIndex"/> + <paramref name="count"/> is greater than the length of the current instance. </para>
						</exception>
						<remarks>
							<para>The search begins at <paramref name="startIndex"/> and continues
   until <paramref name="startIndex"/> + <paramref name="count"/> - <paramref name="1"/>. The character at
<paramref name="startIndex"/> + <paramref name="count"/> is not included in the search.</para>
							<para>This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string Insert(int32 startIndex, string value)"/>
					<MemberSignature Language="C#" Value="public string Insert(int startIndex, string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.String"/> equivalent to the current instance with a specified
<see cref="T:System.String"/> inserted at the specified position.</para>
						</summary>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the insertion. </param>
						<param name="value">The <see cref="T:System.String"/> to insert. </param>
						<returns>
							<para>A new <see cref="T:System.String"/> that is equivalent to the current string with
<paramref name="value"/> inserted at index <paramref name="startIndex."/>
							</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> is greater than the length of the current instance. </para>
						</exception>
						<remarks>
							<para>In the new string returned by this method, the first
      character of <paramref name="value"/> is at <paramref name="startIndex,"/> and all characters in the
      current string from <paramref name="startIndex"/> to the end are inserted in the new
      string after the last character of <paramref name="value"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Intern">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Intern(string str)"/>
					<MemberSignature Language="C#" Value="public static string Intern(string str);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="str" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Retrieves the system's reference to a specified <see cref="T:System.String"/>. </para>
						</summary>
						<param name="str">A <see cref="T:System.String"/>. </param>
						<returns>
							<para> The <see cref="T:System.String"/> reference to <paramref name="str"/>.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="str"/> is a null reference. </exception>
						<remarks>
							<para> Instances of each unique literal string constant
      declared in a program, as well as any unique instance of <see cref="T:System.String"/> you add
      programmatically are kept in a table, called
      
      the "intern pool".
      </para>
							<para> The intern pool conserves string storage. If a literal
      string constant is assigned to several variables, each variable is set to
      reference the same constant in the intern pool instead of referencing several
      different instances of <see cref="T:System.String"/> that
      
      have identical values.
      </para>
							<para> This method looks up a specified string in the intern
      pool. If the string exists, a reference to it is returned. If it does not exist,
      an instance equal to the specified string is added to the intern pool and a
      reference that
      
      instance is returned.
      </para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.String.Intern(System.String)"/> method.</para>
							<code lang="C#">using System;
using System.Text;
public class StringExample {
 public static void Main() {

     String s1 = "MyTest"; 
        String s2 = new StringBuilder().Append("My").Append("Test").ToString(); 
        String s3 = String.Intern(s2);

        Console.WriteLine(Object.ReferenceEquals(s1, s2));    //different
        Console.WriteLine(Object.ReferenceEquals(s1, s3));    //the same
    }
}
</code>
							<para>The output is</para>
							<c>
								<para>False</para>
								<para>True</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsInterned">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string IsInterned(string str)"/>
					<MemberSignature Language="C#" Value="public static string IsInterned(string str);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="str" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Retrieves a reference to a specified <see cref="T:System.String"/>. </para>
						</summary>
						<param name="str">A <see cref="T:System.String"/>. </param>
						<returns>
							<para> A <see cref="T:System.String"/> reference to <paramref name="str"/> if it is in the system's
   intern pool; otherwise, a null reference.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="str"/> is a null reference. </exception>
						<remarks>
							<para>Instances of each unique literal string constant
      declared in a program, as well as any unique instance of <see cref="T:System.String"/> you add
      programmatically are kept in a table, called the "intern pool". </para>
							<para>The intern pool conserves string storage. If a literal
      string constant is assigned to several variables, each variable is set to
      reference the same constant in the intern pool instead of referencing several
      different instances of <see cref="T:System.String"/> that have identical values. </para>
							<para>
								<block subset="none" type="note"> This method
      does not return a <see cref="T:System.Boolean"/> value, but can still be used where a <see cref="T:System.Boolean"/>
      is needed.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.String.IsInterned(System.String)"/>
method.</para>
							<code lang="C#">using System;
using System.Text;

public class StringExample {
    public static void Main() {

        String s1 = new StringBuilder().Append("My").Append("Test").ToString(); 

        Console.WriteLine(String.IsInterned(s1) != null);
    }
}
</code>
							<para>The output is</para>
							<para>
								<c>True</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Join">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Join(string separator, class System.String[] value)"/>
					<MemberSignature Language="C#" Value="public static string Join(string separator, string[] value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="separator" Type="System.String"/>
						<Parameter Name="value" Type="System.String[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Concatenates the elements of a specified <see cref="T:System.String"/> array, inserting
   a separator string between each element pair and yielding
   a single concatenated string.</para>
						</summary>
						<param name="separator">A <see cref="T:System.String"/>. </param>
						<param name="value">A <see cref="T:System.String"/> array. </param>
						<returns>
							<para> A <see cref="T:System.String"/> consisting of the elements of <paramref name="value"/> separated
   by instances of the <paramref name="separator"/>
   string.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<example>
							<para>The following example demonstrates the <see cref="M:System.String.Join(System.String,System.String[])"/> method.</para>
							<code lang="C#">using System;
public class StringJoin {
 public static void Main() {
 String[] strAry = { "Red" , "Green" , "Blue" };
 Console.WriteLine( String.Join( " :: ", strAry ) );
 }
}
</code>
							<para>The output is</para>
							<para>
								<c>Red :: Green
   :: Blue</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Join">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string Join(string separator, class System.String[] value, int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public static string Join(string separator, string[] value, int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="separator" Type="System.String"/>
						<Parameter Name="value" Type="System.String[]"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Concatenates a specified separator <see cref="T:System.String"/>
between the elements of a
specified <see cref="T:System.String"/>
array, yielding a
single concatenated string.</para>
						</summary>
						<param name="separator">A <see cref="T:System.String"/>. </param>
						<param name="value">A <see cref="T:System.String"/> array. </param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the first array element in <paramref name="value"/> to join. </param>
						<param name="count">A <see cref="T:System.Int32"/> containing the number of elements in <paramref name="value"/> to join. </param>
						<returns>
							<para> A <see cref="T:System.String"/> consisting of the strings in <paramref name="value"/> joined by
<paramref name="separator"/>. Returns <see cref="F:System.String.Empty"/> if <paramref name="count"/> is zero, <paramref name="value"/> has no
   elements, or <paramref name="separator"/> and all the elements of <paramref name="value"/> are
<see langword="Empty"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="startIndex"/> plus <paramref name="count"/> is greater than the number of elements in <paramref name="value"/>.</exception>
						<example>
							<para>The following example demonstrates the <see cref="M:System.String.Join(System.String,System.String[])"/> method.</para>
							<code lang="C#">using System;
public class StringJoin {
 public static void Main() {
 String[] strAry = { "Red" , "Green" , "Blue" };
 Console.WriteLine( String.Join( " :: ", strAry, 1, 2 ) );
 }
}
</code>
							<para>The output is</para>
							<para>
								<c>Green ::
   Blue</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOf(string value, int32 startIndex)"/>
					<MemberSignature Language="C#" Value="public int LastIndexOf(string value, int startIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the index of the last occurrence of a specified
   <see cref="T:System.String"/>
   within the current instance.</para>
						</summary>
						<param name="value">A <see cref="T:System.String"/> .</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the current instance from which to start searching.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that indicates the result of the search for <paramref name="value"/>
in the current instance as follows:</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> A
         positive number equal to the index of the start of the last substring in
         the current instance that is equal to <paramref name="value"/>
         .</term>
									<description>
										<paramref name="value"/> was found.</description>
								</item>
								<item>
									<term>
										<paramref name="startIndex"/>
									</term>
									<description>
										<paramref name="value"/> is Empty.</description>
								</item>
								<item>
									<term> -1</term>
									<description>
										<paramref name="value"/> was not found.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. <paramref name=""/>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="startIndex"/> is less than zero or greater than or equal to the length of the current instance. </exception>
						<remarks>
							<para> This method searches for the last occurrence of the
      specified <see cref="T:System.String"/> between the start of the string and the indicated index.</para>
							<para> This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOf(string value, int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public int LastIndexOf(string value, int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the index of the last occurrence of a specified
   <see cref="T:System.String"/>
   in the provided range of
   the current instance.</para>
						</summary>
						<param name="value">The substring to search for.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the current instance from which to start searching.</param>
						<param name="count">A <see cref="T:System.Int32"/> containing the range of the current instance at which to end searching.</param>
						<returns>
   A <see cref="T:System.Int32"/> that indicates the result of the search for <paramref name="value"/>
   in the current instance as follows:<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> A
         positive number equal to the index of the start of the last substring in
         the current instance that is equal to <paramref name="value"/>
         .</term>
									<description>
										<paramref name="value"/> was found.</description>
								</item>
								<item>
									<term>
										<paramref name="startIndex"/>
									</term>
									<description>
										<paramref name="value"/> is <see langword="Empty"/> .</description>
								</item>
								<item>
									<term> -1</term>
									<description>
										<paramref name="value"/> was not found.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value "/>is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> or <paramref name="count"/> is less than zero.</para>
							<para> -or-</para>
							<para>
								<paramref name="startIndex"/> - <paramref name="count"/> is smaller than -1.</para>
						</exception>
						<remarks>
							<para>The search begins at <paramref name="startIndex"/> and continues
   until <paramref name="startIndex"/> - <paramref name="count"/>
   + 1.</para>
							<para> This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOf(string value)"/>
					<MemberSignature Language="C#" Value="public int LastIndexOf(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the index of the last occurrence of a specified
   <see cref="T:System.String"/> within
      the current instance.</para>
						</summary>
						<param name="value">A <see cref="T:System.String"/> .</param>
						<returns>
   A <see cref="T:System.Int32"/> that indicates the result of the search for <paramref name="value"/>
   in the current instance as follows:<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> A
         positive number equal to the index of the start of the last substring in
         the current instance that is equal to <paramref name="value"/>
         .</term>
									<description>
										<paramref name="value"/> was found.</description>
								</item>
								<item>
									<term> 0</term>
									<description>
										<paramref name="value"/> is
<see langword="Empty"/>.</description>
								</item>
								<item>
									<term> -1</term>
									<description>
										<paramref name="value"/> was not found.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference.</exception>
						<remarks>
							<para> The search is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOf(valuetype System.Char value, int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public int LastIndexOf(char value, int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the index of the last occurrence of a specified character in the provided range of the current instance.</para>
						</summary>
						<param name="value">A Unicode character to locate.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the current instance from which to start searching.</param>
						<param name="count">A <see cref="T:System.Int32"/> containing the range of the current instance at which to end searching.</param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the index of the last occurrence of <paramref name="value"/> in the
   current instance if found between <paramref name="startIndex"/> and (<paramref name="startIndex"/> -
<paramref name="count"/> + 1); otherwise, -1.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> or <paramref name="count"/> is less than zero.</para>
							<para> -or-</para>
							<para>
								<paramref name="startIndex"/> - <paramref name="count"/> is less than -1.</para>
						</exception>
						<remarks>
							<para>This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOf(valuetype System.Char value, int32 startIndex)"/>
					<MemberSignature Language="C#" Value="public int LastIndexOf(char value, int startIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the index of the last occurrence of a specified character within the current instance.</para>
						</summary>
						<param name="value">A Unicode character to locate.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index in the current instance from which to begin searching.</param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the index of the last occurrence of <paramref name="value"/> in the current instance, if found; otherwise, -1.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="startIndex"/> is less than zero or greater than the length of the current instance.</exception>
						<remarks>
							<para> This method searches for the last occurrence of the specified character between the start of the string and the indicated index.</para>
							<para>This method is case-sensitive.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.String.LastIndexOf(System.Char)"/> 
method.</para>
							<code lang="C#">using System;
public class StringLastIndexOfTest {
   public static void Main() {
      String str = "aa bb cc dd";
      
      Console.WriteLine( str.LastIndexOf('d', 8) );
      Console.WriteLine( str.LastIndexOf('b', 8) );
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>-1</para>
								<para>4</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOf(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public int LastIndexOf(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the index of the last occurrence of a specified character
      within the current instance.</para>
						</summary>
						<param name="value">The Unicode character to locate. </param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the index of the last occurrence of <paramref name="value"/>
in the current instance, if found; otherwise, -1.</para>
						</returns>
						<remarks>
							<para> This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOfAny">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOfAny(class System.Char[] anyOf)"/>
					<MemberSignature Language="C#" Value="public int LastIndexOfAny(char[] anyOf);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="anyOf" Type="System.Char[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the index of the last occurrence of any element of a specified array of characters in the current instance.</para>
						</summary>
						<param name="anyOf">An array of Unicode characters. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the index of the last occurrence of any element of
<paramref name="anyOf"/> in the current instance, if found; otherwise, -1.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="anyOf"/> is a null reference. </exception>
						<remarks>
							<para> This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOfAny">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOfAny(class System.Char[] anyOf, int32 startIndex)"/>
					<MemberSignature Language="C#" Value="public int LastIndexOfAny(char[] anyOf, int startIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="anyOf" Type="System.Char[]"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the index of the last occurrence of any element of a specified array of characters in the current instance.</para>
						</summary>
						<param name="anyOf">An array of Unicode characters. </param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the current instance from which to start searching. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the index of the last occurrence of any element of <paramref name="anyOf"/> in the
   current instance, if found; otherwise, -1.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="anyOf"/> is a null reference.<paramref name=""/>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> is less than zero or greater than or equal to the length of the current instance.</para>
						</exception>
						<remarks>
							<para> This method searches for the last occurrence of the specified
      characters between the start of the string and the indicated index.</para>
							<para>This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastIndexOfAny">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 LastIndexOfAny(class System.Char[] anyOf, int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public int LastIndexOfAny(char[] anyOf, int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="anyOf" Type="System.Char[]"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the index of the last occurrence of any of specified characters in the provided range of the current instance.</para>
						</summary>
						<param name="anyOf">An array of Unicode characters.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the current instance from which to start searching.</param>
						<param name="count">A <see cref="T:System.Int32"/> containing the range of the current instance at which to end searching.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the index of the last occurrence of any element of
<paramref name="anyOf"/> if found between <paramref name="startIndex"/> and (<paramref name="startIndex"/> -
<paramref name="count"/> + 1); otherwise, -1.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="anyOf"/> is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> or <paramref name="count"/> is less than zero.</para>
							<para> -or-</para>
							<para>
								<paramref name="startIndex"/> - <paramref name="count"/> is smaller than -1.</para>
						</exception>
						<remarks>
							<para>The search begins at <paramref name="startIndex"/> and continues
   until <paramref name="startIndex"/> - <paramref name="count"/> + 1. The character at
<paramref name="startIndex"/> - <paramref name="count"/> is not included 
   in the search.</para>
							<para> This
   method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Length">
					<MemberSignature Language="ILASM" Value=".property int32 Length { public hidebysig specialname instance int32 get_Length() }"/>
					<MemberSignature Language="C#" Value="public int Length { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the number of characters in the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> containing the number of characters in the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="P:System.String.Length"/> property.</para>
							<code lang="C#">using System;
public class StringLengthExample {
 public static void Main() {
 string str = "STRING";
 Console.WriteLine( "The length of string {0} is {1}", str, str.Length );
 }
}
</code>
							<para>The output is</para>
							<para>
								<c>The length
   of string STRING is 6</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Equality">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_Equality(string a, string b)"/>
					<MemberSignature Language="C#" Value="public static bool operator ==(String a, String b);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="a" Type="System.String"/>
						<Parameter Name="b" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> value indicating whether the two
   specified string values are equal to
   each other.</para>
						</summary>
						<altmember cref="M:System.String.Equals(System.Object)"/>
						<param name="a">The first <see cref="T:System.String"/> to compare.</param>
						<param name="b">The second <see cref="T:System.String"/> to compare.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="a"/> and <paramref name="b"/>
represent the same string value; otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Inequality">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_Inequality(string a, string b)"/>
					<MemberSignature Language="C#" Value="public static bool operator !=(String a, String b);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="a" Type="System.String"/>
						<Parameter Name="b" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> value indicating whether the two string
   values are not equal to
   each other.</para>
						</summary>
						<altmember cref="M:System.String.Equals(System.Object)"/>
						<param name="a">The first <see cref="T:System.String"/> to compare.</param>
						<param name="b">The second <see cref="T:System.String"/> to compare.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="a"/> and <paramref name="b"/> do not
   represent the same string value; otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PadLeft">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string PadLeft(int32 totalWidth)"/>
					<MemberSignature Language="C#" Value="public string PadLeft(int totalWidth);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="totalWidth" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Right-aligns the characters in the current instance, padding with spaces on the left,
      for a specified total length.</para>
						</summary>
						<param name="totalWidth">A <see cref="T:System.Int32"/> containing the number of characters in the resulting string.</param>
						<returns>
							<para>A new <see cref="T:System.String"/> that 
   is equivalent to the current instance right-aligned and padded on the left with as
   many spaces as needed to create a length of <paramref name="totalWidth"/>. If <paramref name="totalWidth"/> is less than the length of the current instance, returns a new
<see cref="T:System.String"/> that is identical 
   to the current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="totalWidth "/> is less than zero.</exception>
						<remarks>
							<para>
								<block subset="none" type="note"> A space in Unicode
      format is defined as the hexadecimal value 0x20.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PadLeft">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string PadLeft(int32 totalWidth, valuetype System.Char paddingChar)"/>
					<MemberSignature Language="C#" Value="public string PadLeft(int totalWidth, char paddingChar);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="totalWidth" Type="System.Int32"/>
						<Parameter Name="paddingChar" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Right-aligns the characters in the current instance, padding on the left with a specified
      Unicode character, for a specified total length.</para>
						</summary>
						<param name="totalWidth">A <see cref="T:System.Int32"/> containing the number of characters in the resulting string. </param>
						<param name="paddingChar">A <see cref="T:System.Char"/> that specifies the padding character to use.</param>
						<returns>
							<para>A new <see cref="T:System.String"/> that is equivalent to the current instance right-aligned
   and padded on the left with as many <paramref name="paddingChar"/> characters as needed to
   create a length of <paramref name="totalWidth"/> . If <paramref name="totalWidth"/> is less than the length of the current
   instance, returns a new <see cref="T:System.String"/> that is identical
   to the current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="totalWidth"/> is less than zero.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PadRight">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string PadRight(int32 totalWidth, valuetype System.Char paddingChar)"/>
					<MemberSignature Language="C#" Value="public string PadRight(int totalWidth, char paddingChar);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="totalWidth" Type="System.Int32"/>
						<Parameter Name="paddingChar" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Left-aligns the characters in the current instance, padding on the right with a specified Unicode character,
      for a specified total number of characters.</para>
						</summary>
						<param name="totalWidth">A <see cref="T:System.Int32"/> containing the number of characters in the resulting string. </param>
						<param name="paddingChar">A <see cref="T:System.Char"/> that specifies the padding character to use.</param>
						<returns>
							<para>A new <see cref="T:System.String"/> that is equivalent to the current instance left aligned and
   padded on the right with as many <paramref name="paddingChar"/> characters as needed to
   create a length of <paramref name="totalWidth"/>. If <paramref name="totalWidth"/> is less than the length of the current instance, returns a new
<see cref="T:System.String"/> that is identical 
   to the current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="totalWidth"/> is less than zero.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PadRight">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string PadRight(int32 totalWidth)"/>
					<MemberSignature Language="C#" Value="public string PadRight(int totalWidth);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="totalWidth" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Left-aligns the characters in the current instance, padding with spaces on the right, for a
      specified total number of characters.</para>
						</summary>
						<param name="totalWidth">A <see cref="T:System.Int32"/> containing the number of characters in the resulting string.</param>
						<returns>
							<para>A new <see cref="T:System.String"/> that is equivalent to this instance left aligned and
   padded on the right with as many spaces as needed to create a length of
<paramref name="totalWidth"/>. If <paramref name="totalWidth"/> is less than the length of the current
   instance, returns a new <see cref="T:System.String"/> that is identical
   to the current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="totalWidth "/>is less than zero.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Remove">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string Remove(int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public string Remove(int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Deletes a specified number of characters from the current
      instance beginning at a specified index.</para>
						</summary>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the current instance from which to start deleting characters.</param>
						<param name="count">A <see cref="T:System.Int32"/> containing the number of characters to delete.</param>
						<returns>
							<para> A new <see cref="T:System.String"/> that is equivalent to the current instance without the
   specified range characters.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> or <paramref name="count"/> is less than zero.</para>
							<para> -or-</para>
							<para>
								<paramref name="startIndex"/> plus <paramref name="count"/> is greater than the length of the current instance.</para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Replace">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string Replace(string oldValue, string newValue)"/>
					<MemberSignature Language="C#" Value="public string Replace(string oldValue, string newValue);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="oldValue" Type="System.String"/>
						<Parameter Name="newValue" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Replaces all instances of a specified substring within
      the current instance with another specified string. </para>
						</summary>
						<param name="oldValue">A <see cref="T:System.String"/> containing the string value to be replaced. </param>
						<param name="newValue">A <see cref="T:System.String"/> containing the string value to replace all occurrences of <paramref name="oldValue"/>. Can be a null reference. </param>
						<returns>
							<para> A <see cref="T:System.String"/> equivalent to the current instance with all occurrences of
<paramref name="oldValue"/> replaced with <paramref name="newValue"/>. If the replacement value is a 
   null reference, the specified substring is removed.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Replace">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string Replace(valuetype System.Char oldChar, valuetype System.Char newChar)"/>
					<MemberSignature Language="C#" Value="public string Replace(char oldChar, char newChar);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="oldChar" Type="System.Char"/>
						<Parameter Name="newChar" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Replaces all instances of a specified Unicode character
      with another specified Unicode character. </para>
						</summary>
						<param name="oldChar">The Unicode character to be replaced. </param>
						<param name="newChar">The Unicode character to replace all occurrences of <paramref name="oldChar"/>. </param>
						<returns>
							<para> A <see cref="T:System.String"/> equivalent to the current instance with all occurrences of
<paramref name="oldChar"/> replaced with <paramref name="NewChar"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Split">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.String[] Split(class System.Char[] separator)"/>
					<MemberSignature Language="C#" Value="public string[] Split(params char[] separator);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="separator" Type="System.Char[]">
							<Attributes>
								<Attribute>
									<AttributeName>ParamArrayAttribute</AttributeName>
									<Excluded>1</Excluded>
									<ExcludedTypeName>System.ParamArrayAttribute</ExcludedTypeName>
									<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
								</Attribute>
							</Attributes>
						</Parameter>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns substrings of the current instance that are
      delimited by the specified characters.</para>
						</summary>
						<param name="separator">A <see cref="T:System.Char"/> array of delimiters. Can be a null reference.</param>
						<returns>
							<para>A <see cref="T:System.String"/> array containing the results of the split operation as
   follows:</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> A single-element array containing the
         current instance.</term>
									<description>None of the elements of <paramref name="separator"/>
   are contained in the current instance.</description>
								</item>
								<item>
									<term> A
      multi-element <see cref="T:System.String"/> array, each element of which is a substring of the
      current instance that was delimited by one or more characters in
      <paramref name="separator."/>
									</term>
									<description>At least one element of <paramref name="separator"/> is contained in the current
   instance.</description>
								</item>
								<item>
									<term>A multi-element <see cref="T:System.String"/> array, each
   element of which is a substring of the current instance that was delimited
   by white space characters.</term>
									<description>The current instance contains white space characters and
<paramref name="separator"/> is a null reference or an empty 
   array.</description>
								</item>
							</list>
						</returns>
						<remarks>
							<para>
								<see cref="F:System.String.Empty"/> is returned for any substring where two delimiters are
   adjacent or a delimiter is found at the beginning or end of the current
   instance.</para>
							<para>Delimiter characters are not included in the
   substrings.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Split">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.String[] Split(class System.Char[] separator, int32 count)"/>
					<MemberSignature Language="C#" Value="public string[] Split(char[] separator, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="separator" Type="System.Char[]"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns substrings of the current instance that are delimited by the specified characters. </para>
						</summary>
						<param name="separator">An array of Unicode characters that delimit the substrings in the current instance, an empty array containing no delimiters, or a null reference.</param>
						<param name="count">A <see cref="T:System.Int32"/> containing the maximum number of array elements to return.</param>
						<returns>
							<para>A <see cref="T:System.String"/> array containing the results of the split operation as
   follows:</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> A single-element array containing the
         current instance.</term>
									<description>None of the elements of <paramref name="separator"/> are
      contained in the current instance.</description>
								</item>
								<item>
									<term> A
      multi-element <see cref="T:System.String"/> array, each element of
      which is a substring of the current instance that was delimited by one or
      more characters in <paramref name="separator"/>
									</term>
									<description>At least one element of <paramref name="separator"/> is
   contained in the current instance.</description>
								</item>
								<item>
									<term> A
      multi-element <see cref="T:System.String"/> array, each element of
      which is a substring of the current instance that was delimited by white
      space characters.</term>
									<description>The current instance contains white space
      characters and <paramref name="separator"/> is a null reference or an empty
      array.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="count"/> is negative.</exception>
						<remarks>
							<para>
								<see cref="F:System.String.Empty"/> is returned for any substring where two delimiters are
   adjacent or a delimiter is found at the beginning or end of the current
   instance.</para>
							<para>Delimiter characters are not included in the
   substrings.</para>
							<para>If there are more substrings in the current instance than the
   maximum specified number, the first <paramref name="count"/> -1 elements of the array
   contain the first <paramref name="count"/> - 1 substrings. The remaining characters in the
   current instance are returned in the last element of the array.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="StartsWith">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance bool StartsWith(string value)"/>
					<MemberSignature Language="C#" Value="public bool StartsWith(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> value that indicates whether the start of the current instance
   matches the specified <see cref="T:System.String"/>.</para>
						</summary>
						<param name="value">A <see cref="T:System.String"/> . </param>
						<returns>
							<para>
								<see langword="true"/> if the start of the current
   instance is equal to <paramref name="value"/>; <see langword="false"/> if <paramref name="value"/> is
   not equal to the start of the current instance or is longer than the current
   instance.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference. </exception>
						<remarks>
							<para> This method compares <paramref name="value"/> with the substring
   at the start of the current instance that has a length of
<paramref name="value"/>.Length. If <paramref name="value"/>.Length is greater than the length of 
   the current instance or the relevant substring of the current instance is not
   equal to <paramref name="value"/>, this method returns <see langword="false"/>; otherwise,
   this method returns <see langword="true"/>
   .
   </para>
							<para> The
   comparison is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Substring">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string Substring(int32 startIndex, int32 length)"/>
					<MemberSignature Language="C#" Value="public string Substring(int startIndex, int length);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Retrieves a substring from the current instance, starting from a specified index, continuing for a specified
      length.</para>
						</summary>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the start of the substring in the current instance.</param>
						<param name="length">A <see cref="T:System.Int32"/> containing the number of characters in the substring.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing the substring of the current instance with 
   the specified length that begins at the specified position. Returns <see cref="F:System.String.Empty"/> if <paramref name="startIndex"/> is equal to the length of
   the current instance and length is zero.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="length"/> is greater than the length of the current instance.</para>
							<para> -or-</para>
							<para>
								<paramref name="startIndex"/> or <paramref name="length"/> is less than zero.</para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Substring">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string Substring(int32 startIndex)"/>
					<MemberSignature Language="C#" Value="public string Substring(int startIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="startIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Retrieves a substring from the current instance, starting from a specified index.</para>
						</summary>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the start of the substring in the current instance.</param>
						<returns>
							<para>A <see cref="T:System.String"/> equivalent to the substring that begins at
<paramref name="startIndex"/> of the current 
   instance. Returns <see cref="F:System.String.Empty"/>
   if <paramref name="startIndex"/> is equal to the length of the current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="startIndex"/> is less than zero or greater than the length of the current instance.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.Collections.IEnumerable.GetEnumerator">
					<MemberSignature Language="ILASM" Value=".method private final hidebysig virtual class System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()"/>
					<MemberSignature Language="C#" Value="IEnumerator IEnumerable.GetEnumerator();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.IEnumerator</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.Collections.IEnumerable"/> interface. [Note: For more information, see <see cref="M:System.Collections.IEnumerable.GetEnumerator"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToCharArray">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Char[] ToCharArray()"/>
					<MemberSignature Language="C#" Value="public char[] ToCharArray();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Copies the characters in the current instance to a Unicode character array. </para>
						</summary>
						<returns>
							<para> A <see cref="T:System.Char"/> 
array whose elements are the individual characters of
the current instance. If the current instance is an empty string, the array returned by this method is empty
and has a zero length.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToCharArray">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Char[] ToCharArray(int32 startIndex, int32 length)"/>
					<MemberSignature Language="C#" Value="public char[] ToCharArray(int startIndex, int length);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Copies the characters in a specified substring in the current instance to a Unicode character array. </para>
						</summary>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index of the start of a substring in the current instance. </param>
						<param name="length">A <see cref="T:System.Int32"/> containing the length of the substring in the current instance. </param>
						<returns>
							<para>A <see cref="T:System.Char"/> array whose elements are the
<paramref name="length"/> number of characters in the current instance, starting from the
   index <paramref name="startIndex"/> in the current instance. If the specified length is
   zero, the entire string is copied starting from the beginning of the current
   instance, and ignoring the value of <paramref name="startIndex"/>. If the current instance
   is an empty string, the returned array is empty and has a zero length.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> or <paramref name="length"/> is less than zero. </para>
							<para> -or- </para>
							<para>
								<paramref name="startIndex"/> plus <paramref name="length"/> is greater than the length of the current instance. </para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToLower">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToLower()"/>
					<MemberSignature Language="C#" Value="public string ToLower();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a copy of this <see cref="T:System.String"/> in lower case.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> in lower case..</para>
						</returns>
						<remarks>
							<para> This method takes into account the culture of the
      current
      thread.</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value
   of the current instance.</para>
						</summary>
						<returns>
							<para>The current <see cref="T:System.String"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns this instance of <see langword="String"/>; no
   actual conversion is performed.</para>
						</summary>
						<param name="provider">(Reserved) A <see cref="T:System.IFormatProvider"/> interface implementation which supplies culture-specific formatting information.</param>
						<returns>
							<para>This <see langword="String"/>.</para>
						</returns>
						<remarks>
							<para>
								<paramref name="provider"/> is reserved, and does not
   currently participate in this operation.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToUpper">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToUpper()"/>
					<MemberSignature Language="C#" Value="public string ToUpper();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a copy of the current instance with all elements
      converted to
      upper case, using default properties.</para>
						</summary>
						<returns>
							<para>A new <see cref="T:System.String"/> 
in upper case.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Trim">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string Trim(class System.Char[] trimChars)"/>
					<MemberSignature Language="C#" Value="public string Trim(params char[] trimChars);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="trimChars" Type="System.Char[]">
							<Attributes>
								<Attribute>
									<AttributeName>ParamArrayAttribute</AttributeName>
									<Excluded>1</Excluded>
									<ExcludedTypeName>System.ParamArrayAttribute</ExcludedTypeName>
									<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
								</Attribute>
							</Attributes>
						</Parameter>
					</Parameters>
					<Docs>
						<summary>
							<para> Removes all occurrences of a set of characters provided
      in a character <see cref="T:System.Array"/> from the beginning and
      end of the current instance.</para>
						</summary>
						<param name="trimChars">An array of Unicode characters. Can be a null reference.</param>
						<returns>
							<para>A new <see cref="T:System.String"/> equivalent to the current instance with the characters
   in <paramref name="trimChars"/> removed from its beginning and end. If <paramref name="trimChars"/>
   is a null reference, all of the white space characters are removed from the
   beginning and end of
   the current instance.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Trim">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string Trim()"/>
					<MemberSignature Language="C#" Value="public string Trim();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Removes all occurrences of white space characters from the beginning and
      end of the current instance.</para>
						</summary>
						<returns>
							<para>A new <see cref="T:System.String"/> equivalent to the current instance after
   white space characters
   are removed from its
   beginning and end.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TrimEnd">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string TrimEnd(class System.Char[] trimChars)"/>
					<MemberSignature Language="C#" Value="public string TrimEnd(params char[] trimChars);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="trimChars" Type="System.Char[]">
							<Attributes>
								<Attribute>
									<AttributeName>ParamArrayAttribute</AttributeName>
									<Excluded>1</Excluded>
									<ExcludedTypeName>System.ParamArrayAttribute</ExcludedTypeName>
									<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
								</Attribute>
							</Attributes>
						</Parameter>
					</Parameters>
					<Docs>
						<summary>
							<para> Removes all occurrences of a set of characters specified
      in a Unicode character <see cref="T:System.Array"/> from the
      end of the current instance.</para>
						</summary>
						<param name="trimChars">An array of Unicode characters. Can be a null reference.</param>
						<returns>
							<para>A new <see cref="T:System.String"/> equivalent to the current instance with characters in
<paramref name="trimChars"/> removed from its end. If <paramref name="trimChars"/> is a null reference, white space
   characters are removed.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TrimStart">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string TrimStart(class System.Char[] trimChars)"/>
					<MemberSignature Language="C#" Value="public string TrimStart(params char[] trimChars);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="trimChars" Type="System.Char[]">
							<Attributes>
								<Attribute>
									<AttributeName>ParamArrayAttribute</AttributeName>
									<Excluded>1</Excluded>
									<ExcludedTypeName>System.ParamArrayAttribute</ExcludedTypeName>
									<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
								</Attribute>
							</Attributes>
						</Parameter>
					</Parameters>
					<Docs>
						<summary>
							<para> Removes all occurrences of a set of characters specified in a Unicode character array from the
      beginning of the current instance.</para>
						</summary>
						<param name="trimChars">An array of Unicode characters or a null reference.</param>
						<returns>
							<para>A new <see cref="T:System.String"/> equivalent to the current instance with the characters
   in <paramref name="trimChars"/> removed from its beginning. If <paramref name="trimChars"/> is a
   null reference, white space
   characters are removed.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="StringBuilder" FullName="System.Text.StringBuilder" FullNameSP="System_Text_StringBuilder">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable StringBuilder extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class StringBuilder"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
   Represents a mutable string of characters.
</summary>
				<remarks>
					<para>This class represents string-like objects that are
      mutable. After a <see cref="T:System.Text.StringBuilder"/> object has been created, it can be directly modified by
      removing, replacing, or inserting characters. This contrasts the <see cref="T:System.String"/> class, which
      represents an immutable string of characters.</para>
					<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of an instance of the <see cref="T:System.Text.StringBuilder"/> class is
   the maximum number of characters it can hold in the currently allocated space.
   The <see cref="T:System.Text.StringBuilder"/> will dynamically allocate more space when it is
   required.</para>
					<para>Unlike most types in the Base Class Library, the arguments to <see cref="T:System.Text.StringBuilder"/> members
are assumed to be passed as <see langword="in"/> / <see langword="out"/> arguments
(passed by reference). <block subset="none" type="note">Normally arguments
are <see langword="in"/> arguments (passed by value) unless explicitly declared
as <see langword="out"/> or <see langword="in "/>/
<see langword="out"/>.</block>
					</para>
					<block subset="none" type="note">
						<para>An instance of <see cref="T:System.String"/> is said to be "immutable" because its
   value cannot be modified once it has been created. Methods on <see cref="T:System.String"/> that appear to
   modify a <see cref="T:System.String"/>
   instance actually return a new instance containing the modification. The <see cref="T:System.Text.StringBuilder"/> class
   provides methods that actually modify the contents of a string-like object.</para>
						<para>Relational operators only perform reference comparisons
   (unless overloaded by a particular language compiler). Despite this restriction,
   relational operators can be used to compare <see cref="T:System.String"/> objects that are assigned literal
   values. Their values are immutable and can't change, so a reference comparison
   is sufficient. Because <see cref="T:System.Text.StringBuilder"/> instances are mutable, they should not be compared with
   relational operators.</para>
						<para>For performance reasons a <see cref="T:System.Text.StringBuilder"/> might
allocate more memory than needed. The amount of memory allocated is
implementation specific.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>DefaultMemberAttribute("Chars")</AttributeName>
					<Excluded>1</Excluded>
					<ExcludedTypeName>System.Reflection.DefaultMemberAttribute</ExcludedTypeName>
					<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public StringBuilder();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs and initializes a new, empty instance of the <see cref="T:System.Text.StringBuilder"/>
class.</para>
						</summary>
						<remarks>
							<para> The new instance of <see cref="T:System.Text.StringBuilder"/> represents a string equal to <see cref="F:System.String.Empty"/>. The <see cref="P:System.Text.StringBuilder.Capacity"/>
is set to the default capacity.</para>
							<para>
								<block subset="none" type="note"> The default value
   of the <see cref="P:System.Text.StringBuilder.Capacity"/>
   property is implementation dependent.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder(string value);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Text.StringBuilder"/> class, with the specified <see cref="T:System.String"/> as its value.</para>
						</summary>
						<param name="value">A <see cref="T:System.String"/> containing the string value of the new instance of <see cref="T:System.Text.StringBuilder"/>.</param>
						<remarks>
							<para>
								<block subset="none" type="note"> The <see cref="P:System.Text.StringBuilder.Capacity"/> of
   the new instance is implementation defined.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 capacity)"/>
					<MemberSignature Language="C#" Value="public StringBuilder(int capacity);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="capacity" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new, empty instance of the <see cref="T:System.Text.StringBuilder"/> class, with a specified
<see cref="P:System.Text.StringBuilder.Capacity"/>
.</para>
						</summary>
						<param name="capacity">A <see cref="T:System.Int32"/> containing the starting number of characters allowed in the <see cref="T:System.Text.StringBuilder"/> . </param>
						<remarks>
							<para> If the specified capacity is less than the default
      capacity, the <see cref="P:System.Text.StringBuilder.Capacity"/> of the new instance of <see cref="T:System.Text.StringBuilder"/> is set to
      the default value. The <see cref="T:System.Text.StringBuilder"/> will dynamically allocate more space when it is
      required.
      </para>
							<para> The new <see cref="T:System.Text.StringBuilder"/> is initialized to represent an empty
   string.
   </para>
							<para>
								<block subset="none" type="note"> The default value
   of the <see cref="P:System.Text.StringBuilder.Capacity"/>
   property is implementation dependent.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(valuetype System.Char value, int32 repeatCount)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(char value, int repeatCount);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
						<Parameter Name="repeatCount" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Appends multiple copies of a character to the end of the 
      current <see cref="T:System.Text.StringBuilder"/>
      .
      </para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> to be appended.</param>
						<param name="repeatCount">A <see cref="T:System.Int32"/> containing the number of times to append <paramref name="value"/> . </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="repeatCount"/> is less than zero.</exception>
						<remarks>
							<para>This method appends <paramref name="repeatCount"/> copies of the specified character to
   the current instance.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
necessary.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(class System.Char[] value, int32 startIndex, int32 charCount)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(char[] value, int startIndex, int charCount);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char[]"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="charCount" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of an array of Unicode characters to the
      end of the current instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> array to be appended.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index in <paramref name="value"/> at which the subarray starts. </param>
						<param name="charCount">A <see cref="T:System.Int32"/> containing the number of characters to copy from <paramref name="value"/> . </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference, and <paramref name="startIndex"/> and <paramref name="charCount"/> are not both zero.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="charCount"/> or <paramref name="startIndex"/> is less than zero.</para>
							<para>-or-</para>
							<para>The sum of <paramref name="startIndex"/> and <paramref name="charCount"/> is greater than the length of <paramref name="value"/>.</para>
						</exception>
						<remarks>
							<para>This method appends with the specified range of characters from the
   <paramref name="value"/> array to the current instance. If <paramref name="value"/> is a null
      reference, and both <paramref name="startIndex"/> and <paramref name="charCount"/> are zero, no
      changes are made.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(string value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends a copy of a string to the end of the current instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to be appended. </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<remarks>
							<para>This method appends the <paramref name="value"/> string to the
   current instance. If <paramref name="value"/> is a null reference, no changes are
   made.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
necessary.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(string value, int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(string value, int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends a copy of an array of Unicode characters, specified by a starting
      index and length, of a specified <see cref="T:System.String"/> to the end of the current instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> from which the substring will be taken. </param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index in <paramref name="value"/> from which to start copying.</param>
						<param name="count">A <see cref="T:System.Int32"/> containing the number of characters to copy from <paramref name="value"/> . </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference, and <paramref name="startIndex"/> and <paramref name="count"/> are not both zero.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="charCount"/> or <paramref name="startIndex"/> is less than zero. </para>
							<para> -or- </para>
							<para>The sum of <paramref name="startIndex"/> and <paramref name="charCount"/> is greater than the length of <paramref name="value"/> . </para>
						</exception>
						<remarks>
							<para>This method appends the specified range of characters in
      the <paramref name="value"/> string to the current instance. If <paramref name="value"/> is a null
      reference and <paramref name="startIndex"/> and <paramref name="count"/> are both zero, no changes
      are made.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(bool value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of a <see cref="T:System.Boolean"/> to the end of the current
   instance.</para>
						</summary>
						<param name="value">A <see cref="T:System.Boolean"/> to be appended. </param>
						<returns>
							<para> The current instance after the operation has
      occurred.
      </para>
						</returns>
						<remarks>
							<para> This method appends
   <paramref name="value"/>.ToString()
      to the current instance.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/>
of the current instance is increased as necessary.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(int8 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of a <see cref="T:System.SByte"/> to the end of the current
   instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> to be appended. </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Text.StringBuilder.Append(System.Char,System.Int32)"/>(<see cref="T:System.Int16"/>).</para>
							<para>This method appends
   <paramref name="value"/>.ToString() to the current instance.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of a <see cref="T:System.Byte"/> to the end of the current instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> to be appended. </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<remarks>
							<para>This method appends
   <paramref name="value"/>.ToString() to
      the current instance.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of a Unicode character to the end of the
      current instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> to be appended. </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<remarks>
							<para>This method appends the specified character to the current instance.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(int16 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of a <see cref="T:System.Int16"/> to the end of the current
   instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int16"/> to be appended. </param>
						<returns>
							<para> The current instance after the operation has occurred.
      </para>
						</returns>
						<remarks>
							<para>This method appends
   <paramref name="value"/>.ToString() to the current instance.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(int32 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of a <see cref="T:System.Int32"/> to the end of the current
   instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int32"/> to be appended. </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<remarks>
							<para>This method appends
   <paramref name="value"/>.ToString() to the current instance.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(int64 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of a <see cref="T:System.Int64"/> to the end of the current
   instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int64"/> to be appended. </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<remarks>
							<para>This method appends
   <paramref name="value"/>.ToString() to the current instance.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(float32 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of a <see cref="T:System.Single"/>
to the end of the current instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> to be appended. </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<remarks>
							<para>This method appends
   <paramref name="value"/>.ToString() to the current instance.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(float64 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of a <see cref="T:System.Double"/>
to the end of the current instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> to be appended. </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<remarks>
							<para>This method appends
   <paramref name="value"/>.ToString() to the current instance.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(decimal value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of a <see cref="T:System.Decimal"/> to
   the end of the current instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> to be appended. </param>
						<returns>
							<para> The current instance after the operation has
      occurred.
      </para>
						</returns>
						<remarks>
							<para>This method appends
   <paramref name="value"/>.ToString() to
      the current instance.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of a <see cref="T:System.UInt16"/> to the end of the current
   instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.UInt16"/> to be appended. </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Text.StringBuilder.Append(System.Char,System.Int32)"/>(<see cref="T:System.Int32"/>).</para>
							<para>This method appends
   <paramref name="value"/>.ToString() to
      the current instance.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of a <see cref="T:System.UInt32"/> to the end of the current
   instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.UInt32"/> to be appended. </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Text.StringBuilder.Append(System.Char,System.Int32)"/>(<see cref="T:System.Int64"/>).</para>
							<para>This method appends
   <paramref name="value"/>.ToString() to
      the current instance.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of a <see cref="T:System.UInt64"/> to the end of the current
   instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.UInt64"/> to be appended. </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Text.StringBuilder.Append(System.Char,System.Int32)"/>(<see cref="T:System.Decimal"/>).</para>
							<para>This method appends
   <paramref name="value"/>.ToString() to
      the current instance.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(object value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the string representation of an object to the end of the current
      instance.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to be appended. </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<remarks>
							<para>This method appends
   <paramref name="value"/>.ToString() to the current instance. If <paramref name="value"/> is a
      null reference, no changes are made.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Append">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Append(class System.Char[] value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Append(char[] value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Appends the string representation of all of the
      characters in a <see cref="T:System.Array"/> to the end of the
      current instance.
      </para>
						</summary>
						<param name="value">The array of <see cref="T:System.Char"/> to be appended. </param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<remarks>
							<para>This method appends all of the characters in the specified array to the
      current instance in the same order as they appear in <paramref name="value"/>. If
   <paramref name="value"/> is a null reference no changes are made.</para>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance is increased as
   necessary.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AppendFormat">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder AppendFormat(string format, object arg0, object arg1, object arg2)"/>
					<MemberSignature Language="C#" Value="public StringBuilder AppendFormat(string format, object arg0, object arg1, object arg2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
						<Parameter Name="arg1" Type="System.Object"/>
						<Parameter Name="arg2" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the specified string to the current instance, with
      the format specifications in that string being replaced with the appropriately formatted
      string values of the specified objects.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing zero or more format specifications.</param>
						<param name="arg0">The first <see cref="T:System.Object"/> to be formatted. Can be a null reference.</param>
						<param name="arg1">The second <see cref="T:System.Object"/> to be formatted. Can be a null reference.</param>
						<param name="arg2">The third <see cref="T:System.Object"/> to be formatted. Can be a null reference.</param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This method appends the formatted copy of the specified 
      string to the current instance. If an object referenced in the format string is
   <see langword="null"/> 
   , an empty string is used in its place.</para>
							<para>
								<block subset="none" type="note"> This version of
<see cref="M:System.Text.StringBuilder.AppendFormat(System.String,System.Object)"/> is equivalent to <see cref="M:System.Text.StringBuilder.AppendFormat(System.String,System.Object)"/>(
<see langword="null"/> , <paramref name="format"/>,
<see langword="new Object[]"/>
{<paramref name="arg0, arg1, arg2"/>} ). For more information on the format specification, see the
<see cref="T:System.String"/>
class overview. </block>
							</para>
						</remarks>
						<example>
							<code lang="C#">using System;
using System.Text;

public class StringBuilderTest {
  public static void Main() {

     StringBuilder sb = new StringBuilder("The high ");
     Console.WriteLine( sb.AppendFormat("temperature today was {0} {1} {2}.", "very", "very", "high") ); 
  }
}
   </code>
							<para>The output is</para>
							<para>
								<c>The high
      temperature today was very very high.</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AppendFormat">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder AppendFormat(class System.IFormatProvider provider, string format, class System.Object[] args)"/>
					<MemberSignature Language="C#" Value="public StringBuilder AppendFormat(IFormatProvider provider, string format, params object[] args);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="args" Type="System.Object[]">
							<Attributes>
								<Attribute>
									<AttributeName>ParamArrayAttribute</AttributeName>
									<Excluded>1</Excluded>
									<ExcludedTypeName>System.ParamArrayAttribute</ExcludedTypeName>
									<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
								</Attribute>
							</Attributes>
						</Parameter>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the specified string to the current instance, with the format specifications in that string being replaced
      with the string values of the specified array of objects, formatted in
      accordance with the formatting object returned by the specified <see cref="T:System.IFormatProvider"/>.</para>
						</summary>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a formatting object that provides culture specific formatting information. Can be a null reference.</param>
						<param name="format">A <see cref="T:System.String"/> containing zero or more format specifications.</param>
						<param name="args"> A <see cref="T:System.Object"/> array to be formatted.</param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> or <paramref name="args"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This method appends the formatted copy of the specified
      string to the current instance. If an object referenced in the format string is
   <see langword="null"/>
   , an empty string is used in its place.</para>
							<para>The format parameter is embedded with zero or more format
   specifications of the form, {<paramref name="N"/> [, <paramref name="M"/>
   ][: <paramref name="formatString"/> ]}, where <paramref name="N"/> is a zero-based
   integer indicating the argument to be formatted, <paramref name="M"/>
   is an optional
   integer indicating the width of the region to contain the formatted value, and
<paramref name="formatString"/> is an optional string of formatting codes.
   <block subset="none" type="note"> For more information on the format
      specification see the <see cref="T:System.String"/>
      class overview.</block>
							</para>
						</remarks>
						<example>
							<code lang="C#">using System;
using System.Text;

public class StringBuilderTest {
  public static void Main() {

     string a = "very";
     string b = "very";
     string c = "high";

     StringBuilder sb = new StringBuilder("The high ");
     Console.WriteLine(sb.AppendFormat(null, "temperature today was {0}, {1} {2}.", a, b, c) ); 
  }
}
   </code>
							<para>The output is</para>
							<para>
								<c>The high
      temperature today was very, very high.</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AppendFormat">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder AppendFormat(string format, class System.Object[] args)"/>
					<MemberSignature Language="C#" Value="public StringBuilder AppendFormat(string format, params object[] args);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="args" Type="System.Object[]">
							<Attributes>
								<Attribute>
									<AttributeName>ParamArrayAttribute</AttributeName>
									<Excluded>1</Excluded>
									<ExcludedTypeName>System.ParamArrayAttribute</ExcludedTypeName>
									<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
								</Attribute>
							</Attributes>
						</Parameter>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the specified string to the current instance, with the
      format specifications in that string being replaced with the appropriately formatted string values of
      the elements in the specified array.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing zero or more format specifications.</param>
						<param name="args"> A <see cref="T:System.Object"/> array to be formatted.</param>
						<returns>
							<para> The current instance after
      operation has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> or <paramref name="args"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This method appends the formatted copy of the specified
      string to the current instance. If an object referenced in the format string is
   <see langword="null"/>
   , an empty string is used in its place.</para>
							<para>
								<block subset="none" type="note"> This version of
<see cref="M:System.Text.StringBuilder.AppendFormat(System.String,System.Object)"/> is equivalent to <see cref="M:System.Text.StringBuilder.AppendFormat(System.String,System.Object)"/>( 
<see langword="null"/> , <paramref name="format"/>, <paramref name="args"/> ). For more
   information on the format specification see the <see cref="T:System.String"/>
   class overview. </block>
							</para>
						</remarks>
						<example>
							<code lang="C#">using System;
using System.Text;

public class StringBuilderTest {
  public static void Main() {

     string [] strings = {"very", "very", null, "high"};

     StringBuilder sb = new StringBuilder("The high ");
     Console.WriteLine( sb.AppendFormat("temperature today was {0}, {1} {2}{3}.", strings) ); 
  }
}
   </code>
							<para>The output is</para>
							<para>
								<c>The high
      temperature today was very, very high.</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AppendFormat">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder AppendFormat(string format, object arg0, object arg1)"/>
					<MemberSignature Language="C#" Value="public StringBuilder AppendFormat(string format, object arg0, object arg1);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
						<Parameter Name="arg1" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the specified string to the current instance, with the format
      specifications in that string being replaced with the appropriately formatted
      string values of the specified objects.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing zero or more format specifications.</param>
						<param name="arg0">The first <see cref="T:System.Object"/> to be formatted. Can be a null reference.</param>
						<param name="arg1">The second <see cref="T:System.Object"/> to be formatted. Can be a null reference.</param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This method appends the formatted copy of the specified 
      string to the current instance. If an object referenced in the format string is
   <see langword="null"/> 
   , an empty string is used in its place.</para>
							<para>
								<block subset="none" type="note"> This version of
<see cref="M:System.Text.StringBuilder.AppendFormat(System.String,System.Object)"/> is equivalent to <see cref="M:System.Text.StringBuilder.AppendFormat(System.String,System.Object)"/>(
<see langword="null"/> , <paramref name="format"/>,
<see langword="new Object[]"/>
{<paramref name="arg0"/>, <paramref name="arg1"/>} ). For more information on the format
specification, see the <see cref="T:System.String"/> class overview.</block>
							</para>
						</remarks>
						<example>
							<code lang="C#">using System;
using System.Text;

public class StringBuilderTest {
  public static void Main() {

     StringBuilder sb = new StringBuilder("The high ");
     Console.WriteLine( sb.AppendFormat("temperature today was {0} {1}.", "very", "high") ); 
  }
}
   </code>
							<para>The output is</para>
							<c>
								<para>The high temperature today was very high.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AppendFormat">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder AppendFormat(string format, object arg0)"/>
					<MemberSignature Language="C#" Value="public StringBuilder AppendFormat(string format, object arg0);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Appends the specified string to the current instance, with the format
      specifications in that string being replaced with the appropriately formatted
      string value of the specified object.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing zero or more format specifications.</param>
						<param name="arg0">A <see cref="T:System.Object"/> to be formatted.</param>
						<returns>
							<para>The current instance after the operation has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This method appends the formatted copy of the specified string to the current
      instance.</para>
							<para>
								<block subset="none" type="note"> This version of <see cref="M:System.Text.StringBuilder.AppendFormat(System.String,System.Object)"/> is equivalent to <see cref="M:System.Text.StringBuilder.AppendFormat(System.String,System.Object)"/>(
<see langword="null"/> , <paramref name="format"/>, <see langword="new Object[]"/> 
{<paramref name="arg0"/>} ). For more information on the format specification, see the
<see cref="T:System.String"/> 
class overview. </block>
							</para>
						</remarks>
						<example>
							<code lang="C#">using System;
using System.Text;

public class StringBuilderTest {
  public static void Main() { 
     
      StringBuilder sb = new StringBuilder("The high ");
      Console.WriteLine( sb.AppendFormat("temperature today was {0, 6}.", 88) ); 
  }
}
      </code>
							<para>The output is</para>
							<code>The high temperature today was     88.
 </code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Capacity">
					<MemberSignature Language="ILASM" Value=".property int32 Capacity { public hidebysig specialname instance int32 get_Capacity() public hidebysig specialname instance void set_Capacity(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int Capacity { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the maximum number of characters that can be contained in the
      memory allocated by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> containing the maximum number of characters that can be contained in the memory
   allocated by the current instance.</para>
						</value>
						<exception cref="T:System.ArgumentException">The value specified for a set operation is less than <see cref="P:System.Text.StringBuilder.Length"/>.</exception>
						<remarks>
							<para>The <see cref="P:System.Text.StringBuilder.Capacity"/> property does not affect the string value of the current
   instance. The <see cref="T:System.Text.StringBuilder"/> will dynamically
   increase the <see cref="P:System.Text.StringBuilder.Capacity"/> and allocate
   more space when it is required.</para>
							<para>
								<block subset="none" type="note"> For performance
   reasons a <see cref="T:System.Text.StringBuilder"/> might allocate more memory than needed. The amount of
   memory allocated is implementation specific. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Chars">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Char Chars[int32 index] { public hidebysig specialname instance valuetype System.Char get_Chars(int32 index) public hidebysig specialname instance void set_Chars(int32 index, valuetype System.Char value) }"/>
					<MemberSignature Language="C#" Value="public char this[int index] { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Gets or sets the character at a specified position in the current
      instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Char"/> containing the Unicode character at location <paramref name="index"/> in the current instance.</para>
						</value>
						<exception cref="T:System.IndexOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than or equal to the length of the current instance.</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero.</para>
						</exception>
						<remarks>
							<para>
								<paramref name="index"/> is the position of a character within the
<see cref="T:System.Text.StringBuilder"/>. The first character in the string is at index 0. 
   The length of a string is the number of characters it contains. The last
   accessible character of a <see cref="T:System.Text.StringBuilder"/> instance is at the index <see cref="P:System.Text.StringBuilder.Length"/>
   - 1.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EnsureCapacity">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 EnsureCapacity(int32 capacity)"/>
					<MemberSignature Language="C#" Value="public int EnsureCapacity(int capacity);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="capacity" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Ensures that the capacity of the current instance is at least a specified
      value.</para>
						</summary>
						<param name="capacity">A <see cref="T:System.Int32"/> containing the minimum capacity to ensure. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> equal to the
   new <see cref="P:System.Text.StringBuilder.Capacity"/> of the current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="capacity"/> is less zero. </exception>
						<remarks>
							<para>If the specified value is less than the current
   <see cref="P:System.Text.StringBuilder.Capacity"/>, no changes are made and
   <see cref="P:System.Text.StringBuilder.Capacity"/> remains the same.</para>
							<para>
								<block subset="none" type="note"> For performance
      reasons, the new <see cref="P:System.Text.StringBuilder.Capacity"/> might
      be larger than the specified value. The amount of memory allocated by this
      method is implementation specific.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance bool Equals(class System.Text.StringBuilder sb)"/>
					<MemberSignature Language="C#" Value="public bool Equals(StringBuilder sb);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="sb" Type="System.Text.StringBuilder"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and a specified <see cref="T:System.Text.StringBuilder"/> have 
 the same value.</para>
						</summary>
						<param name="sb">A <see cref="T:System.Text.StringBuilder"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the current instance and <paramref name="sb"/> have the same 
 value; otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, string value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of a string object into the current instance at a
      specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.String"/> to be inserted. </param>
						<returns>
							<para>The current instance after insertion has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance </para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero.</para>
						</exception>
						<remarks>
							<para>This method inserts <paramref name="value"/>
into the current instance at the specified location. Existing characters are
shifted to make room for the new text, and <see cref="P:System.Text.StringBuilder.Capacity"/> is
adjusted as necessary.</para>
							<para>If <paramref name="value"/> is
<see langword="Empty"/> or a null reference, the <see cref="T:System.Text.StringBuilder"/> is
not changed.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, bool value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of a <see cref="T:System.Boolean"/> value into the current
   instance at a specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.Boolean"/> value to be inserted. </param>
						<returns>
							<para> The current instance after insertion has occurred.
      </para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero</para>
						</exception>
						<remarks>
							<para>This method inserts
   <paramref name="value"/>.ToString() into the current instance at the specified
      location. Existing characters are shifted to make room for the new text, and
   <see cref="P:System.Text.StringBuilder.Capacity"/> is
      adjusted as necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, string value, int32 count)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, string value, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.String"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Inserts multiple copies of a
      string into the current instance at a specified index.
      </para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert.</param>
						<param name="value">The <see cref="T:System.String"/> to be inserted.</param>
						<param name="count">A <see cref="T:System.Int32"/> containing the number of times the string is to be inserted. </param>
						<returns>
							<para> The current instance after insertion has occurred.
      </para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance </para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> is less than zero</para>
						</exception>
						<remarks>
							<para>This method inserts the <paramref name="value"/> string <paramref name="count"/> times
   into the current instance at the specified location. Existing characters are
   shifted to make room for the new text, and <see cref="P:System.Text.StringBuilder.Capacity"/> is adjusted as necessary.</para>
							<para>If <paramref name="value"/> is
<see langword="Empty"/> or a null reference, the <see cref="T:System.Text.StringBuilder"/> is
not changed. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, int8 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of a <see cref="T:System.SByte"/> into the current instance at the
   specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.SByte"/> to be inserted. </param>
						<returns>
							<para>The current instance after insertion has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero</para>
						</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Text.StringBuilder.Insert(System.Int32,System.String,System.Int32)"/>(<see cref="T:System.Int32"/>, <see cref="T:System.Int16"/>).</para>
							<para>This method inserts
   <paramref name="value"/>.ToString() into the current instance at the specified
      location. Existing characters are shifted to make room for the new text, and
   <see cref="P:System.Text.StringBuilder.Capacity"/> is adjusted as necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of a <see cref="T:System.Byte"/> into the current instance at the
   specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.Byte"/> to be inserted. </param>
						<returns>
							<para>The current instance after insertion has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero</para>
						</exception>
						<remarks>
							<para>This method inserts
   <paramref name="value"/>.ToString() into the current instance at the specified
      location. Existing characters are shifted to make room for the new text, and
   <see cref="P:System.Text.StringBuilder.Capacity"/>
   is adjusted as
   necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, int16 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of a <see cref="T:System.Int16"/> into the current instance at a
   specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.Int16"/> to be inserted. </param>
						<returns>
							<para> The current instance after insertion has occurred.
      </para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero.</para>
						</exception>
						<remarks>
							<para>This method inserts
   <paramref name="value"/>.ToString() into the current instance at the specified
      location. Existing characters are shifted to make room for the new text, and
   <see cref="P:System.Text.StringBuilder.Capacity"/> is adjusted as necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of a Unicode character into the current
      instance at a specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.Char"/> to be inserted. </param>
						<returns>
							<para>The current instance after insertion has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero.</para>
						</exception>
						<remarks>
							<para>This method inserts
   <paramref name="value"/>.ToString() into the current instance at the specified
      location. Existing characters are shifted to make room for the new text, and
   <see cref="P:System.Text.StringBuilder.Capacity"/> is
      adjusted as necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, class System.Char[] value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, char[] value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Char[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of an array of Unicode characters into the
      current instance at a specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert.</param>
						<param name="value">The <see cref="T:System.Char"/> array to be inserted.</param>
						<returns>
							<para> The current instance after insertion has occurred.
      </para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance </para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero.</para>
						</exception>
						<remarks>
							<para>This method inserts all of the characters in the specified array into the
      current instance in the same order as they appear in <paramref name="value"/>. Existing characters are shifted to make room for
      the new text, and <see cref="P:System.Text.StringBuilder.Capacity"/> is
      adjusted as necessary.</para>
							<para>If <paramref name="value"/> is empty or a null reference, the <see cref="T:System.Text.StringBuilder"/> is
   not changed.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, class System.Char[] value, int32 startIndex, int32 charCount)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, char[] value, int startIndex, int charCount);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Char[]"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="charCount" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Inserts the string representation of a subarray
      of Unicode characters into the current instance at a specified index.
      </para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert.</param>
						<param name="value">The <see cref="T:System.Char"/> array from which to get the characters to be inserted. </param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the starting index within <paramref name="value"/>.</param>
						<param name="charCount">A <see cref="T:System.Int32"/> containing the number of characters to insert from <paramref name="value"/>.</param>
						<returns>
							<para>The current instance after insertion has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="value"/> is a null reference, and <paramref name="startIndex"/> and <paramref name="charCount"/> are not both zero.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance or less than zero.</para>
							<para>-or-</para>
							<para>
								<paramref name="startIndex"/> or <paramref name="charCount"/> is less than zero or their sum is greater than the length of <paramref name="value"/>.</para>
						</exception>
						<remarks>
							<para>This method inserts the specified range of characters from <paramref name="value"/>
array into the current instance in the same order as they appear in
<paramref name="value"/>. Existing 
characters are shifted to make room for the new text, and
<see cref="P:System.Text.StringBuilder.Capacity"/> is adjusted as necessary.</para>
							<para>If <paramref name="value"/> is an empty array or a null reference and
<paramref name="startIndex"/> and <paramref name="charCount"/> are both zero, the <see cref="T:System.Text.StringBuilder"/> is 
not changed. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, object value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of an object into the current instance at a
      specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.Object"/> to be inserted. </param>
						<returns>
							<para>The current instance after insertion has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero.</para>
						</exception>
						<remarks>
							<para>This method inserts
   <paramref name="value"/>.ToString() into the current instance at the specified
      location. Existing characters are shifted to make room for the new text, and
   <see cref="P:System.Text.StringBuilder.Capacity"/> is
      adjusted as necessary.</para>
							<para>If <paramref name="value"/> is a null reference, the <see cref="T:System.Text.StringBuilder"/> is
   not changed.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of a <see cref="T:System.UInt64"/> into the current instance at a
   specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.UInt64"/> to be inserted.</param>
						<returns>
							<para>The current instance after insertion has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero.</para>
						</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Text.StringBuilder.Insert(System.Int32,System.String,System.Int32)"/>(<see cref="T:System.Int32"/>, <see cref="T:System.Decimal"/>).</para>
							<para>This method inserts
   <paramref name="value"/>.ToString() into the current instance at the specified
      location. Existing characters are shifted to make room for the new text, and
   <see cref="P:System.Text.StringBuilder.Capacity"/> is
      adjusted as necessary.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of a <see cref="T:System.UInt32"/> into the current instance at the
   specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.UInt32"/> to be inserted. </param>
						<returns>
							<para>The current instance after insertion has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero.</para>
						</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Text.StringBuilder.Insert(System.Int32,System.String,System.Int32)"/>(<see cref="T:System.Int32"/>, <see cref="T:System.Int64"/>).</para>
							<para>This method inserts
   <paramref name="value"/>.ToString() into the current instance at the specified
      location. Existing characters are shifted to make room for the new text, and
   <see cref="P:System.Text.StringBuilder.Capacity"/> is
      adjusted as necessary.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of a <see cref="T:System.UInt16"/> into the current instance at the
   specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.UInt16"/> to insert. </param>
						<returns>
							<para>The current instance after insertion has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero.</para>
						</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.Text.StringBuilder.Insert(System.Int32,System.String,System.Int32)"/>(<see cref="T:System.Int32"/>, <see cref="T:System.Int32"/>).</para>
							<para> This method inserts
   <paramref name="value"/>.ToString() into the current instance at the specified
      location. Existing characters are shifted to make room for the new text, and
   <see cref="P:System.Text.StringBuilder.Capacity"/> is adjusted as necessary.
      </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, decimal value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of a <see cref="T:System.Decimal"/> into the current instance at the
   specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.Decimal"/> to be inserted. </param>
						<returns>
							<para>The current instance after insertion has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero</para>
						</exception>
						<remarks>
							<para>This method inserts
   <paramref name="value"/>.ToString() into the current instance at the specified
      location. Existing characters are shifted to make room for the new text, and
   <see cref="P:System.Text.StringBuilder.Capacity"/> is adjusted as necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, float64 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of a <see cref="T:System.Double"/> into the current instance at the
   specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.Double"/> to be inserted. </param>
						<returns>
							<para>The current instance after insertion has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero</para>
						</exception>
						<remarks>
							<para>This method inserts
   <paramref name="value"/>.ToString() into the current instance at the specified
      location. Existing characters are shifted to make room for the new text, and
   <see cref="P:System.Text.StringBuilder.Capacity"/> is adjusted as necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, float32 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of a <see cref="T:System.Single"/> into the current instance at the
   specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.Single"/> to be inserted. </param>
						<returns>
							<para>The current instance after insertion has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero</para>
						</exception>
						<remarks>
							<para>This method inserts
   <paramref name="value"/>.ToString() into the current instance at the specified
      location. Existing characters are shifted to make room for the new text, and
   <see cref="P:System.Text.StringBuilder.Capacity"/> is adjusted as necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, int64 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Inserts the string representation of a <see cref="T:System.Int64"/> into the current instance at the
   specified index.
   </para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.Int64"/> to be inserted. </param>
						<returns>
							<para>The current instance after insertion has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance </para>
							<para> -or- </para>
							<para>
								<paramref name="index"/> is less than zero. </para>
						</exception>
						<remarks>
							<para>This method inserts
   <paramref name="value"/>.ToString() into the current instance at the specified
      location. Existing characters are shifted to make room for the new text, and
   <see cref="P:System.Text.StringBuilder.Capacity"/> is adjusted as necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Insert">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Insert(int32 index, int32 value)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Insert(int index, int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Inserts the string representation of a <see cref="T:System.Int32"/> into the current instance at the
   specified index.</para>
						</summary>
						<param name="index">A <see cref="T:System.Int32"/> containing the index at which to insert. </param>
						<param name="value">The <see cref="T:System.Int32"/> to be inserted. </param>
						<returns>
							<para>The current instance after insertion has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> is greater than the length of the current instance</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> is less than zero</para>
						</exception>
						<remarks>
							<para>This method inserts
   <paramref name="value"/>.ToString() into the current instance at the specified
      location. Existing characters are shifted to make room for the new text, and
   <see cref="P:System.Text.StringBuilder.Capacity"/> is adjusted as necessary.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Length">
					<MemberSignature Language="ILASM" Value=".property int32 Length { public hidebysig specialname instance int32 get_Length() public hidebysig specialname instance void set_Length(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int Length { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the length of the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> containing the length of the current instance.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is less than 0 or greater than <see cref="F:System.Int32.MaxValue"/>.</exception>
						<remarks>
							<para> If the specified length is less than the current length,
      the <see cref="T:System.Text.StringBuilder"/> is truncated to the specified length. If the specified
      length is greater than the current length, the end of the string value of the
   <see cref="T:System.Text.StringBuilder"/> is
      padded with
      spaces.
      </para>
							<para> If the specified length is greater than the current
   <see cref="P:System.Text.StringBuilder.Capacity"/> , <see cref="P:System.Text.StringBuilder.Capacity"/> is set to the
      specified
      length.
      </para>
							<para>
								<block subset="none" type="note"> A space in Unicode format is defined as the
      hexadecimal value
      0x20.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Remove">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Remove(int32 startIndex, int32 length)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Remove(int startIndex, int length);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Removes a specified range of characters from the current instance.</para>
						</summary>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index at which to begin removal.</param>
						<param name="length">A <see cref="T:System.Int32"/> containing the number of characters to be removed. </param>
						<returns>
							<para> The current instance after removal has occurred.
      </para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> or <paramref name="length"/> is less than zero </para>
							<para>-or-</para>
							<para>The sum of <paramref name="startIndex"/> and <paramref name="length"/> is greater than the length of the current instance.</para>
						</exception>
						<remarks>
							<para> This method removes the specified range of characters from the current
      instance. The characters at (<paramref name="startIndex"/> + <paramref name="length"/>) are moved to
   <paramref name="startIndex"/>, and the string value of the current instance is shortened
      by <paramref name="length"/>.</para>
							<para>
								<block subset="none" type="note">The 
   <see cref="M:System.Text.StringBuilder.Replace(System.String,System.String)"/> method can be used
      to remove all instances of a string from a <see cref="T:System.Text.StringBuilder"/>. </block>
							</para>
						</remarks>
						<example>
							<code lang="C#">using System;
using System.Text;

public class StringBuilderTest  {
   public static void Main()  {
   
      StringBuilder sb = new StringBuilder("0123456789");
      Console.WriteLine(sb);
      sb.Remove(3, 4);
      Console.WriteLine(sb);
   }
}
   </code>
							<para>The output is</para>
							<c>
								<para>0123456789</para>
								<para>012789</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Replace">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Replace(valuetype System.Char oldChar, valuetype System.Char newChar, int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Replace(char oldChar, char newChar, int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="oldChar" Type="System.Char"/>
						<Parameter Name="newChar" Type="System.Char"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Replaces all instances of a specified character in a specified range with
      another specified character.</para>
						</summary>
						<param name="oldChar">The <see cref="T:System.Char"/> to replace. </param>
						<param name="newChar">The <see cref="T:System.Char"/> with which to replace <paramref name="oldChar"/> . </param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index from which to start replacing <paramref name="oldChar"/>.</param>
						<param name="count">A <see cref="T:System.Int32"/> containing the length of the range in which to replace <paramref name="oldChar"/> . </param>
						<returns>
							<para>The current instance after substitution has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>The sum of <paramref name="startIndex"/> and <paramref name="count"/> is larger than the length of the current instance </para>
							<para>-or-</para>
							<para>
								<paramref name="startIndex"/> or <paramref name="count"/> is less than zero.</para>
						</exception>
						<remarks>
							<para>This method substitutes each occurrence of <paramref name="oldChar"/> in the specified range of the
   current instance with <paramref name="newChar"/>.</para>
							<para>This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Replace">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Replace(valuetype System.Char oldChar, valuetype System.Char newChar)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Replace(char oldChar, char newChar);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="oldChar" Type="System.Char"/>
						<Parameter Name="newChar" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Replaces all instances of a specified character in the current instance with
      another specified character.</para>
						</summary>
						<param name="oldChar">The <see cref="T:System.Char"/> to replace.</param>
						<param name="newChar">The <see cref="T:System.Char"/> with which to replace <paramref name="oldChar"/> . </param>
						<returns>
							<para>The current instance after substitution has occurred.</para>
						</returns>
						<remarks>
							<para>This method substitutes each occurrence of <paramref name="oldChar"/> in the current instance with
<paramref name="newChar"/>.</para>
							<para>This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Replace">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Replace(string oldValue, string newValue, int32 startIndex, int32 count)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Replace(string oldValue, string newValue, int startIndex, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="oldValue" Type="System.String"/>
						<Parameter Name="newValue" Type="System.String"/>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Replaces all instances of a specified string in a 
      specified range with another specified string.</para>
						</summary>
						<param name="oldValue">A <see cref="T:System.String"/> containing the string value to replace.</param>
						<param name="newValue">A <see cref="T:System.String"/> containing the string value with which to replace <paramref name="oldValue"/>. Can be a null reference.</param>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the location from which to start replacing <paramref name="oldValue"/>.</param>
						<param name="count">A <see cref="T:System.Int32"/> containing the length of the range in which to replace <paramref name="oldValue"/>.</param>
						<returns>
							<para>The current instance after substitution has occurred.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="oldValue"/> is a null reference.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> or <paramref name="count"/> is less than zero.</para>
							<para>-or-</para>
							<para>The sum of <paramref name="startIndex"/> and <paramref name="count"/> is greater than the length of the current instance.</para>
						</exception>
						<exception cref="T:System.ArgumentException">The length of <paramref name="oldvalue"/> is zero.</exception>
						<remarks>
							<para>This method substitutes each occurrence of <paramref name="oldValue"/> in the specified range of the
   current instance with <paramref name="newValue"/>. <block subset="none" type="note">
   If <paramref name="newValue"/> is <see langword="null"/> , instances of <paramref name="oldValue"/> are
   removed.</block>
							</para>
							<para>This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Replace">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Text.StringBuilder Replace(string oldValue, string newValue)"/>
					<MemberSignature Language="C#" Value="public StringBuilder Replace(string oldValue, string newValue);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="oldValue" Type="System.String"/>
						<Parameter Name="newValue" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
   Replaces all instances of a specified string with
   another specified string<see langword="."/>
						</summary>
						<param name="oldValue">A <see cref="T:System.String"/> containing the string value to replace. </param>
						<param name="newValue">A <see cref="T:System.String"/> containing the string value with which to replace <paramref name="oldValue"/>. Can be a null reference. </param>
						<returns>
							<para> The current instance after substitution has
      occurred.
      </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="oldValue"/> is a null reference.</exception>
						<exception cref="T:System.ArgumentException">The length of <paramref name="oldvalue"/> is zero.</exception>
						<remarks>
							<para> This method substitutes each occurrence of <paramref name="oldValue"/> in the
   current instance with <paramref name="newValue"/>. <block subset="none" type="note">
   If <paramref name="newValue"/> is <see langword="null"/> , instances of <paramref name="oldValue"/>
   are removed.</block>
							</para>
							<para>This method is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(int32 startIndex, int32 length)"/>
					<MemberSignature Language="C#" Value="public string ToString(int startIndex, int length);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="startIndex" Type="System.Int32"/>
						<Parameter Name="length" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of a substring of the current
   instance.</para>
						</summary>
						<param name="startIndex">A <see cref="T:System.Int32"/> containing the index at which the substring begins. </param>
						<param name="length">A <see cref="T:System.Int32"/> containing the length of the substring. </param>
						<returns>
							<para>A new <see cref="T:System.String"/> representing the characters in the specified range.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="startIndex"/> or <paramref name="length"/> is less than zero. </para>
							<para> -or- </para>
							<para>The sum of <paramref name="startIndex"/> and <paramref name="length"/> is greater than the length of the current instance. </para>
						</exception>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current
   instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representing the current instance.</para>
						</returns>
						<remarks>
							<para>This method overrides <see cref="M:System.Object.ToString"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="StringReader" FullName="System.IO.StringReader" FullNameSP="System_IO_StringReader">
			<TypeSignature Language="ILASM" Value=".class public serializable StringReader extends System.IO.TextReader"/>
			<TypeSignature Language="C#" Value="public class StringReader : TextReader"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Implements a <see cref="T:System.IO.TextReader"/>
that reads from a string.</para>
				</summary>
			</Docs>
			<Base>
				<BaseTypeName>System.IO.TextReader</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IDisposable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string s)"/>
					<MemberSignature Language="C#" Value="public StringReader(string s);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StringReader"/> class
   that
   reads from the specified string.</para>
						</summary>
						<param name="s">The <see cref="T:System.String"/> to be initialized to.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is <see langword="null"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Close">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Close()"/>
					<MemberSignature Language="C#" Value="public override void Close();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Closes the <see cref="T:System.IO.StringReader"/>
.</para>
						</summary>
						<remarks>
							<para>Following a call to <see cref="M:System.IO.StringReader.Close"/> , other <see cref="T:System.IO.StringReader"/> methods on the current instance will throw an exception.</para>
							<block subset="none" type="note">
								<para>This version of <see cref="M:System.IO.StringReader.Close"/> is equivalent to <see cref="M:System.IO.StringReader.Dispose(System.Boolean)"/>(<see langword="true"/>).</para>
								<para>This method overrides <see cref="M:System.IO.Stream.Close" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Dispose">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Dispose(bool disposing)"/>
					<MemberSignature Language="C#" Value="protected override void Dispose(bool disposing);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="disposing" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Releases system resources used by the current 
      instance.</para>
						</summary>
						<param name="disposing">
							<see langword="true"/> to release both managed and unmanaged resources; <see langword="false"/> to release only unmanaged resources.</param>
						<remarks>
							<para>When the <paramref name="disposing"/> parameter is <see langword="true"/>, this method
   releases all resources held by any managed objects that this <see cref="T:System.IO.StringReader"/>
   references. This method invokes the <see langword="Dispose()"/> method of each
   referenced object.</para>
							<para>
								<block subset="none" type="note">
									<see cref="M:System.IO.StringReader.Dispose(System.Boolean)"/> may be called multiple
times by other objects. When overriding <see cref="M:System.IO.StringReader.Dispose(System.Boolean)"/>(<see cref="T:System.Boolean"/>), be careful not
to reference objects that have been previously disposed in an earlier call to
<see cref="M:System.IO.StringReader.Dispose(System.Boolean)"/> .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Peek">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Peek()"/>
					<MemberSignature Language="C#" Value="public override int Peek();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the next available character but does not advance the reader's position
      in the underlying string.</para>
						</summary>
						<returns>
							<para>The next character to be read as a <see cref="T:System.Int32"/> , or -1 if no more characters are
   available.</para>
						</returns>
						<exception cref="T:System.ObjectDisposedException">The current reader is closed.</exception>
						<remarks>
							<para>The current position of the <see cref="T:System.IO.StringReader"/> is not changed by this operation.</para>
							<block subset="none" type="note">
								<para>This method returns -1 is when the end of the underlying string is reached
      because a Unicode character can contain only values between hexadecimal 0x0000
      to 0xFFFF (0 to 65535).</para>
								<para>This method overrides <see cref="M:System.IO.TextReader.Peek" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Read(class System.Char[] buffer, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public override int Read(char[] buffer, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Reads a block of characters from the input string.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Char"/> array. When this method returns, contains the specified character array with the values between <paramref name="index"/> and <paramref name="(index + count - 1)"/> replaced by the characters read from the current source.</param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the starting index in the buffer.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of characters to read.</param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the total number of characters read into the
   buffer, or zero if the end of the underlying string has been reached.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">(<paramref name="index"/> + <paramref name="count"/> ) &gt; <paramref name="buffer"/>
							<see langword="."/>Length.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index "/>&lt; 0<paramref name=" "/>
							</para>
							<para>
								<paramref name="-"/> or-</para>
							<para>
								<paramref name="count "/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current reader is closed.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.TextReader.Read" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Read()"/>
					<MemberSignature Language="C#" Value="public override int Read();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Reads the next character from the input string and advances the character position by one character.</para>
						</summary>
						<returns>
							<para>The next character from the underlying string as a 
   <see cref="T:System.Int32"/> , or -1 if no more
      characters are available.</para>
						</returns>
						<exception cref="T:System.ObjectDisposedException">The current reader is closed.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This method returns -1 is when the end of the underlying string is reached
         because a Unicode character can contain only values between hexadecimal 0x0000
         to 0xFFFF (0 to 65535).</para>
								<para>This method overrides <see cref="M:System.IO.TextReader.Read" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string ReadLine()"/>
					<MemberSignature Language="C#" Value="public override string ReadLine();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Reads a line from the underlying string.
      </para>
						</summary>
						<returns>
							<para> A <see cref="T:System.String"/> containing the next line from the underlying string, or
<see langword="null "/>
if the end of
the underlying string is reached.
</para>
						</returns>
						<exception cref="T:System.ObjectDisposedException">The current reader is closed.</exception>
						<exception cref="T:System.OutOfMemoryException">There is insufficient memory to allocate a buffer for the returned string.</exception>
						<remarks>
							<para> A line is defined as a
      sequence of characters followed by a carriage return (0x000d), a line feed (0x000a),
      or a carriage return immediately followed by a line feed. The resulting string
      does not contain the terminating character(s).</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.TextReader.ReadLine" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadToEnd">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string ReadToEnd()"/>
					<MemberSignature Language="C#" Value="public override string ReadToEnd();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the underlying string
      from the current position to the end.</para>
						</summary>
						<returns>
							<para> A <see cref="T:System.String"/> containing the content from the current position to the end of the underlying
   string.</para>
						</returns>
						<exception cref="T:System.ObjectDisposedException">The current reader is closed.</exception>
						<exception cref="T:System.OutOfMemoryException">There is insufficient memory to allocate a buffer for the returned string.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.IO.TextReader.ReadToEnd" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="StringWriter" FullName="System.IO.StringWriter" FullNameSP="System_IO_StringWriter">
			<TypeSignature Language="ILASM" Value=".class public serializable StringWriter extends System.IO.TextWriter"/>
			<TypeSignature Language="C#" Value="public class StringWriter : TextWriter"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
   Implements a <see cref="T:System.IO.TextWriter"/> that writes information to a string.
</summary>
			</Docs>
			<Base>
				<BaseTypeName>System.IO.TextWriter</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IDisposable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public StringWriter();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StringWriter"/> class.</para>
						</summary>
						<remarks>
							<para>A new <see cref="T:System.Text.StringBuilder"/> is automatically created and associated with the
   new <see cref="T:System.IO.StringWriter"/> instance.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.IFormatProvider formatProvider)"/>
					<MemberSignature Language="C#" Value="public StringWriter(IFormatProvider formatProvider);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="formatProvider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StringWriter"/> class with the specified format
   provider.</para>
						</summary>
						<param name="formatProvider">A <see cref="T:System.IFormatProvider"/> object that defines formatting.</param>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Text.StringBuilder sb)"/>
					<MemberSignature Language="C#" Value="public StringWriter(StringBuilder sb);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="sb" Type="System.Text.StringBuilder"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StringWriter"/> class that
   writes to the specified <see cref="T:System.Text.StringBuilder"/>.</para>
						</summary>
						<param name="sb">The <see cref="T:System.Text.StringBuilder"/> to write to.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="sb"/> is <see langword="null"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Text.StringBuilder sb, class System.IFormatProvider formatProvider)"/>
					<MemberSignature Language="C#" Value="public StringWriter(StringBuilder sb, IFormatProvider formatProvider);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="sb" Type="System.Text.StringBuilder"/>
						<Parameter Name="formatProvider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.StringWriter"/> class that writes to the specified
<see cref="T:System.Text.StringBuilder"/> and has the specified format provider.</para>
						</summary>
						<param name="sb">The <see cref="T:System.Text.StringBuilder"/> to write to.</param>
						<param name=" formatProvider">A <see cref="T:System.IFormatProvider"/> object that defines formatting.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="sb"/> is <see langword="null"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Close">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Close()"/>
					<MemberSignature Language="C#" Value="public override void Close();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Closes the current <see cref="T:System.IO.StringWriter"/> instance.</para>
						</summary>
						<remarks>
							<block subset="none" type="note">
								<para>This version of <see cref="M:System.IO.StringWriter.Close"/> is equivalent to <see cref="M:System.IO.StringWriter.Dispose(System.Boolean)"/>(<see langword="true"/>).</para>
								<para>This method overrides <see cref="M:System.IO.Stream.Close" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Dispose">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Dispose(bool disposing)"/>
					<MemberSignature Language="C#" Value="protected override void Dispose(bool disposing);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="disposing" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Releases the unmanaged resources used by the <see cref="T:System.IO.StringWriter"/> and 
   optionally releases the managed resources.</para>
						</summary>
						<param name="disposing">
							<see langword="true"/> to release both managed and unmanaged resources; <see langword="false"/> to release only unmanaged resources.</param>
						<remarks>
							<para>When the <paramref name="disposing"/> parameter is <see langword="true"/>, this method 
   releases all resources held by any managed objects that this <see cref="T:System.IO.StringWriter"/>
   references. This method invokes the <see langword="Dispose()"/> method of each
   referenced object.</para>
							<para>
								<block subset="none" type="note">
									<see cref="M:System.IO.StringWriter.Dispose(System.Boolean)"/> may be called multiple 
times by other objects. When overriding <see cref="M:System.IO.StringWriter.Dispose(System.Boolean)"/>(<see cref="T:System.Boolean"/>), be careful not
to reference objects that have been previously disposed in an earlier call to
<see cref="M:System.IO.StringWriter.Dispose(System.Boolean)"/> .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Encoding">
					<MemberSignature Language="ILASM" Value=".property class System.Text.Encoding Encoding { public hidebysig virtual specialname class System.Text.Encoding get_Encoding() }"/>
					<MemberSignature Language="C#" Value="public override Encoding Encoding { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.Encoding</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the <see cref="T:System.Text.Encoding"/> in which the output is written.</para>
						</summary>
						<value>
							<para>The <see cref="T:System.Text.Encoding"/> in which the output is written.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="usage">This property is required in some XML 
      scenarios where a header must be written containing the encoding used by the
   <see cref="T:System.IO.StringWriter"/>. 
      This allows XML code to consume an arbitrary <see cref="T:System.IO.StringWriter"/> and generate a correct XML
      header.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetStringBuilder">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Text.StringBuilder GetStringBuilder()"/>
					<MemberSignature Language="C#" Value="public virtual StringBuilder GetStringBuilder();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.StringBuilder</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the underlying <see cref="T:System.Text.StringBuilder"/>
.</para>
						</summary>
						<returns>
							<para> The underlying <see cref="T:System.Text.StringBuilder"/>
.</para>
						</returns>
						<remarks>
							<para> This method returns either the <see cref="T:System.Text.StringBuilder"/> that was passed to the
   constructor, or the <see cref="T:System.Text.StringBuilder"/> that was automatically
   created.
   </para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a string containing the characters written to
      the current <see cref="T:System.IO.StringWriter"/> instance
      so far.
      </para>
						</summary>
						<returns>
							<para> The <see cref="T:System.String"/> containing the characters written to the
   current <see cref="T:System.IO.StringWriter"/> instance.
   </para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Object.ToString" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(string value)"/>
					<MemberSignature Language="C#" Value="public override void Write(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a string to the current instance of the 
   <see cref="T:System.IO.StringWriter"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to write. If <paramref name="value"/> is <see langword="null"/>, nothing is written.</param>
						<exception cref="T:System.ObjectDisposedException">The writer is closed.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/> .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(class System.Char[] buffer, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public override void Write(char[] buffer, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the specified region of a character array to this
      instance of the <see cref="T:System.IO.StringWriter"/>.</para>
						</summary>
						<param name="buffer">The <see cref="T:System.Char"/> array to read data from.</param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the index at which to begin reading from <paramref name="buffer"/> .</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the maximum number of characters to write.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0</para>
							<para> -or-</para>
							<para>
								<paramref name="count"/> &lt; zero.</para>
						</exception>
						<exception cref="T:System.ArgumentException">(<paramref name="index"/> + <paramref name="count"/> ) &gt; <paramref name="buffer"/>
							<see langword="."/>Length.</exception>
						<exception cref="T:System.ObjectDisposedException">The writer is closed.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public override void Write(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a character to the current instance of the <see cref="T:System.IO.StringWriter"/>
.</para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> to write.</param>
						<exception cref="T:System.ObjectDisposedException">The writer is closed.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SynchronizationLockException" FullName="System.Threading.SynchronizationLockException" FullNameSP="System_Threading_SynchronizationLockException">
			<TypeSignature Language="ILASM" Value=".class public serializable SynchronizationLockException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class SynchronizationLockException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when a method requires the
      caller to own the lock on a given <see cref="T:System.Threading.Monitor"/> , and the method is
      invoked by a caller that does not own that lock.
      </para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Threading.SynchronizationLockException"/> is
   thrown if the <see cref="M:System.Threading.Monitor.Pulse(System.Object)"/>, <see cref="M:System.Threading.Monitor.PulseAll(System.Object)"/>, or <see cref="M:System.Threading.Monitor.Wait(System.Object,System.Int32,System.Boolean)"/> methods
   are invoked for a specified object, but the caller does not own the lock on that
   object.<see cref="T:System.Threading.SynchronizationLockException"/> is also thrown when the <see cref="M:System.Threading.Monitor.Exit(System.Object)"/> method is
   called to release the lock on an object, but the caller does not own the lock on
   that object.
   </para>
					<para>To acquire the lock on an object, use <see cref="M:System.Threading.Monitor.Enter(System.Object)"/>. To release the
lock on an object, use <see cref="M:System.Threading.Monitor.Exit(System.Object)"/>.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public SynchronizationLockException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Threading.SynchronizationLockException"/> class. </para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.Threading.SynchronizationLockException.Message"/> property of the
   new instance to a system-supplied message that describes the error, such as
   "Synchronization method was invoked from an unsynchronized block of code." This
   message takes into account the current system culture.</para>
							<para>The <see cref="!:System.Threading.SynchronizationLockException.InnerException"/> property is initialized to
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public SynchronizationLockException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Threading.SynchronizationLockException"/> class. </para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. </param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.Threading.SynchronizationLockException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.Threading.SynchronizationLockException.Message"/> property is initialized to the system-supplied 
   message provided by the constructor that takes no arguments. </para>
							<para> The <see cref="!:System.Threading.SynchronizationLockException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public SynchronizationLockException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Threading.SynchronizationLockException"/> class. </para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. </param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/> . </param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.Threading.SynchronizationLockException.Message"/> property
   of the new instance using <paramref name="message"/> and the <see cref="!:System.Threading.SynchronizationLockException.InnerException"/> property using
<paramref name="innerException"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.Threading.SynchronizationLockException.Message"/> property is initialized to the system-supplied 
   message provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For more information on inner
   exceptions, see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SystemException" FullName="System.SystemException" FullNameSP="System_SystemException">
			<TypeSignature Language="ILASM" Value=".class public serializable SystemException extends System.Exception"/>
			<TypeSignature Language="C#" Value="public class SystemException : Exception"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>
						<see cref="T:System.SystemException"/> is the base class for all exceptions defined by the
   system.</para>
				</summary>
				<remarks>
					<para>This class is provided as a means to differentiate between
      exceptions defined by the system versus exceptions defined by applications.
      <block subset="none" type="note"> For more information on
         exceptions defined by applications, see <see cref="T:System.ApplicationException"/>.</block>
					</para>
					<para>
						<block subset="none" type="note">
							<see cref="T:System.SystemException"/> does not
      provide information as to the cause of the Exception. In most scenarios,
      instances of this class should not be thrown. In cases where this class is
      instantiated, a human-readable message describing the error should be passed to
      the constructor.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Exception</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public SystemException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.SystemException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.SystemException.Message"/>
property of the new instance to a system-supplied message that describes the
error, such as "A system error has occurred." This message takes into account
the current system culture.</para>
							<para>The <see cref="!:System.SystemException.InnerException"/> property is initialized to 
<see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public SystemException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.SystemException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.SystemException.Message"/>
property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is <see langword="null"/>,
the <see cref="!:System.SystemException.Message"/> property is initialized to the system-supplied message
provided by the constructor that takes no arguments. The <see cref="!:System.SystemException.InnerException"/> property is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public SystemException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.SystemException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current Exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.SystemException.Message"/>
property of the new instance using <paramref name="message"/>, and the <see cref="!:System.SystemException.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.SystemException.Message"/> property is initialized to the 
system-supplied message provided by the constructor that takes no
arguments. </para>
							<para>
								<block subset="none" type="note">For information on
   inner exceptions, see <see cref="P:System.Exception.InnerException"/>
   .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="TextReader" FullName="System.IO.TextReader" FullNameSP="System_IO_TextReader">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable TextReader extends System.MarshalByRefObject implements System.IDisposable"/>
			<TypeSignature Language="C#" Value="public abstract class TextReader : MarshalByRefObject, IDisposable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents an object that can read a sequential series of
      characters.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.IO.TextReader"/> is designed for character
   input, whereas the <see cref="T:System.IO.StreamReader"/> is designed for byte input and the
<see cref="T:System.IO.StringReader"/>
class is designed for reading from a
string.</para>
					<para>By default, a <see cref="T:System.IO.TextReader"/> is not thread safe. For information on creating a
thread-safe <see cref="T:System.IO.TextReader"/>
, see <see cref="M:System.IO.TextReader.Synchronized(System.IO.TextReader)" qualify="true"/> .</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.MarshalByRefObject</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IDisposable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="protected TextReader();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs a new instance of the <see cref="T:System.IO.TextReader"/> class.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Close">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Close()"/>
					<MemberSignature Language="C#" Value="public virtual void Close();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Closes the current <see cref="T:System.IO.TextReader"/> instance and releases any system
   resources associated with it.</para>
						</summary>
						<remarks>
							<block subset="none" type="note">
								<para>After a call to <see cref="M:System.IO.TextReader.Close"/> , any IO operation on the current
      instance might throw an exception.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">This method is equivalent to <see cref="M:System.IO.TextReader.Dispose(System.Boolean)"/>(<see langword=" true"/>
).</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to
   close the current instance and free any resources associated with
   it.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Dispose">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Dispose(bool disposing)"/>
					<MemberSignature Language="C#" Value="protected virtual void Dispose(bool disposing);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="disposing" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Releases the unmanaged resources used by the <see cref="T:System.IO.TextReader"/> and 
   optionally releases the managed resources.</para>
						</summary>
						<param name="disposing">
							<see langword="true"/> to release both managed and unmanaged resources; <see langword="false"/> to release only unmanaged resources.</param>
						<remarks>
							<para>When the <paramref name="disposing"/> parameter is <see langword="true"/>, this method 
   releases all resources held by any managed objects that this <see cref="T:System.IO.TextReader"/>
   references. This method invokes the <see langword="Dispose()"/> method of each
   referenced object.</para>
							<para>
								<block subset="none" type="note">
									<see cref="M:System.IO.TextReader.Dispose(System.Boolean)"/> may be called multiple 
times by other objects. When overriding <see cref="M:System.IO.TextReader.Dispose(System.Boolean)"/>(<see cref="T:System.Boolean"/>), be careful not
to reference objects that have been previously disposed in an earlier call to
<see cref="M:System.IO.TextReader.Dispose(System.Boolean)"/> .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Null">
					<MemberSignature Language="ILASM" Value=".field public static initOnly class System.IO.TextReader Null"/>
					<MemberSignature Language="C#" Value="public static readonly TextReader Null;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.TextReader</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Provides a <see cref="T:System.IO.TextReader"/> with no data to read from.</para>
						</summary>
						<remarks>
							<para>Reading from the <see cref="F:System.IO.TextReader.Null"/> text reader is similar to reading from the end of a
   stream:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="M:System.IO.TextReader.Read"/>()
      and <see cref="M:System.IO.TextReader.Peek"/> methods
      return -1</term>
								</item>
								<item>
									<term>
										<see cref="M:System.IO.TextReader.Read"/>
										<see langword="("/>
										<see cref="T:System.Char"/>[], <see cref="T:System.Int32"/>, <see cref="T:System.Int32"/>
										<see langword=")"/> and <see cref="M:System.IO.TextReader.ReadBlock(System.Char[],System.Int32,System.Int32)"/> methods return zero</term>
								</item>
								<item>
									<term>
										<see cref="M:System.IO.TextReader.ReadLine"/> and <see cref="M:System.IO.TextReader.ReadToEnd"/> methods return
   <see langword="null"/>.</term>
								</item>
							</list>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Peek">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Peek()"/>
					<MemberSignature Language="C#" Value="public virtual int Peek();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Reads the next character without changing the state of the reader
      or the character source.</para>
						</summary>
						<returns>
							<para>The next character to be read, or -1 if no more characters are
      available.</para>
						</returns>
						<exception cref="T:System.IO.IOException">An I/O error has occurred.</exception>
						<remarks>
							<para> The position of the <see cref="T:System.IO.TextReader"/>
in the source is not changed by this operation.</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default implementation
   returns -1.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Read(class System.Char[] buffer, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public virtual int Read(char[] buffer, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Reads at most the specified number of characters from the current character source, and writes them to the provided
      character array.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Char"/> array. When this method returns, contains the specified character array with the values between <paramref name="index"/> and (<paramref name="index"/> + <paramref name="count"/> -1) replaced by the characters read from the current source.</param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the place in <paramref name="buffer "/> at which to begin writing.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the maximum number of characters to read. If the end of the stream is reached before <paramref name="count "/>of characters is read into <paramref name="buffer"/> , this method returns. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the number of characters that were read, or zero if there were no more
   characters left to read. Can be less than <paramref name="count"/> if the end of the stream
   has been reached. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">(<paramref name="index"/> + <paramref name="count"/> ) &gt; <paramref name="buffer"/>
							<see langword="."/>Length.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index &lt; "/>0<paramref name=" "/>
							</para>
							<para>
								<paramref name="-"/> or-</para>
							<para>
								<paramref name="count &lt; "/> 0.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>
								<see cref="M:System.IO.TextReader.ReadBlock(System.Char[],System.Int32,System.Int32)"/>
is a blocking version of this method.</para>
							<para>
								<block subset="none" type="behaviors">The provided character array can
   be changed only in the specified range.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Read()"/>
					<MemberSignature Language="C#" Value="public virtual int Read();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Reads the next character from the character source and advances the character
      position by one character.</para>
						</summary>
						<returns>
							<para>The next character from the character source represented
      as a <see cref="T:System.Int32"/> , or -1 if at the end
      of the stream.</para>
						</returns>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default implementation
      returns -1.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadBlock">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 ReadBlock(class System.Char[] buffer, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public virtual int ReadBlock(char[] buffer, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Reads a
      specified number of characters from the current stream into a
      provided character array.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Char"/> array. When this method returns, contains the specified character array with the values between <paramref name="index"/> and <paramref name="(index + count - 1)"/> replaced by the characters read from the current source.</param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the index in <paramref name="buffer "/> at which to begin writing.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the maximum number of characters to read.</param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the number of characters that were read, or
   zero if there were no more characters left to read. Can be
   less than <paramref name="count"/> if the end of the stream has been reached.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">(<paramref name="index"/> + <paramref name="count"/> - 1) &gt; <paramref name="buffer"/>
							<see langword="."/>Length.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index &lt; "/>0<paramref name=" "/>
							</para>
							<para>
								<paramref name="-"/> or-</para>
							<para>
								<paramref name="count &lt; "/> 0.</para>
						</exception>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para> The method blocks until either the specified number of
      characters are read, or no more characters are available in the source.</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string ReadLine()"/>
					<MemberSignature Language="C#" Value="public virtual string ReadLine();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Reads a line of characters
      from the current character source.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> containing the next line from the input stream, or
<see langword="null"/> if all lines have
   been read. The returned string does not
   contain the line terminating character.</para>
						</returns>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<exception cref="T:System.OutOfMemoryException">
							<para>There is insufficient memory to allocate a buffer for the returned string.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The number of characters in the next line is larger than <see cref="F:System.Int32.MaxValue" qualify="true"/>.</exception>
						<remarks>
							<para> A line is defined as a sequence
      of characters followed by a carriage return (0x000d), a line feed (0x000a), <see cref="P:System.Environment.NewLine" qualify="true"/>, or the end of stream marker.</para>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReadToEnd">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string ReadToEnd()"/>
					<MemberSignature Language="C#" Value="public virtual string ReadToEnd();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Reads all characters from the current position in the
      character source
      to the end of the source.</para>
						</summary>
						<returns>
							<para> A string containing all characters from the current
      position to the end of the character
      source.</para>
						</returns>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<exception cref="T:System.OutOfMemoryException">There is insufficient memory to allocate a buffer for the returned string.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">The number of characters from the current position to the end of the underlying stream is larger than <see cref="F:System.Int32.MaxValue" qualify="true"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As
      described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Synchronized">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.TextReader Synchronized(class System.IO.TextReader reader)"/>
					<MemberSignature Language="C#" Value="public static TextReader Synchronized(TextReader reader);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.TextReader</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="reader" Type="System.IO.TextReader"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Creates a thread-safe wrapper around the specified
   <see cref="T:System.IO.TextReader"/>
   instance.</para>
						</summary>
						<param name="reader">The <see cref="T:System.IO.TextReader"/> to synchronize.</param>
						<returns>
							<para> A thread-safe <see cref="T:System.IO.TextReader"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">The <paramref name="reader"/> parameter is <see langword="null"/>.</exception>
						<remarks>
							<para>This method returns a <see cref="T:System.IO.TextReader"/> instance that wraps around the specified <see cref="T:System.IO.TextReader"/> instance and restricts concurrent
   access to it by multiple threads.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.IDisposable.Dispose">
					<MemberSignature Language="ILASM" Value=".method private final hidebysig virtual void System.IDisposable.Dispose()"/>
					<MemberSignature Language="C#" Value="void IDisposable.Dispose();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.IDisposable"/> interface. [Note: For more information, see <see cref="M:System.IDisposable.Dispose"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="TextWriter" FullName="System.IO.TextWriter" FullNameSP="System_IO_TextWriter">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable TextWriter extends System.MarshalByRefObject implements System.IDisposable"/>
			<TypeSignature Language="C#" Value="public abstract class TextWriter : MarshalByRefObject, IDisposable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> 
      Represents a writer that can write a sequential series of characters.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.IO.TextWriter"/> is designed for character output, whereas the
<see cref="T:System.IO.Stream"/> 
class is designed for byte input and output.</para>
					<para>
						<block subset="none" type="note">By default, a <see cref="T:System.IO.TextWriter"/> is not thread safe. See <see cref="M:System.IO.TextWriter.Synchronized(System.IO.TextWriter)" qualify="true"/> for a
thread-safe wrapper. </block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.MarshalByRefObject</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IDisposable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor(class System.IFormatProvider formatProvider)"/>
					<MemberSignature Language="C#" Value="protected TextWriter(IFormatProvider formatProvider);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="formatProvider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.TextWriter"/> class with
   the specified format provider.</para>
						</summary>
						<param name="formatProvider">A <see cref="T:System.IFormatProvider"/> object that supplies a formatting object.</param>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="protected TextWriter();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.IO.TextWriter"/> class.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Close">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Close()"/>
					<MemberSignature Language="C#" Value="public virtual void Close();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Closes the current <see cref="T:System.IO.TextWriter"/> instance and releases any system
   resources associated with it.</para>
						</summary>
						<remarks>
							<block subset="none" type="note">
								<para>After a call to <see cref="M:System.IO.TextReader.Close"/> , any operation on the current instance 
      might throw an exception.</para>
								<para>This version of <see cref="M:System.IO.TextReader.Close"/> is equivalent to <see cref="M:System.IO.TextReader.Dispose(System.Boolean)"/>(<see langword="true"/>).</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Dispose">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Dispose(bool disposing)"/>
					<MemberSignature Language="C#" Value="protected virtual void Dispose(bool disposing);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="disposing" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Releases the unmanaged resources used by the <see cref="T:System.IO.TextWriter"/> and 
   optionally releases the managed resources.</para>
						</summary>
						<param name="disposing">
							<see langword="true"/> to release both managed and unmanaged resources; <see langword="false"/> to release only unmanaged resources.</param>
						<remarks>
							<para>When the <paramref name="disposing"/> parameter is <see langword="true"/>, this method 
   releases all resources held by any managed objects that this <see cref="T:System.IO.FileStream"/>
   references. This method invokes the <see langword="Dispose()"/> method of each
   referenced object.</para>
							<para>
								<block subset="none" type="note">
									<see cref="M:System.IO.FileStream.Dispose(System.Boolean)"/> may be called multiple 
times by other objects. When overriding <see cref="M:System.IO.FileStream.Dispose(System.Boolean)"/>(<see cref="T:System.Boolean"/>), be careful not
to reference objects that have been previously disposed in an earlier call to
<see cref="M:System.IO.FileStream.Dispose(System.Boolean)"/> .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Encoding">
					<MemberSignature Language="ILASM" Value=".property class System.Text.Encoding Encoding { public hidebysig virtual abstract specialname class System.Text.Encoding get_Encoding() }"/>
					<MemberSignature Language="C#" Value="public abstract Encoding Encoding { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.Encoding</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the <see cref="T:System.Text.Encoding"/> in which the output is written.</para>
						</summary>
						<value>
							<para>The <see cref="T:System.Text.Encoding"/> in which the output
   is written.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="usage">This property is required in some XML scenarios where a
      header must be written containing the encoding used by the <see cref="T:System.IO.TextWriter"/>. This
      allows XML code to consume an arbitrary <see cref="T:System.IO.TextWriter"/> and generate a
      correct XML header.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Flush">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Flush()"/>
					<MemberSignature Language="C#" Value="public virtual void Flush();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Writes any buffered data to the underlying device and
      clears all buffers for the current <see cref="T:System.IO.TextWriter"/> instance.</para>
						</summary>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method is not
      implemented in this abstract class.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FormatProvider">
					<MemberSignature Language="ILASM" Value=".property class System.IFormatProvider FormatProvider { public hidebysig virtual specialname class System.IFormatProvider get_FormatProvider() }"/>
					<MemberSignature Language="C#" Value="public virtual IFormatProvider FormatProvider { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.IFormatProvider</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets an object that provides formatting for the current instance</para>
						</summary>
						<value>
							<para>A <see cref="T:System.IFormatProvider"/> object for a specific culture, or the formatting of the
   current culture if no other culture is specified.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NewLine">
					<MemberSignature Language="ILASM" Value=".property string NewLine { public hidebysig virtual specialname string get_NewLine() public hidebysig virtual specialname void set_NewLine(string value) }"/>
					<MemberSignature Language="C#" Value="public virtual string NewLine { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the line terminator string used by the
      current <see cref="T:System.IO.TextWriter"/> .</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the line terminator string for the current <see cref="T:System.IO.TextWriter"/> .</para>
						</value>
						<remarks>
							<para>The default line terminator string is <see cref="P:System.Environment.NewLine" qualify="true"/>
.</para>
							<para>The line terminator string is written to the text stream
   whenever one of the <see cref="M:System.IO.TextWriter.WriteLine"/> methods is called. In order for text written by the
<see cref="T:System.IO.TextWriter"/> to be readable by a <see cref="T:System.IO.TextReader"/> , only "\n" or <see cref="P:System.Environment.NewLine" qualify="true"/> 
should be used as terminator strings. If <see cref="P:System.IO.TextWriter.NewLine"/> is set to
<see langword="null"/>, the default newline character is used instead.</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Null">
					<MemberSignature Language="ILASM" Value=".field public static initOnly class System.IO.TextWriter Null"/>
					<MemberSignature Language="C#" Value="public static readonly TextWriter Null;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.TextWriter</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Provides a <see cref="T:System.IO.TextWriter"/>
object without a backing store.</para>
						</summary>
						<remarks>
							<para>Use <see cref="F:System.IO.TextWriter.Null"/> to redirect output to a stream that will not
   consume any operating system resources.</para>
							<para>When a <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/> method is invoked on <see cref="F:System.IO.TextWriter.Null"/>, the call simply returns, and no data is actually written
to any backing store.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Synchronized">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IO.TextWriter Synchronized(class System.IO.TextWriter writer)"/>
					<MemberSignature Language="C#" Value="public static TextWriter Synchronized(TextWriter writer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.TextWriter</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="writer" Type="System.IO.TextWriter"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Creates a thread-safe wrapper around the specified
   <see cref="T:System.IO.TextWriter"/>
   instance.</para>
						</summary>
						<param name="writer">The <see cref="T:System.IO.TextWriter"/> to synchronize.</param>
						<returns>
							<para> A thread-safe <see cref="T:System.IO.TextWriter"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="writer"/> is <see langword="null"/>.</exception>
						<remarks>
							<para> This method returns a class that wraps around the
      specified <see cref="T:System.IO.TextWriter"/> instance and restricts concurrent
      access to it by multiple threads.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.IDisposable.Dispose">
					<MemberSignature Language="ILASM" Value=".method private final hidebysig virtual void System.IDisposable.Dispose()"/>
					<MemberSignature Language="C#" Value="void IDisposable.Dispose();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.IDisposable"/> interface. [Note: For more information, see <see cref="M:System.IDisposable.Dispose"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(string format, class System.Object[] arg)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(string format, params object[] arg);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg" Type="System.Object[]">
							<Attributes>
								<Attribute>
									<AttributeName>ParamArrayAttribute</AttributeName>
									<Excluded>1</Excluded>
									<ExcludedTypeName>System.ParamArrayAttribute</ExcludedTypeName>
									<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
								</Attribute>
							</Attributes>
						</Parameter>
					</Parameters>
					<Docs>
						<summary>
							<para> Writes a formatted string to the text stream.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing the format string.</param>
						<param name="arg">The array of objects referenced from the format string.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="format"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to <paramref name="arg"/>
								<see langword="."/>Length .</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(<see cref="M:System.String.Format(System.String,System.Object)" qualify="true"/> (<paramref name="format"/>, <paramref name="arg"/>)).</para>
							<block subset="none" type="note">
								<para>If a specified object is not referenced in the format string, it is
      ignored.</para>
								<para>This method does not search the specified <see cref="T:System.String"/> for individual newline characters
   (hexadecimal 0x000a) and replace them with <see cref="P:System.IO.TextWriter.NewLine"/>.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(string format, object arg0, object arg1, object arg2)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(string format, object arg0, object arg1, object arg2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
						<Parameter Name="arg1" Type="System.Object"/>
						<Parameter Name="arg2" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes out a formatted string to the text stream.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing the format string.</param>
						<param name="arg0">The first object referenced in the format string.</param>
						<param name="arg1">The second object referenced in the format string.</param>
						<param name="arg2">The third object referenced in the format string.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="format"/> is <see langword="null"/>.</para>
							<para>-or-</para>
							<para>An object referenced in the <paramref name="format "/>string is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (3).</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(<see cref="M:System.String.Format(System.String,System.Object)" qualify="true"/> (<paramref name="format"/>,
<paramref name="arg0"/>, <paramref name="arg1"/>, <paramref name="arg2"/>)).</para>
							<block subset="none" type="note">
								<para>If a specified object is not referenced in the format string, it is
      ignored.</para>
								<para>This method does not search the specified <see cref="T:System.String"/> for individual newline characters
   (hexadecimal 0x000a) and replace them with <see cref="P:System.IO.TextWriter.NewLine"/>.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(string format, object arg0, object arg1)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(string format, object arg0, object arg1);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
						<Parameter Name="arg1" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes out a formatted string to the text stream.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing the format string.</param>
						<param name="arg0">The first object referenced in the format string.</param>
						<param name="arg1">The second object referenced in the format string.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="format"/> is <see langword="null"/>.</para>
							<para>-or-</para>
							<para>An object referenced in the <paramref name="format "/>string is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (2).</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(<see cref="M:System.String.Format(System.String,System.Object)" qualify="true"/> (<paramref name="format"/>,
<paramref name="arg0"/>, <paramref name="arg1"/>)).</para>
							<block subset="none" type="note">
								<para>If a specified object is not referenced in the format string, it is
      ignored.</para>
								<para>This method does not search the specified <see cref="T:System.String"/> for individual newline characters
   (hexadecimal 0x000a) and replace them with <see cref="P:System.IO.TextWriter.NewLine"/>.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(string format, object arg0)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(string format, object arg0);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes out the format string to the text stream.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing the format string.</param>
						<param name="arg0">An object referenced in the format string.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="format"/> is <see langword="null"/>.</para>
							<para>-or-</para>
							<para>An object referenced in the <paramref name="format "/>string is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (1).</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(<see cref="M:System.String.Format(System.String,System.Object)" qualify="true"/> (<paramref name="format"/>,
<paramref name="arg0"/>)).</para>
							<block subset="none" type="note">
								<para>If the specified object is not referenced in the format string, it is
      ignored.</para>
								<para>This method does not search the specified <see cref="T:System.String"/> for individual newline characters
   (hexadecimal 0x000a) and replace them with <see cref="P:System.IO.TextWriter.NewLine"/>.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(object value)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a
      specified object to the text stream.</para>
						</summary>
						<param name="value">The object to write. If <paramref name="value"/> is <see langword="null"/>, nothing is written.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(
<paramref name="value"/>.ToString()).</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
							<block subset="none" type="default">The default implementation uses
   the <see cref="M:System.IO.TextWriter.Write(System.Char)"/>(<see cref="T:System.String"/>) method.</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(string value)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a specified <see cref="T:System.String"/> to the text stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to write. If <paramref name="value"/> is <see langword="null"/>, nothing is written.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(<paramref name="value"/>.ToByteArray()).</para>
							<para>
								<block subset="none" type="note">This method does
   not search the specified <see cref="T:System.String"/> for individual newline characters (hexadecimal 0x000a)
   and replace them with <see cref="P:System.IO.TextWriter.NewLine"/>
   .</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(decimal value)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a
      specified <see cref="T:System.Decimal"/> to the text stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> to write.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(
<paramref name="value"/>.ToString ()).</para>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(float64 value)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a
      specified <see cref="T:System.Double"/> to the text stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> to write.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(
<paramref name="value"/>.ToString()).</para>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(float32 value)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a
      specified <see cref="T:System.Single"/> to the text stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> to write.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(
<paramref name="value"/>.ToString()).</para>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a
      specified <see cref="T:System.UInt64"/> to the text
      stream.</para>
						</summary>
						<altcompliant cref="!:The CLS alternative for the current method is System.IO.TextWriter.Write( System.Int64 )."/>
						<param name="value">The <see cref="T:System.UInt64"/> to write.</param>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.IO.TextWriter.Write(System.Char)"/>(<see cref="T:System.Decimal"/>).</para>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(
<paramref name="value"/>.<see langword="ToString"/> 
() ).</para>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(int64 value)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a
      specified <see cref="T:System.Int64"/> to the text
      stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int64"/> to write.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(
<paramref name="value"/>.<see langword="ToString"/> 
() ).</para>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a <see cref="T:System.UInt32"/> to the text stream.</para>
						</summary>
						<altcompliant cref="!:The CLS alternative for the current method is System.IO.TextWriter.Write( System.Int32 )."/>
						<param name="value">The <see cref="T:System.UInt32"/> to write.</param>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.IO.TextWriter.Write(System.Char)"/>(<see cref="T:System.Int64"/>).</para>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(
<paramref name="value"/>.ToString ()).</para>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(int32 value)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a
      specified <see cref="T:System.Int32"/> to the text stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int32"/> to write.</param>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(
<paramref name="value"/>.<see langword="ToString"/> 
()).</para>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(bool value)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a specified <see cref="T:System.Boolean"/>
value to the text stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to write.</param>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(
<paramref name="value"/>.ToString ()).</para>
							<para>
								<block subset="none" type="behaviors">As
   described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(class System.Char[] buffer, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(char[] buffer, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a subarray of characters to the text stream.</para>
						</summary>
						<param name="buffer">The character array from which characters are read.</param>
						<param name="index">Starting index in the buffer.</param>
						<param name="count">The number of characters to write.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">(<paramref name="index"/> + <paramref name="count"/> ) &gt; <paramref name="buffer"/>
							<see langword="."/>Length.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index &lt; "/>0 or <paramref name="count"/> &lt; 0.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method does not search the
      specified array for individual newline characters (hexadecimal 0x000a) and
      replace them with <see cref="P:System.IO.TextWriter.NewLine"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As
      described
      above.</block>
							</para>
							<block subset="none" type="default">The default implementation uses
      the <see cref="M:System.IO.TextWriter.Write(System.Char)"/>(<see langword="char"/>[]) method.</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(class System.Char[] buffer)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(char[] buffer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a character array to the text stream.</para>
						</summary>
						<param name="buffer">The <see cref="T:System.Char"/> array to write to the text stream. If <paramref name="buffer"/> is <see langword="null"/>, nothing is written.</param>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(<paramref name="buffer"/>, 0,
<paramref name="buffer"/>.Length ).</para>
							<para>
								<block subset="none" type="note">This method does not search the
   specified array for individual newline characters (hexadecimal 0x000a) and
   replace them with <see cref="P:System.IO.TextWriter.NewLine"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public virtual void Write(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a character to the text stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> to write to the text stream.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">This method is not
      implemented in this abstract class.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(decimal value)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a specified <see cref="T:System.Decimal"/> value followed by a line
   terminator to the text stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to write.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/> (<paramref name="value"/>.ToString()).</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(int64 value)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a specified <see cref="T:System.Int64"/> value followed by a
   line terminator to the text stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int64"/> value to write.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/>( <paramref name="value"/>.<see langword="ToString"/> ()
   ).</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a specified <see cref="T:System.UInt32"/> value followed by
   a line terminator to the text stream.</para>
						</summary>
						<altcompliant cref="!:The CLS alternative for the current method is System.IO.TextWriter.WriteLine( System.Int32 )."/>
						<param name="value">The <see cref="T:System.UInt32"/> value to write.</param>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.IO.TextWriter.WriteLine"/>(<see cref="T:System.Int64"/>).</para>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/>( <paramref name="value"/>.ToString ()
   ).</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(int32 value)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a specified <see cref="T:System.Int32"/> value followed by a line
   terminator to the text stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int32"/> value to write.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/>(<paramref name="value"/>.ToString()).</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(bool value)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(bool value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a <see cref="T:System.Boolean"/> value
   followed by a line terminator to the text stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Boolean"/> value to write.</param>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/>( <paramref name="value"/>.ToString ()
   ).</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(class System.Char[] buffer, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(char[] buffer, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a sub-array of characters from a specified character array, followed by a line terminator to
      the text stream.</para>
						</summary>
						<param name="buffer">The <see cref="T:System.Char"/> array from which characters are read.</param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the index in <paramref name="buffer"/> at which to begin reading.</param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the maximum number of characters to write.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">(<paramref name="index"/> + <paramref name="count"/> ) &gt; <paramref name="buffer"/>.Length.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index &lt; "/> 0</para>
							<para> -or-</para>
							<para>
								<paramref name="count"/> &lt; 0.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(
<paramref name="value"/>, <paramref name="index"/>, <paramref name="count "/>) followed by <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/>().</para>
							<para>
								<block subset="none" type="note">This method does not search the
   specified array for individual newline characters (hexadecimal 0x000a) and
   replace them with <see cref="P:System.IO.TextWriter.NewLine"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(class System.Char[] buffer)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(char[] buffer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Char[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a specified character array followed by a line terminator to
      the text stream.</para>
						</summary>
						<param name="buffer">The <see cref="T:System.Char"/> array from which data is read. If <paramref name="buffer"/> is <see langword="null"/> , only the line terminator is written.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(
<paramref name="value "/>) followed by <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/>().</para>
							<para>
								<block subset="none" type="note">This method does not search the
   specified array for individual newline characters (hexadecimal 0x000a) and
   replace them with <see cref="P:System.IO.TextWriter.NewLine"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a specified character followed by a line terminator to the text
      stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> to write to the text stream.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(
<paramref name="value"/> ) followed by <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/>().</para>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine()"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Writes a line terminator to the text stream.</para>
						</summary>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)"/>(<see cref="P:System.IO.TextWriter.NewLine"/>.ToCharArray()).</para>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a specified <see cref="T:System.UInt64"/> value followed by a
   line terminator to the text stream.</para>
						</summary>
						<altcompliant cref="!:The CLS alternative for the current method is System.IO.TextWriter.WriteLine( System.Int64 )."/>
						<param name="value">The <see cref="T:System.UInt64"/> value to write.</param>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use 
   <see cref="M:System.IO.TextWriter.WriteLine"/>(<see cref="T:System.Decimal"/>).</para>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/>( <paramref name="value"/>.ToString ()
   ).</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(string value)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes a specified <see cref="T:System.String"/> followed by a line terminator to the text stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.String"/> to write. If <paramref name="value"/> is <see langword="null"/> , only the line terminator is written.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.Write(System.Char)"/> is equivalent to <see cref="M:System.IO.TextWriter.Write(System.Char)" qualify="true"/>(
<paramref name="value"/>.ToByteArray() ).</para>
							<para>The line terminator string is defined by the <see cref="P:System.IO.TextWriter.NewLine"/> property.</para>
							<para>
								<block subset="none" type="note">This method does not search the
   specified <see cref="T:System.String"/>
   for individual newline characters (hexadecimal 0x000a) and replace them with
<see cref="P:System.IO.TextWriter.NewLine"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(object value)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a specified object followed by a line
      terminator to the text stream.</para>
						</summary>
						<param name="value">The object to write. If <paramref name="value"/> is <see langword="null"/> , only the line terminator is written.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/>( <paramref name="value"/>.ToString()
   ).</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(float32 value)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a specified <see cref="T:System.Single"/> value followed by a line
   terminator to the text stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to write.</param>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/>(<paramref name="value"/>.ToString()).</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(string format, object arg0)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(string format, object arg0);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes out a formatted string followed by a line
      terminator to the text stream.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing the format string.</param>
						<param name="arg0">The object referenced in the format string.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="format"/> is <see langword="null"/>.</para>
							<para>-or-</para>
							<para>An object referenced in the <paramref name="format "/>string is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (1).</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/>(<see cref="M:System.String.Format(System.String,System.Object)" qualify="true"/> (<paramref name="format"/>, <paramref name="arg0"/>)).</para>
							<block subset="none" type="note">
								<para>If the specified object is not referenced in the format string, it is
      ignored.</para>
								<para>This method does not search the specified <see cref="T:System.String"/> for individual newline characters
   (hexadecimal 0x000a) and replace them with <see cref="P:System.IO.TextWriter.NewLine"/>.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(string format, object arg0, object arg1)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(string format, object arg0, object arg1);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
						<Parameter Name="arg1" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes out a formatted string followed by a line
      terminator to the text stream.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing the format string.</param>
						<param name="arg0">The first object referenced in the format string.</param>
						<param name="arg1">The second object referenced in the format string.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="format"/> is <see langword="null"/>.</para>
							<para>-or-</para>
							<para>An object referenced in the <paramref name="format "/>string is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (2).</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/>(<see cref="M:System.String.Format(System.String,System.Object)" qualify="true"/> (<paramref name="format"/>,
<paramref name="arg0"/>, <paramref name="arg1"/>)).</para>
							<block subset="none" type="note">
								<para>If the specified object is not referenced in the format string, it is
      ignored.</para>
								<para>This method does not search the specified <see cref="T:System.String"/> for individual newline characters
   (hexadecimal 0x000a) and replace them with <see cref="P:System.IO.TextWriter.NewLine"/>.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(string format, object arg0, object arg1, object arg2)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(string format, object arg0, object arg1, object arg2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg0" Type="System.Object"/>
						<Parameter Name="arg1" Type="System.Object"/>
						<Parameter Name="arg2" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes out a formatted string followed by a line
      terminator to the text stream.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing the format string.</param>
						<param name="arg0">The first object referenced in the format string.</param>
						<param name="arg1">The second object referenced in the format string.</param>
						<param name="arg2">The third object referenced in the format string.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="format"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to the number of provided objects to be formatted (3).</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/>(<see cref="M:System.String.Format(System.String,System.Object)" qualify="true"/> (<paramref name="format"/>,
<paramref name="arg0"/>, <paramref name="arg1"/>, <paramref name="arg2"/>)).</para>
							<para>If the value of any object parameter is null, it is treated as an empty string.</para>
							<block subset="none" type="note">
								<para>If the specified object is not referenced in the format string, it is
      ignored.</para>
								<para>This method does not search the specified <see cref="T:System.String"/> for individual newline characters
   (hexadecimal 0x000a) and replace them with <see cref="P:System.IO.TextWriter.NewLine"/>.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As
   described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(string format, class System.Object[] arg)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(string format, params object[] arg);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="arg" Type="System.Object[]">
							<Attributes>
								<Attribute>
									<AttributeName>ParamArrayAttribute</AttributeName>
									<Excluded>1</Excluded>
									<ExcludedTypeName>System.ParamArrayAttribute</ExcludedTypeName>
									<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
								</Attribute>
							</Attributes>
						</Parameter>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes out a formatted string followed by a line
      terminator to the text stream.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing the format string.</param>
						<param name="arg">The array of objects referenced from the format string.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="format"/> or <paramref name="arg "/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">An I/O error occurred.</exception>
						<exception cref="T:System.FormatException">
							<para>The format specification in <paramref name="format"/> is invalid.</para>
							<para>-or-</para>
							<para>The number indicating an argument to be formatted is less than zero, or greater than or equal to <paramref name="arg"/>
								<see langword="."/>Length.</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/>(<see cref="M:System.String.Format(System.String,System.Object)" qualify="true"/> (<paramref name="format"/>,
<paramref name="arg"/>)).</para>
							<block subset="none" type="note">
								<para>If the specified object is not referenced in the format string, it is
      ignored.</para>
								<para>This method does not search the specified <see cref="T:System.String"/> for individual newline characters
   (hexadecimal 0x000a) and replace them with <see cref="P:System.IO.TextWriter.NewLine"/>.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WriteLine">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void WriteLine(float64 value)"/>
					<MemberSignature Language="C#" Value="public virtual void WriteLine(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes the text representation of a specified <see cref="T:System.Double"/> value followed by a line
   terminator to the text stream.</para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to write.</param>
						<exception cref="T:System.IO.IOException"> An I/O error occurred.</exception>
						<remarks>
							<para>This version of <see cref="M:System.IO.TextWriter.WriteLine"/> is equivalent to <see cref="M:System.IO.TextWriter.WriteLine" qualify="true"/> (<paramref name="value"/>.ToString()).</para>
							<para>
								<block subset="none" type="behaviors">As described
   above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Thread" FullName="System.Threading.Thread" FullNameSP="System_Threading_Thread">
			<TypeSignature Language="ILASM" Value=".class public sealed Thread extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class Thread"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents a sequential
      thread of execution. </para>
				</summary>
				<remarks>
					<para> A process may create
      and execute one or more threads to execute a portion of the program
      code associated with the process. A <see cref="T:System.Threading.ThreadStart"/> delegate is used to specify
      the program code
      executed by a thread.</para>
					<para>Some operating systems might
      not utilize the concepts of threads or preemptive scheduling. Also, the concept
      of "thread priority" might not exist at all or its meaning may vary, depending on
      the underlying operating system. Implementers of the <see cref="T:System.Threading.Thread"/>
      
      type are required to describe their threading policies,
      including what thread priority means, how many threading priority
      levels exist, and
      whether scheduling is preemptive.</para>
					<para> For the duration of its existence, a thread is always in one
      or more of the states defined by <see cref="T:System.Threading.ThreadState"/>. A scheduling priority level, as defined
      by <see cref="T:System.Threading.ThreadPriority"/> , can be requested for a thread, but it might
      not be honored
      by the operating system.</para>
					<para>If an unhandled exception is thrown in the code executed by a thread created
      by an application, a <see cref="F:System.AppDomain.UnhandledException"/> event is raised (<see cref="P:System.UnhandledExceptionEventArgs.IsTerminating"/> is set to <see langword="false"/>), and the thread
      is terminated; the current process is not terminated.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Threading.ThreadStart start)"/>
					<MemberSignature Language="C#" Value="public Thread(ThreadStart start);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="start" Type="System.Threading.ThreadStart"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Threading.Thread"/>
class.</para>
						</summary>
						<param name="start">A <see cref="T:System.Threading.ThreadStart"/> delegate that references the methods to be invoked when the new thread begins executing. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="start "/>is <see langword="null"/> . </exception>
						<remarks>
							<para>
								<SPAN>
									<block subset="none" type="note">To schedule the thread for execution, call <see cref="M:System.Threading.Thread.Start"/>.</block>
								</SPAN>
							</para>
							<para>
								<SPAN>Until <see cref="M:System.Threading.Thread.Start"/> is called, the thread's state includes <see cref="F:System.Threading.ThreadState.Unstarted"/>.</SPAN>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Abort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void Abort(object stateInfo)"/>
					<MemberSignature Language="C#" Value="public void Abort(object stateInfo);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="stateInfo" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Raises a <see cref="T:System.Threading.ThreadAbortException"/> in the thread on which it is
   invoked to begin the process of terminating the thread. In all but the most extraordinary situations, calling this method will terminate
   the thread.
   </para>
						</summary>
						<param name="stateInfo">A <see cref="T:System.Object"/> that contains application-specific information<SPAN>, such as state, </SPAN>
							<SPAN>which can be used by the thread being aborted.</SPAN>
						</param>
						<exception cref="T:System.Security.SecurityException">
							<SPAN>
								<SPAN>Caller does not have <see cref="F:System.Security.Permissions.SecurityPermissionFlag.ControlThread"/> security permission for this thread.</SPAN>
							</SPAN>
						</exception>
						<remarks>
							<para>The object passed as the <paramref name="stateInfo"/>
parameter can be obtained by accessing the
<see cref="P:System.Threading.ThreadAbortException.ExceptionState"/> 
property.</para>
							<para>
								<block subset="none" type="note">For details on
   aborting threads, see <see cref="M:System.Threading.Thread.Abort(System.Object)"/>
   ().</block>
							</para>
						</remarks>
						<permission cref="!:System.Security.SecurityPermission">Requires permission to control the thread to be aborted. See <see cref="F:System.Security.Permissions.SecurityPermissionFlag.ControlThread"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Abort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void Abort()"/>
					<MemberSignature Language="C#" Value="public void Abort();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Raises a <see cref="T:System.Threading.ThreadAbortException"/> in the thread on
   which it is invoked to begin the process of terminating the thread. In all but
   the most extraordinary situations, calling this method will terminate
   the thread.
   </para>
						</summary>
						<exception cref="T:System.Security.SecurityException">
							<SPAN>
								<SPAN>Caller does not have <see cref="F:System.Security.Permissions.SecurityPermissionFlag.ControlThread"/> security permission for the thread to be aborted.</SPAN>
							</SPAN>
						</exception>
						<remarks>
							<para> When this method is invoked on a thread, the system
      throws a <see cref="T:System.Threading.ThreadAbortException"/> in the
      thread to abort it. Invoking <see cref="M:System.Threading.Thread.Abort(System.Object)"/> on a thread is similar
      to arranging for the target thread to throw a <see cref="T:System.Threading.ThreadAbortException"/>. Because, unlike other
      exceptions, a <see cref="T:System.Threading.ThreadAbortException"/> is sent to another thread, the exception might
      be delayed. A <see cref="T:System.Threading.ThreadAbortException"/> is required to be delayed if and while the
      target thread is executing any of the following:
      </para>
							<list type="bullet">
								<item>
									<term>
         
         unmanaged code</term>
								</item>
								<item>
									<term>
         
         a catch handler</term>
								</item>
								<item>
									<term>
         
         a finally clause</term>
								</item>
								<item>
									<term>
         
         a filter clause</term>
								</item>
								<item>
									<term>
         
         a type initializer</term>
								</item>
							</list>
							<para>A thread abort proceeds as follows:</para>
							<list type="number">
								<item>
									<term>
										<para> An abort begins at the earliest of the following
         times:</para>
										<para> a. when the thread transitions from unmanaged to managed code execution; </para>
										<para> b. when the thread finishes the outermost currently executing catch handler; </para>
										<para> c. immediately if the thread is running managed code outside of any catch handler, finally clause, filter clause or type initializer </para>
									</term>
								</item>
								<item>
									<term>
										<para> Whenever an outermost catch handler finishes
            execution, the <see cref="T:System.Threading.ThreadAbortException"/>
            is rethrown unless the thread being
            aborted has called <see cref="M:System.Threading.Thread.ResetAbort"/> since the call to <see cref="M:System.Threading.Thread.Abort(System.Object)"/>.
            </para>
									</term>
								</item>
								<item>
									<term>
										<para> When all finally blocks have been called and the
               thread is about to transition to any unmanaged code which executed before the
               first entry to managed code, <see cref="M:System.Threading.Thread.ResetAbort"/>
               is called so that a return to managed code will consider the abort to have been successfully processed.
               </para>
									</term>
								</item>
							</list>
							<para> Unexecuted <see langword="finally"/> blocks
      are executed before the thread is aborted; this includes any finally block that
      is executing when the exception is thrown. The thread is not guaranteed to abort
      immediately, or at all. This situation can occur if a thread does an unbounded
      amount of computation in the finally blocks that are called as part
      of the abort procedure, thereby indefinitely delaying the abort. To ensure a thread has aborted, invoke <see cref="M:System.Threading.Thread.Join"/>
      on the thread after calling <see cref="M:System.Threading.Thread.Abort(System.Object)"/> . </para>
							<para> If <see cref="M:System.Threading.Thread.Abort(System.Object)"/> is called on a thread that has not been
   started, the thread aborts when <see cref="M:System.Threading.Thread.Start"/> is called. If the target thread is blocked or sleeping in managed code and is not inside any of the code blocks that are required to delay an abort, the thread is resumed and immediately aborted.</para>
							<para> After <see cref="M:System.Threading.Thread.Abort(System.Object)"/>
is invoked on a thread, the state
of the thread includes <see cref="F:System.Threading.ThreadState.AbortRequested"/>. After the thread has
terminated as a result of a successful call to <see cref="M:System.Threading.Thread.Abort(System.Object)"/>, the state of the thread includes
<see cref="F:System.Threading.ThreadState.Stopped"/> and <see cref="F:System.Threading.ThreadState.Aborted"/>
. </para>
							<para>
								<block subset="none" type="note">With sufficient permissions, a
   thread that is the target of a <see cref="M:System.Threading.Thread.Abort(System.Object)"/> can cancel the abort using
   the <see cref="M:System.Threading.Thread.ResetAbort"/>
   method. For an example that demonstrates calling the <see cref="M:System.Threading.Thread.ResetAbort"/> method, see <see cref="T:System.Threading.ThreadAbortException"/>
   .</block>
							</para>
						</remarks>
						<permission cref="!:System.Security.SecurityPermission">Requires permission to control the thread to be aborted. See <see cref="F:System.Security.Permissions.SecurityPermissionFlag.ControlThread"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CurrentThread">
					<MemberSignature Language="ILASM" Value=".property class System.Threading.Thread CurrentThread { public hidebysig static specialname class System.Threading.Thread get_CurrentThread() }"/>
					<MemberSignature Language="C#" Value="public static Thread CurrentThread { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.Thread</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>
								<SPAN>Gets a <see cref="T:System.Threading.Thread"/>
instance that represents the currently executing thread.</SPAN>
							</para>
						</summary>
						<value>
							<para> An instance of <see cref="T:System.Threading.Thread"/> representing the current thread.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Finalize">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Finalize()"/>
					<MemberSignature Language="C#" Value="~Thread();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Releases the resources held by this instance.
 </para>
						</summary>
						<remarks>
							<para>
								<block subset="none" type="note">Application code
 does not call this method; it is automatically invoked during garbage
 collection.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetDomain">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.AppDomain GetDomain()"/>
					<MemberSignature Language="C#" Value="public static AppDomain GetDomain();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.AppDomain</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns an object representing the application domain in
      which the current thread is executing.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.AppDomain"/> object that represents the current application domain.</para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName="IsAlive">
					<MemberSignature Language="ILASM" Value=".property bool IsAlive { public hidebysig specialname instance bool get_IsAlive() }"/>
					<MemberSignature Language="C#" Value="public bool IsAlive { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value
   indicating the execution status of the current thread.
   </para>
						</summary>
						<value>
							<para>
								<see langword="true "/>
if this thread has been started, and has not terminated; otherwise,
<see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>Typically, this property returns true unless the <see cref="P:System.Threading.Thread.ThreadState"/> of the thread contains <see cref="F:System.Threading.ThreadState.Unstarted"/> or <see cref="F:System.Threading.ThreadState.Stopped"/>. However, due to atomicity issues or additional implementation-defined thread states, there may be times when the thread has started but has not terminated, yet the thread state has not been updated.  In these cases, <see cref="P:System.Threading.Thread.IsAlive"/> is permitted to be true even if the <see cref="P:System.Threading.Thread.ThreadState"/> contains <see cref="F:System.Threading.ThreadState.Unstarted"/> or <see cref="F:System.Threading.ThreadState.Stopped"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsBackground">
					<MemberSignature Language="ILASM" Value=".property bool IsBackground { public hidebysig specialname instance bool get_IsBackground() public hidebysig specialname instance void set_IsBackground(bool value) }"/>
					<MemberSignature Language="C#" Value="public bool IsBackground { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets a <see cref="T:System.Boolean"/>
value indicating whether a thread is a background thread.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>if the thread is or is to become
   a background thread; otherwise, <see langword="false"/>.
   </para>
						</value>
						<exception cref="T:System.Threading.ThreadStateException"> The thread has reached the <see cref="F:System.Threading.ThreadState.Stopped"/> state. </exception>
						<remarks>
							<para>The default value of this property is <see langword="false"/>. The property value can be changed before
   the thread is started and before it terminates.</para>
							<para>
								<block subset="none" type="note">A thread is either
   a background thread or a foreground thread. Background threads are identical to
   foreground threads except for the fact that background threads do not
   prevent a process from terminating. Once all foreground threads belonging to a
   process have terminated, the execution engine ends the process by invoking
<see cref="M:System.Threading.Thread.Abort(System.Object)"/> on any background threads that
   
   are
   still alive. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Join">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void Join()"/>
					<MemberSignature Language="C#" Value="public void Join();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Blocks the calling thread until the thread on which this method
      is invoked terminates.
      </para>
						</summary>
						<exception cref="T:System.Threading.ThreadStateException">The caller attempted to join a thread that is in the <see cref="F:System.Threading.ThreadState.Unstarted"/> state. </exception>
						<remarks>
							<para>
								<block subset="none" type="note">Use this method to
      ensure a thread has terminated. The caller will block indefinitely if the thread
      does not
      terminate.</block>
							</para>
							<para>
								<see cref="M:System.Threading.Thread.Join"/> cannot be invoked on a thread that is in the <see cref="F:System.Threading.ThreadState.Unstarted"/> state.</para>
							<para>This method changes the state of the calling thread to include <see cref="F:System.Threading.ThreadState.WaitSleepJoin"/>. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Join">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance bool Join(valuetype System.TimeSpan timeout)"/>
					<MemberSignature Language="C#" Value="public bool Join(TimeSpan timeout);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="timeout" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Blocks the calling thread until the thread on which this method is invoked terminates or the specified time
      elapses.
      </para>
						</summary>
						<param name="timeout">A <see cref="T:System.TimeSpan"/> set to the amount of time to wait for the thread to terminate. Specify <see cref="F:System.Threading.Timeout.Infinite" qualify="true"/> milliseconds to wait indefinitely. </param>
						<returns>
							<para>
								<see langword="true "/>if the thread has terminated;
<see langword="false "/> if the thread has not terminated after the amount 
   of time specified by <paramref name="timeout"/>
   has elapsed.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="timeout"/> is negative and is not equal to <see cref="F:System.Threading.Timeout.Infinite"/> milliseconds, or is greater than <see cref="F:System.Int32.MaxValue" qualify="true"/> milliseconds.</exception>
						<exception cref="T:System.Threading.ThreadStateException">The caller attempted to join a thread that is in the <see cref="F:System.Threading.ThreadState.Unstarted"/> state. </exception>
						<remarks>
							<para>This method converts <paramref name="timeout "/>to milliseconds,
   tests the validity of the converted value, and calls <see cref="M:System.Threading.Thread.Join"/>(<see cref="T:System.Int32"/>).</para>
							<para>
								<block subset="none" type="note">If <see cref="F:System.Threading.Timeout.Infinite" qualify="true"/> milliseconds is specified for
<paramref name="timeout"/>, this method 
behaves identically to <see langword="Join"/> (),
except for the return value.</block>
							</para>
							<para>
								<see langword="Join"/> cannot be invoked on a thread that is in the <see cref="F:System.Threading.ThreadState.Unstarted"/> state.</para>
							<para>This method changes the state of the current thread to include <see cref="F:System.Threading.ThreadState.WaitSleepJoin"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Join">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance bool Join(int32 millisecondsTimeout)"/>
					<MemberSignature Language="C#" Value="public bool Join(int millisecondsTimeout);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="millisecondsTimeout" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Blocks the calling thread until the thread on which this method is invoked terminates or the specified time elapses.
      </para>
						</summary>
						<param name="millisecondsTimeout">A <see cref="T:System.Int32"/> containing the number of milliseconds to wait for the thread to terminate. </param>
						<returns>
							<para>
								<see langword="true "/>if the thread has terminated; <see langword="false "/> if the
   thread has not terminated after <paramref name="millisecondsTimeout"/>
   has elapsed.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="millisecondsTimeout"/> is negative and is not equal to <see cref="F:System.Threading.Timeout.Infinite"/> .</exception>
						<exception cref="T:System.Threading.ThreadStateException">The caller attempted to join a thread that is in the <see cref="F:System.Threading.ThreadState.Unstarted"/> state. </exception>
						<remarks>
							<para>
								<block subset="none" type="note">If <see cref="F:System.Threading.Timeout.Infinite" qualify="true"/> is specified for <paramref name="millisecondsTimeout"/>, this method
   behaves identically to <see langword="Join"/>
   (), except for the return value.</block>
							</para>
							<para>
								<see langword="Join"/> cannot be invoked on a thread
that is in the <see cref="F:System.Threading.ThreadState.Unstarted"/> state.</para>
							<para>This method changes the state of the calling thread to include <see cref="F:System.Threading.ThreadState.WaitSleepJoin"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MemoryBarrier">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void MemoryBarrier ()"/>
					<MemberSignature Language="C#" Value="public static void MemoryBarrier ();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Guarantees that all subsequent loads or stores from the current thread will not access memory until after all previous loads and stores from the current thread have completed, as observed from this or other threads.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Name">
					<MemberSignature Language="ILASM" Value=".property string Name { public hidebysig specialname instance string get_Name() public hidebysig specialname instance void set_Name(string value) }"/>
					<MemberSignature Language="C#" Value="public string Name { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or
      sets the name of
      the thread.
      </para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the
   name of the thread, or <see langword="null"/> if no name
   was set.</para>
						</value>
						<exception cref="T:System.InvalidOperationException">A set operation was requested, and the <see langword="Name"/> property has already been set.</exception>
						<remarks>
							<para>This property is write-once. Once this property has been 
      set to a non-null value, attempts to set this property to a new value cause an exception.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Priority">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Threading.ThreadPriority Priority { public hidebysig specialname instance valuetype System.Threading.ThreadPriority get_Priority() public hidebysig specialname instance void set_Priority(valuetype System.Threading.ThreadPriority value) }"/>
					<MemberSignature Language="C#" Value="public ThreadPriority Priority { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.ThreadPriority</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>
								<SPAN>
      Gets or sets a value indicating the scheduling priority of a thread.</SPAN>
							</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Threading.ThreadPriority"/> value.
   </para>
						</value>
						<exception cref="T:System.Threading.ThreadStateException"> The thread is in the <see cref="F:System.Threading.ThreadState.Stopped"/> state.</exception>
						<exception cref="T:System.ArgumentException">The value specified for a set operation is not a valid <see cref="T:System.Threading.ThreadPriority"/> value. </exception>
						<remarks>
							<para>A thread can be assigned any one of the following
      priority values:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Threading.ThreadPriority.Highest"/>
									</term>
								</item>
								<item>
									<term>
										<see cref="F:System.Threading.ThreadPriority.AboveNormal"/>
									</term>
								</item>
								<item>
									<term>
										<see cref="F:System.Threading.ThreadPriority.Normal"/>
									</term>
								</item>
								<item>
									<term>
										<see cref="F:System.Threading.ThreadPriority.BelowNormal"/>
									</term>
								</item>
								<item>
									<term>
										<see cref="F:System.Threading.ThreadPriority.Lowest"/>
									</term>
								</item>
							</list>
							<para> The default value is <see cref="F:System.Threading.ThreadPriority.Normal"/>.</para>
							<para>Operating systems are not required to honor the priority
   of a thread.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ResetAbort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void ResetAbort()"/>
					<MemberSignature Language="C#" Value="public static void ResetAbort();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Cancels a <see cref="M:System.Threading.Thread.Abort(System.Object)"/> requested for the current thread.</para>
						</summary>
						<exception cref="T:System.Threading.ThreadStateException">
							<see cref="M:System.Threading.Thread.Abort(System.Object)"/> was not invoked on the current thread.</exception>
						<exception cref="T:System.Security.SecurityException">
							<SPAN>Caller does not have <see cref="F:System.Security.Permissions.SecurityPermissionFlag.ControlThread"/> security permission for the current thread.</SPAN>
						</exception>
						<remarks>
							<para> This method cannot be called by untrusted code.
      </para>
							<para> When a call is made to <see cref="M:System.Threading.Thread.Abort(System.Object)"/>
to destroy a thread, the system throws a <see cref="T:System.Threading.ThreadAbortException"/>. <see cref="T:System.Threading.ThreadAbortException"/> is a special
exception that can be caught by application code, but is rethrown at the end of
the catch block unless <see langword="ResetAbort "/>is called.
<see langword="ResetAbort "/>cancels the request to 
abort, and prevents the <see langword=" ThreadAbortException"/>
from terminating the thread.</para>
						</remarks>
						<permission cref="!:System.Security.SecurityPermission">Requires permission to control the current thread. See <see cref="F:System.Security.Permissions.SecurityPermissionFlag.ControlThread"/>.</permission>
						<example>
							<para>For an example that demonstrates calling 
      this method, see <see cref="T:System.Threading.ThreadAbortException"/> .</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sleep">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Sleep(int32 millisecondsTimeout)"/>
					<MemberSignature Language="C#" Value="public static void Sleep(int millisecondsTimeout);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="millisecondsTimeout" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Blocks the current thread for the specified number of milliseconds.
      </para>
						</summary>
						<param name="millisecondsTimeout">A <see cref="T:System.Int32"/> containing the number of milliseconds for which the thread is blocked. Specify zero to indicate that this thread should be suspended temporarily to allow other waiting threads to execute. Specify <see cref="F:System.Threading.Timeout.Infinite" qualify="true"/> to block the thread indefinitely. </param>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="millisecondsTimeout"/> is negative and is not equal to <see cref="F:System.Threading.Timeout.Infinite" qualify="true"/> .</exception>
						<remarks>
							<para>The thread will not be scheduled for execution by
      the operating system for the amount of time specified. This method changes the
      state of the thread to include <see cref="F:System.Threading.ThreadState.WaitSleepJoin"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sleep">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Sleep(valuetype System.TimeSpan timeout)"/>
					<MemberSignature Language="C#" Value="public static void Sleep(TimeSpan timeout);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="timeout" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Blocks the current thread for a specified time.
      </para>
						</summary>
						<param name="timeout">A <see cref="T:System.TimeSpan"/> set to the amount of time for which the current thread will be blocked. Specify zero to indicate that this thread should be suspended temporarily to allow other waiting threads to execute. Specify <see cref="F:System.Threading.Timeout.Infinite" qualify="true"/> milliseconds to suspend the thread indefinitely. </param>
						<exception cref="T:System.ArgumentOutOfRangeException">The value of <paramref name="timeout"/> is negative and is not equal to <see cref="F:System.Threading.Timeout.Infinite"/> milliseconds, or is greater than <see cref="F:System.Int32.MaxValue" qualify="true"/> milliseconds.</exception>
						<remarks>
							<para>This method converts <paramref name="timeout "/>to milliseconds,
   tests the validity of the converted value, and calls <see cref="M:System.Threading.Thread.Sleep(System.Int32)"/>(<see cref="T:System.Int32"/>).</para>
							<para>The thread will not be scheduled for execution by the operating system
   for the amount of time specified. This method changes the state of the thread to
   include <see cref="F:System.Threading.ThreadState.WaitSleepJoin"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Start">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void Start()"/>
					<MemberSignature Language="C#" Value="public void Start();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Causes the operating system to consider the thread ready 
      to be scheduled for execution.</para>
						</summary>
						<exception cref="T:System.OutOfMemoryException">There is not enough memory available to start the thread.</exception>
						<exception cref="T:System.NullReferenceException">This method was invoked on a <see langword="null"/> thread reference.</exception>
						<exception cref="T:System.Threading.ThreadStateException">The thread has already been started. </exception>
						<remarks>
							<para>Calling <see cref="M:System.Threading.Thread.Start"/> removes the <see cref="F:System.Threading.ThreadState.Unstarted"/> state from the
<see cref="P:System.Threading.Thread.ThreadState"/> of the thread.</para>
							<para> Once a thread is started,
   the operating system can schedule it for execution. When the thread begins executing, the <see cref="T:System.Threading.ThreadStart"/>
   delegate supplied to the constructor for the thread invokes its
   methods.</para>
							<para> Once the thread terminates, it cannot be restarted with another call to <see cref="M:System.Threading.Thread.Start"/>.</para>
						</remarks>
						<example>
							<para>The following example demonstrates creating a thread and starting it.</para>
							<code lang="C#">using System;
using System.Threading;
public class ThreadWork {
  public static void DoWork() {
    for (int i = 0; i&lt;3;i++) {
         Console.WriteLine ("Working thread ...");
         Thread.Sleep(100);
    }
  }
}
class ThreadTest{
  public static void Main() {
    ThreadStart myThreadDelegate = new ThreadStart(ThreadWork.DoWork);
    Thread myThread = new Thread(myThreadDelegate);
    myThread.Start();
    for (int i = 0; i&lt;3; i++) {
        Console.WriteLine("In main.");
        Thread.Sleep(100);
    }
  }
}
   </code>
							<para>One possible set of output is</para>
							<c>
								<para>In main. </para>
								<para>Working thread ... </para>
								<para>In main. </para>
								<para>Working thread ... </para>
								<para>In main. </para>
								<para>Working thread ... </para>
							</c>
							<para> Note that the sequence of the output statements is not guaranteed to be identical across systems. </para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ThreadState">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Threading.ThreadState ThreadState { public hidebysig specialname instance valuetype System.Threading.ThreadState get_ThreadState() }"/>
					<MemberSignature Language="C#" Value="public ThreadState ThreadState { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.ThreadState</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>
								<SPAN>Gets a value containing the
      states of the current thread.</SPAN>
							</para>
						</summary>
						<value>
							<para> A combination of one or more <see cref="T:System.Threading.ThreadState"/> values, which indicate
   the state of the current thread.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>A thread is running if the value returned by this property does not include <see cref="F:System.Threading.ThreadState.Unstarted"/> and does not include <see cref="F:System.Threading.ThreadState.Stopped"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static object VolatileRead (class System.Object&amp; address)"/>
					<MemberSignature Language="C#" Value="public static object VolatileRead (ref object address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Object&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile read from the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Object"/> that specifies the address in memory from which to read.</param>
						<returns>
							<para>A <see cref="T:System.Object"/> containing the value at the specified address after any pending writes.</para>
						</returns>
						<remarks>
							<para>The value at the given address is atomically loaded with acquire semantics, meaning that the read is guaranteed to occur prior to any references to memory that occur after the execution of this method in the current thread. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileWrite"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the load IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 VolatileRead (class System.Double&amp; address)"/>
					<MemberSignature Language="C#" Value="public static double VolatileRead (ref double address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Double&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile read from the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Double"/> that specifies the address in memory from which to read.</param>
						<returns>
							<para>A <see cref="T:System.Double"/> containing the value at the specified address after any pending writes.</para>
						</returns>
						<remarks>
							<para>The value at the given address is atomically loaded with acquire semantics, meaning that the read is guaranteed to occur prior to any references to memory that occur after the execution of this method in the current thread. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileWrite"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the load IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 VolatileRead (class System.Single&amp; address)"/>
					<MemberSignature Language="C#" Value="public static float VolatileRead (ref float address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Single&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile read from the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Single"/> that specifies the address in memory from which to read.</param>
						<returns>
							<para>A <see cref="T:System.Single"/> containing the value at the specified address after any pending writes.</para>
						</returns>
						<remarks>
							<para>The value at the given address is atomically loaded with acquire semantics, meaning that the read is guaranteed to occur prior to any references to memory that occur after the execution of this method in the current thread. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileWrite"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the load IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static uint64 VolatileRead (class System.UInt64&amp; address)"/>
					<MemberSignature Language="C#" Value="public static ulong VolatileRead (ref ulong address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.UInt64&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile read from the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.UInt64"/> that specifies the address in memory from which to read.</param>
						<returns>
							<para>A <see cref="T:System.UInt64"/> containing the value at the specified address after any pending writes.</para>
						</returns>
						<remarks>
							<para>The value at the given address is atomically loaded with acquire semantics, meaning that the read is guaranteed to occur prior to any references to memory that occur after the execution of this method in the current thread. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileWrite"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the load IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static uintPtr VolatileRead (class System.UIntPtr&amp; address)"/>
					<MemberSignature Language="C#" Value="public static UIntPtr VolatileRead (ref UIntPtr address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.UIntPtr</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.UIntPtr&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile read from the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.UIntPtr"/> that specifies the address in memory from which to read.</param>
						<returns>
							<para>A <see cref="T:System.UIntPtr"/> containing the value at the specified address after any pending writes.</para>
						</returns>
						<remarks>
							<para>The value at the given address is atomically loaded with acquire semantics, meaning that the read is guaranteed to occur prior to any references to memory that occur after the execution of this method in the current thread. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileWrite"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the load IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName="VolatileRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static intptr VolatileRead (class System.IntPtr&amp; address)"/>
					<MemberSignature Language="C#" Value="public static IntPtr VolatileRead (ref IntPtr address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IntPtr</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.IntPtr&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile read from the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.IntPtr"/> that specifies the address in memory from which to read.</param>
						<returns>
							<para>A <see cref="T:System.IntPtr"/> containing the value at the specified address after any pending writes.</para>
						</returns>
						<remarks>
							<para>The value at the given address is atomically loaded with acquire semantics, meaning that the read is guaranteed to occur prior to any references to memory that occur after the execution of this method in the current thread. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileWrite"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the load IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName="VolatileRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static uint32 VolatileRead (class System.UInt32&amp; address)"/>
					<MemberSignature Language="C#" Value="public static uint VolatileRead (ref uint address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.UInt32&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile read from the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.UInt32"/> that specifies the address in memory from which to read.</param>
						<returns>
							<para>A <see cref="T:System.UInt32"/> containing the value at the specified address after any pending writes.</para>
						</returns>
						<remarks>
							<para>The value at the given address is atomically loaded with acquire semantics, meaning that the read is guaranteed to occur prior to any references to memory that occur after the execution of this method in the current thread. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileWrite"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the load IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static uint16 VolatileRead (class System.UInt16&amp; address)"/>
					<MemberSignature Language="C#" Value="public static ushort VolatileRead (ref ushort address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.UInt16&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile read from the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.UInt16"/> that specifies the address in memory from which to read.</param>
						<returns>
							<para>A <see cref="T:System.UInt16"/> containing the value at the specified address after any pending writes.</para>
						</returns>
						<remarks>
							<para>The value at the given address is atomically loaded with acquire semantics, meaning that the read is guaranteed to occur prior to any references to memory that occur after the execution of this method in the current thread. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileWrite"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the load IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static sbyte VolatileRead (class System.Sbyte&amp; address)"/>
					<MemberSignature Language="C#" Value="public static sbyte VolatileRead (ref sbyte address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.SByte&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile read from the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.SByte"/> that specifies the address in memory from which to read.</param>
						<returns>
							<para>A <see cref="T:System.SByte"/> containing the value at the specified address after any pending writes.</para>
						</returns>
						<remarks>
							<para>The value at the given address is atomically loaded with acquire semantics, meaning that the read is guaranteed to occur prior to any references to memory that occur after the execution of this method in the current thread. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileWrite"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the load IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 VolatileRead (class System.Int64&amp; address)"/>
					<MemberSignature Language="C#" Value="public static long VolatileRead (ref long address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Int64&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile read from the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Int64"/> that specifies the address in memory from which to read.</param>
						<returns>
							<para>A <see cref="T:System.Int64"/> containing the value at the specified address after any pending writes.</para>
						</returns>
						<remarks>
							<para>The value at the given address is atomically loaded with acquire semantics, meaning that the read is guaranteed to occur prior to any references to memory that occur after the execution of this method in the current thread. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileWrite"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the load IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 VolatileRead (class System.Int32&amp; address)"/>
					<MemberSignature Language="C#" Value="public static int VolatileRead (ref int address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Int32&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile read from the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Int32"/> that specifies the address in memory from which to read.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the value at the specified address after any pending writes.</para>
						</returns>
						<remarks>
							<para>The value at the given address is atomically loaded with acquire semantics, meaning that the read is guaranteed to occur prior to any references to memory that occur after the execution of this method in the current thread. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileWrite"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the load IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 VolatileRead (class System.Int16&amp; address)"/>
					<MemberSignature Language="C#" Value="public static short VolatileRead (ref short address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Int16&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile read from the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Int16"/> that specifies the address in memory from which to read.</param>
						<returns>
							<para>A <see cref="T:System.Int16"/> containing the value at the specified address after any pending writes.</para>
						</returns>
						<remarks>
							<para>The value at the given address is atomically loaded with acquire semantics, meaning that the read is guaranteed to occur prior to any references to memory that occur after the execution of this method in the current thread. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileWrite"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the load IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static byte VolatileRead (class System.Byte&amp; address)"/>
					<MemberSignature Language="C#" Value="public static byte VolatileRead (ref byte address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Byte&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile read from the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Byte"/> that specifies the address in memory from which to read.</param>
						<returns>
							<para>A <see cref="T:System.Byte"/> containing the value at the specified address after any pending writes.</para>
						</returns>
						<remarks>
							<para>The value at the given address is atomically loaded with acquire semantics, meaning that the read is guaranteed to occur prior to any references to memory that occur after the execution of this method in the current thread. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileWrite"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the load IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void VolatileWrite (class System.UInt32&amp; address, uint32 value)"/>
					<MemberSignature Language="C#" Value="public static void VolatileWrite (ref uint address, uint value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.UInt32&amp;"/>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile write to the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.UInt32"/> that specifies the address in memory at which to write.</param>
						<param name="value">A <see cref="T:System.UInt32"/> that specifies the value to write.</param>
						<remarks>
							<para>The value is written atomically to the specified address with release semantics, meaning that the write is guaranteed to happen after any references to memory that occur prior to the execution. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileRead"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the store IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void VolatileWrite (class System.UInt64&amp; address, uint64 value)"/>
					<MemberSignature Language="C#" Value="public static void VolatileWrite (ref ulong address, ulong value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="UInt64&amp;"/>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile write to the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.UInt64"/> that specifies the address in memory at which to write.</param>
						<param name="value">A <see cref="T:System.UInt64"/> that specifies the value to write.</param>
						<remarks>
							<para>The value is written atomically to the specified address with release semantics, meaning that the write is guaranteed to happen after any references to memory that occur prior to the execution. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileRead"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the store IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void VolatileWrite (class System.UIntPtr&amp; address, UIntPtr value)"/>
					<MemberSignature Language="C#" Value="public static void VolatileWrite (ref UIntPtr address, UIntPtr value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.UIntPtr&amp;"/>
						<Parameter Name="value" Type="System.UIntPtr"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile write to the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.UIntPtr"/> that specifies the address in memory at which to write.</param>
						<param name="value">A <see cref="T:System.UIntPtr"/> that specifies the value to write.</param>
						<remarks>
							<para>The value is written atomically to the specified address with release semantics, meaning that the write is guaranteed to happen after any references to memory that occur prior to the execution. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileRead"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the store IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName="VolatileWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void VolatileWrite (class System.IntPtr&amp; address, IntPtr value)"/>
					<MemberSignature Language="C#" Value="public static void VolatileWrite (ref IntPtr address, IntPtr value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.IntPtr&amp;"/>
						<Parameter Name="value" Type="System.IntPtr"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile write to the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.IntPtr"/> that specifies the address in memory at which to write.</param>
						<param name="value">A <see cref="T:System.IntPtr"/> that specifies the value to write.</param>
						<remarks>
							<para>The value is written atomically to the specified address with release semantics, meaning that the write is guaranteed to happen after any references to memory that occur prior to the execution. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileRead"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the store IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName="VolatileWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void VolatileWrite (class System.Single&amp; address, float32 value)"/>
					<MemberSignature Language="C#" Value="public static void VolatileWrite (ref float address, float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Single&amp;"/>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile write to the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Single"/> that specifies the address in memory at which to write.</param>
						<param name="value">A <see cref="T:System.Single"/> that specifies the value to write.</param>
						<remarks>
							<para>The value is written atomically to the specified address with release semantics, meaning that the write is guaranteed to happen after any references to memory that occur prior to the execution. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileRead"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the store IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void VolatileWrite (class System.Double&amp; address, float64 value)"/>
					<MemberSignature Language="C#" Value="public static void VolatileWrite (ref double address, double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Double&amp;"/>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile write to the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Double"/> that specifies the address in memory at which to write.</param>
						<param name="value">A <see cref="T:System.Double"/> that specifies the value to write.</param>
						<remarks>
							<para>The value is written atomically to the specified address with release semantics, meaning that the write is guaranteed to happen after any references to memory that occur prior to the execution. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileRead"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the store IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void VolatileWrite (class System.Object&amp; address, object value)"/>
					<MemberSignature Language="C#" Value="public static void VolatileWrite (ref object address, object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Object&amp;"/>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile write to the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Object"/> that specifies the address in memory at which to write.</param>
						<param name="value">A <see cref="T:System.Object"/> that specifies the value to write.</param>
						<remarks>
							<para>The value is written atomically to the specified address with release semantics, meaning that the write is guaranteed to happen after any references to memory that occur prior to the execution. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileRead"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the store IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void VolatileWrite (class System.UInt16&amp; address, uint16 value)"/>
					<MemberSignature Language="C#" Value="public static void VolatileWrite (ref ushort address, ushort value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.UInt16&amp;"/>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile write to the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.UInt16"/> that specifies the address in memory at which to write.</param>
						<param name="value">A <see cref="T:System.UInt16"/> that specifies the value to write.</param>
						<remarks>
							<para>The value is written atomically to the specified address with release semantics, meaning that the write is guaranteed to happen after any references to memory that occur prior to the execution. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileRead"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the store IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void VolatileWrite (class System.SByte&amp; address, sbyte value)"/>
					<MemberSignature Language="C#" Value="public static void VolatileWrite (ref sbyte address, sbyte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.SByte&amp;"/>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile write to the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.SByte"/> that specifies the address in memory at which to write.</param>
						<param name="value">A <see cref="T:System.SByte"/> that specifies the value to write.</param>
						<remarks>
							<para>The value is written atomically to the specified address with release semantics, meaning that the write is guaranteed to happen after any references to memory that occur prior to the execution. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileRead"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the store IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void VolatileWrite (class System.Int64&amp; address, int64 value)"/>
					<MemberSignature Language="C#" Value="public static void VolatileWrite (ref long address, long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Int64&amp;"/>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile write to the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Int64"/> that specifies the address in memory at which to write.</param>
						<param name="value">A <see cref="T:System.Int64"/> that specifies the value to write.</param>
						<remarks>
							<para>The value is written atomically to the specified address with release semantics, meaning that the write is guaranteed to happen after any references to memory that occur prior to the execution. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileRead"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the store IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void VolatileWrite (class System.Int32&amp; address, int32 value)"/>
					<MemberSignature Language="C#" Value="public static void VolatileWrite (ref int address, int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Int32&amp;"/>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile write to the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Int32"/> that specifies the address in memory at which to write.</param>
						<param name="value">A <see cref="T:System.Int32"/> that specifies the value to write.</param>
						<remarks>
							<para>The value is written atomically to the specified address with release semantics, meaning that the write is guaranteed to happen after any references to memory that occur prior to the execution. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileRead"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the store IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void VolatileWrite (class System.Int16&amp; address, int16 value)"/>
					<MemberSignature Language="C#" Value="public static void VolatileWrite (ref short address, short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Int16&amp;"/>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile write to the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Int16"/> that specifies the address in memory at which to write.</param>
						<param name="value">A <see cref="T:System.Int16"/> that specifies the value to write.</param>
						<remarks>
							<para>The value is written atomically to the specified address with release semantics, meaning that the write is guaranteed to happen after any references to memory that occur prior to the execution. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileRead"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the store IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VolatileWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void VolatileWrite (class System.Byte&amp; address, byte value)"/>
					<MemberSignature Language="C#" Value="public static void VolatileWrite (ref byte address, byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Byte&amp;"/>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Performs a volatile write to the specified address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Byte"/> that specifies the address in memory at which to write.</param>
						<param name="value">A <see cref="T:System.Byte"/> that specifies the value to write.</param>
						<remarks>
							<para>The value is written atomically to the specified address with release semantics, meaning that the write is guaranteed to happen after any references to memory that occur prior to the execution. It is recommended that <see cref="M:System.Threading.Thread.VolatileRead"/> and <see cref="M:System.Threading.Thread.VolatileWrite"/> be used in conjunction. Calling this method affects only this single access; other accesses to the same location are required to also be made using this method or <see cref="M:System.Threading.Thread.VolatileRead"/> if the volatile semantics are to be preserved. This method has exactly the same semantics as using the volatile prefix on the store IL instruction, except that atomicity is provided for all types, not just those 32 bits or smaller in size. <block subset="none" type="note">For additional information, see Partition I of the CLI Specification.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ThreadAbortException" FullName="System.Threading.ThreadAbortException" FullNameSP="System_Threading_ThreadAbortException">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable ThreadAbortException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public sealed class ThreadAbortException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Thrown by the system when a call is made to
   <see cref="M:System.Threading.Thread.Abort(System.Object)"/>.</para>
				</summary>
				<remarks>
					<para> Instances of this exception type can only
      be created by the system.</para>
					<para>When a call is made to <see cref="M:System.Threading.Thread.Abort(System.Object)"/>
to terminate a thread, the system throws a <see cref="T:System.Threading.ThreadAbortException"/> in the target
thread. <see cref="T:System.Threading.ThreadAbortException"/> is a
special exception that can
be caught by application code, but is rethrown at the end of the catch block
unless <see cref="M:System.Threading.Thread.ResetAbort"/> is called. When the
<see langword="ThreadAbortException "/> 
exception is raised, the system executes any <see langword="finally "/>blocks for the target thread. The finally blocks are executed even if
<see cref="M:System.Threading.Thread.ResetAbort" qualify="true"/> is called. If the abort is successful, 
the target thread is left in the <see cref="F:System.Threading.ThreadState.Stopped" qualify="true"/> and
<see cref="F:System.Threading.ThreadState.Aborted" qualify="true"/> states.</para>
				</remarks>
				<example>
					<para>The following example demonstrates aborting a thread.
      The thread that receives the <see cref="T:System.Threading.ThreadAbortException"/> uses the <see cref="M:System.Threading.Thread.ResetAbort"/> method to cancel the abort request and
      continue executing.</para>
					<code lang="C#">using System;
using System.Threading;
using System.Security.Permissions;

public class ThreadWork {
  public static void DoWork() {
    try {
      for (int i=0; i&lt;100; i++) {
        Console.WriteLine("Thread - working."); 
        Thread.Sleep(100);
      }
    }
    catch (ThreadAbortException e) {
      Console.WriteLine("Thread - caught ThreadAbortException - resetting.");
      Thread.ResetAbort();
    }
    Console.WriteLine("Thread - still alive and working."); 
    Thread.Sleep(1000);
    Console.WriteLine("Thread - finished working.");
  } 
}

class ThreadAbortTest{
  public static void Main() {
    ThreadStart myThreadDelegate = new ThreadStart(ThreadWork.DoWork);
    Thread myThread = new Thread(myThreadDelegate);
    myThread.Start();
    Thread.Sleep(100);
    Console.WriteLine("Main - aborting my thread.");
    myThread.Abort();
    myThread.Join();
    Console.WriteLine("Main ending."); 
  }
}
   </code>
					<para>The output is </para>
					<c>
						<para>Thread - working.</para>
						<para>Main - aborting my thread.</para>
						<para>Thread - caught ThreadAbortException - resetting.</para>
						<para>Thread - still alive and working.</para>
						<para>Thread - finished working.</para>
						<para>Main ending.</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="ExceptionState">
					<MemberSignature Language="ILASM" Value=".property object ExceptionState { public hidebysig specialname instance object get_ExceptionState() }"/>
					<MemberSignature Language="C#" Value="public object ExceptionState { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets an object that contains application-specific
      information related to the thread abort.
      </para>
						</summary>
						<value>
							<para>A <see cref="T:System.Object"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The object returned by this property is specified via the
   <paramref name="stateInfo"/> parameter of <see cref="M:System.Threading.Thread.Abort(System.Object)"/>. This property returns
   <see langword="null"/> if no
      object was specified, or the <see cref="M:System.Threading.Thread.Abort(System.Object)"/> method with no parameters was
      called. The exact content and usage
      of this object is application-defined; it is typically used to convey
      information that is meaningful to the thread being aborted.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ThreadPriority" FullName="System.Threading.ThreadPriority" FullNameSP="System_Threading_ThreadPriority">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable ThreadPriority extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum ThreadPriority"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Specifies the scheduling priority of a <see cref="T:System.Threading.Thread"/>.
   </para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Threading.ThreadPriority"/>
values specify the relative scheduling priority of
threads.</para>
					<para>Operating systems are not guaranteed to support
   preemptive scheduling. Also, the concept of "thread priority" may not exist at
   all or its meaning may vary, depending on the underlying operating system.
   Implementers of this type are required to describe how the notion of thread
   priority maps to operating system priority. For more information about threads,
   see the <see cref="T:System.Threading.Thread"/>
   class. </para>
					<para> The <see cref="P:System.Threading.Thread.Priority"/>
property sets and returns the priority value information for a thread.
Applications can request a scheduling priority for a thread by setting the
<see cref="P:System.Threading.Thread.Priority"/> property to the appropriate 
<see langword="ThreadPriority"/>
value. The
default thread priority is <see cref="F:System.Threading.ThreadPriority.Normal"/>
.</para>
					<para>
						<block subset="none" type="note">A thread cannot be scheduled if it is in the <see cref="F:System.Threading.ThreadState.Unstarted"/> state or
the <see cref="F:System.Threading.ThreadState.Stopped"/> state.
</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="AboveNormal">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Threading.ThreadPriority AboveNormal = 3"/>
					<MemberSignature Language="C#" Value="AboveNormal = 3;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.ThreadPriority</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AboveNormal</MemberValue>
					<Docs>
						<summary>
							<para> Threads with this priority may be scheduled after threads
      with <see cref="F:System.Threading.ThreadPriority.Highest"/> priority and before those with <see cref="F:System.Threading.ThreadPriority.Normal"/> priority.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BelowNormal">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Threading.ThreadPriority BelowNormal = 1"/>
					<MemberSignature Language="C#" Value="BelowNormal = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.ThreadPriority</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>BelowNormal</MemberValue>
					<Docs>
						<summary>
							<para>Threads with this priority may be scheduled
      after threads with <see cref="F:System.Threading.ThreadPriority.Normal"/> priority, and before those with <see cref="F:System.Threading.ThreadPriority.Lowest"/>
      priority.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Highest">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Threading.ThreadPriority Highest = 4"/>
					<MemberSignature Language="C#" Value="Highest = 4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.ThreadPriority</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Highest</MemberValue>
					<Docs>
						<summary>
							<para>
								<SPAN>Threads with this priority may be scheduled before threads with any
      other priority.</SPAN>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Lowest">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Threading.ThreadPriority Lowest = 0"/>
					<MemberSignature Language="C#" Value="Lowest = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.ThreadPriority</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Lowest</MemberValue>
					<Docs>
						<summary>
							<para>
								<SPAN>Threads with
      this priority may be scheduled after threads with any other
      priority.</SPAN>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Normal">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Threading.ThreadPriority Normal = 2"/>
					<MemberSignature Language="C#" Value="Normal = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.ThreadPriority</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Normal</MemberValue>
					<Docs>
						<summary>
							<para>Threads with this priority may be scheduled after threads with <see cref="F:System.Threading.ThreadPriority.AboveNormal"/> priority and before those with <see cref="F:System.Threading.ThreadPriority.BelowNormal"/>
priority.</para>
							<para>Threads have <see cref="F:System.Threading.ThreadPriority.Normal"/> priority by
default.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ThreadStart" FullName="System.Threading.ThreadStart" FullNameSP="System_Threading_ThreadStart">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable ThreadStart extends System.Delegate"/>
			<TypeSignature Language="C#" Value="public delegate void ThreadStart();"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Defines the shape of methods that are called when
      a <see cref="T:System.Threading.Thread"/> is started.
      </para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">A new instance of
      the <see cref="T:System.Threading.Thread"/> class is created using a constructor that
      takes a <see cref="T:System.Threading.ThreadStart"/> delegate as its only parameter. When <see cref="M:System.Threading.Thread.Start"/> is invoked and the thread begins
      executing, all of the methods in the invocation list of the specified delegate
      are invoked in the execution
      context of the thread. If a method in the invocation list receives an unhandled
      exception, the thread is terminated, but not the process that contains the thread.</block>
					</para>
					<para>
						<block subset="none" type="note">For an example that
   demonstrates creating a <see langword=" ThreadStart"/>
   delegate, see <see cref="M:System.Threading.Thread.Start" qualify="true"/>.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Delegate</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.ICloneable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members/>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ThreadState" FullName="System.Threading.ThreadState" FullNameSP="System_Threading_ThreadState">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable ThreadState extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum ThreadState"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Specifies the execution states of a <see cref="T:System.Threading.Thread"/>.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Threading.ThreadState"/>
defines the set of possible execution states for threads. Once a thread is
created, it is in one or more of these states until it terminates. Not all
combinations of <see langword="ThreadState"/> values are valid; for example,
a thread cannot be in both the <see cref="F:System.Threading.ThreadState.Stopped"/> and <see cref="F:System.Threading.ThreadState.Unstarted"/>
states.</para>
					<para>The following table shows the actions that cause a thread to
   change state.</para>
					<list type="table">
						<listheader>
							<term>Action</term>
							<description>ThreadState after Action</description>
						</listheader>
						<item>
							<term> The
      thread is created</term>
							<description>Unstarted</description>
						</item>
						<item>
							<term>
								<see cref="M:System.Threading.Thread.Start"/> is invoked on the thread</term>
							<description>Running</description>
						</item>
						<item>
							<term> The thread calls <see cref="M:System.Threading.Thread.Sleep(System.Int32)"/>
							</term>
							<description>WaitSleepJoin</description>
						</item>
						<item>
							<term> The thread calls <see cref="M:System.Threading.Monitor.Wait(System.Object,System.Int32,System.Boolean)"/> to wait
   on an object</term>
							<description>WaitSleepJoin</description>
						</item>
						<item>
							<term> The thread calls <see cref="M:System.Threading.Thread.Join"/> to wait for
   another thread to terminate</term>
							<description>WaitSleepJoin</description>
						</item>
						<item>
							<term> The
      <see cref="T:System.Threading.ThreadStart"/>
   delegate methods finish executing</term>
							<description>Stopped</description>
						</item>
						<item>
							<term> Another thread requests
      the thread to <see cref="M:System.Threading.Thread.Abort(System.Object)"/>
							</term>
							<description>AbortRequested</description>
						</item>
						<item>
							<term> The thread accepts a <see cref="M:System.Threading.Thread.Abort(System.Object)"/> request</term>
							<description>Aborted</description>
						</item>
					</list>
					<para>In addition to the states noted above, there is also the <see cref="F:System.Threading.ThreadState.Background"/> state, which indicates whether the thread is
running in the background or foreground.</para>
					<para>The current state of a thread can be retrieved from the <see cref="P:System.Threading.Thread.ThreadState"/> property,
whose value is a combination of the <see cref="T:System.Threading.ThreadState"/>
values. Once a thread has reached the <see cref="F:System.Threading.ThreadState.Stopped"/> state, it cannot change to any other state. </para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>FlagsAttribute</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="Aborted">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Threading.ThreadState Aborted = 0x100"/>
					<MemberSignature Language="C#" Value="Aborted = 0x100;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.ThreadState</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Aborted</MemberValue>
					<Docs>
						<summary>
							<para>The thread represented by an instance of <see cref="T:System.Threading.Thread"/> has terminated as a result of a call to <see cref="M:System.Threading.Thread.Abort(System.Object)"/>. A thread in this
   state is also in the <see cref="F:System.Threading.ThreadState.Stopped"/> state.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AbortRequested">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Threading.ThreadState AbortRequested = 0x80"/>
					<MemberSignature Language="C#" Value="AbortRequested = 0x80;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.ThreadState</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AbortRequested</MemberValue>
					<Docs>
						<summary>
							<para>The <see cref="M:System.Threading.Thread.Abort(System.Object)"/> method has been invoked on the thread, but the thread
 has not yet received the pending <see cref="T:System.Threading.ThreadAbortException"/> that will attempt to terminate it.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Background">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Threading.ThreadState Background = 0x4"/>
					<MemberSignature Language="C#" Value="Background = 0x4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.ThreadState</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Background</MemberValue>
					<Docs>
						<summary>
							<para>The thread represented by an instance of <see cref="T:System.Threading.Thread"/> is being
 executed as a background thread, as opposed to a foreground thread. <block subset="none" type="note">This state is controlled by setting the <see cref="P:System.Threading.Thread.IsBackground"/>
 
 property.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Running">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Threading.ThreadState Running = 0x0"/>
					<MemberSignature Language="C#" Value="Running = 0x0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.ThreadState</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Running</MemberValue>
					<Docs>
						<summary>
							<para>The thread represented by an instance of <see cref="T:System.Threading.Thread"/> has been started and has not terminated.</para>
							<para>To determine if a thread 
   is running, check that its state does not include <see cref="F:System.Threading.ThreadState.Unstarted"/> and does not include <see cref="F:System.Threading.ThreadState.Stopped"/>.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Stopped">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Threading.ThreadState Stopped = 0x10"/>
					<MemberSignature Language="C#" Value="Stopped = 0x10;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.ThreadState</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Stopped</MemberValue>
					<Docs>
						<summary>
							<para>The thread represented by an instance of <see cref="T:System.Threading.Thread"/>
has terminated.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Unstarted">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Threading.ThreadState Unstarted = 0x8"/>
					<MemberSignature Language="C#" Value="Unstarted = 0x8;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.ThreadState</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Unstarted</MemberValue>
					<Docs>
						<summary>
							<para>The <see cref="M:System.Threading.Thread.Start" qualify="true"/> method 
has not been invoked on the thread.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WaitSleepJoin">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Threading.ThreadState WaitSleepJoin = 0x20"/>
					<MemberSignature Language="C#" Value="WaitSleepJoin = 0x20;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Threading.ThreadState</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>WaitSleepJoin</MemberValue>
					<Docs>
						<summary>
							<para>The thread represented by an instance of <see cref="T:System.Threading.Thread"/> is
 blocked as
 a result of
 a call to <see cref="M:System.Threading.Monitor.Wait(System.Object,System.Int32,System.Boolean)"/>, <see cref="M:System.Threading.Thread.Sleep(System.Int32)"/>, or <see cref="M:System.Threading.Thread.Join"/>.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ThreadStateException" FullName="System.Threading.ThreadStateException" FullNameSP="System_Threading_ThreadStateException">
			<TypeSignature Language="ILASM" Value=".class public serializable ThreadStateException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class ThreadStateException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents errors that occur when a method is invoked on
 a <see cref="T:System.Threading.Thread"/> and the
 thread is in a <see cref="P:System.Threading.Thread.ThreadState"/> that is
 invalid for the method.</para>
				</summary>
				<remarks>
					<para>Once a thread is created, it is in one or more states, as defined
 by <see cref="T:System.Threading.ThreadState"/>, until it
 terminates. <see cref="T:System.Threading.ThreadStateException"/> is
 thrown by methods that cannot perform the requested operation due to
 the current state of
 a thread. For example, calling <see cref="M:System.Threading.Thread.Start"/>
 on a thread that has terminated results in a <see cref="T:System.Threading.ThreadStateException"/> exception.</para>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes
 a <see cref="T:System.Threading.ThreadStateException"/> exception to be thrown.</para>
					<code lang="C#">using System;
using System.Threading;
public class ThreadWork {
 public static void DoWork() {
 Console.WriteLine("Working thread..."); 
 }
}

class ThreadStateTest{
 public static void Main() {
 ThreadStart myThreadDelegate = new ThreadStart(ThreadWork.DoWork);
 Thread myThread = new Thread(myThreadDelegate);
 myThread.Start();
 Thread.Sleep(0);
 Console.WriteLine("In main. Attempting to restart myThread.");
 try {
 myThread.Start();
 }
 catch (ThreadStateException e) {
 Console.WriteLine("Caught: {0}", e.Message);
 }
 
 }
}
 </code>
					<para>The output is </para>
					<c>
						<para>Working thread... </para>
						<para>In main. Attempting to restart myThread.</para>
						<para>Caught: Thread is running or terminated. Cannot restart.</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public ThreadStateException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Threading.ThreadStateException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.Threading.ThreadStateException.Message"/> property of the new
   instance to a system-supplied message that describes the error, such as "The
   requested operation cannot be performed on the thread due to its current state."
   This message takes into account the current system culture.</para>
							<para>The <see cref="!:System.Threading.ThreadStateException.InnerException"/> property 
of the new instance is initialized to <see langword="null"/>

.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public ThreadStateException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Threading.ThreadStateException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. </param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.Threading.ThreadStateException.Message"/> property
   of the new instance using <paramref name="message"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.Threading.ThreadStateException.Message"/> property is initialized to 
   the system-supplied message provided by the constructor that takes no
   arguments. </para>
							<para> The <see cref="!:System.Threading.ThreadStateException.InnerException"/> property of the new
instance is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public ThreadStateException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Threading.ThreadStateException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture. </param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="innerException."/>
						</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.Threading.ThreadStateException.Message"/> property
   of the new instance using <paramref name="message"/> and the <see cref="!:System.Threading.ThreadStateException.InnerException"/> property using
<paramref name="innerException"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.Threading.ThreadStateException.Message"/> property is initialized to 
   the system-supplied message provided by the constructor that takes no
   arguments. </para>
							<para>
								<block subset="none" type="note">For more information on inner
   exceptions, see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Timeout" FullName="System.Threading.Timeout" FullNameSP="System_Threading_Timeout">
			<TypeSignature Language="ILASM" Value=".class public sealed Timeout extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class Timeout"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
   Contains a constant used to specify an infinite amount
   of time.
</summary>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Infinite">
					<MemberSignature Language="ILASM" Value=".field public static literal int32 Infinite = -1"/>
					<MemberSignature Language="C#" Value="public const int Infinite = -1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> A constant used to specify an infinite waiting period.
 </para>
						</summary>
						<remarks>
							<para> The value of this
 constant is -1.</para>
							<para>
								<block subset="none" type="note">For threading methods that accept a timeout
 parameter, such as <see cref="M:System.Threading.Thread.Sleep(System.Int32)"/> and <see cref="!:System.Threading.Thread.Join"/> , this value is used to suppress method behavior that would normally occur due to
 elapsed time. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Timer" FullName="System.Threading.Timer" FullNameSP="System_Threading_Timer">
			<TypeSignature Language="ILASM" Value=".class public sealed Timer extends System.MarshalByRefObject implements System.IDisposable"/>
			<TypeSignature Language="C#" Value="public sealed class Timer : MarshalByRefObject, IDisposable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Provides a mechanism for executing methods at specified intervals.
      </para>
				</summary>
				<remarks>
					<para>A <see cref="T:System.Threading.TimerCallback"/> delegate
   is used to specify the methods associated with a <see langword="Timer"/> . The methods do
   not execute in the thread that created the timer; they execute in a separate thread that is automatically
   allocated by the system. The timer delegate
   is specified when the timer is constructed, and cannot be changed.</para>
					<para>When creating a timer, the application specifies an
   amount of time to wait before the first invocation of the delegate methods (due time), and an amount
   of time to wait between subsequent invocations (period). A timer invokes its methods once
   when its due time elapses, and invokes its methods once per
   period thereafter. These values may be changed, or the timer disabled using the <see cref="M:System.Threading.Timer.Change(System.Int32,System.Int32)"/>
   
   method.</para>
					<para> When a timer is no longer needed, use the <see cref="M:System.Threading.Timer.Dispose(System.Threading.WaitHandle)"/>
method to free the resources held by the timer.</para>
				</remarks>
				<example>
					<para>The following example demonstrates the features of the <see cref="T:System.Threading.Timer"/>
class.</para>
					<code lang="C#">using System;
using System.Threading;

class TimerExampleState {
    public int counter = 0;
    public Timer tmr;
}

class App {
   public static void Main() {
    TimerExampleState s = new TimerExampleState();

    // Create the delegate that invokes methods for the timer.
    TimerCallback timerDelegate = new TimerCallback(CheckStatus);

    // Create a timer that waits one second, then invokes every second.
    Timer timer = new Timer(timerDelegate, s,1000, 1000);
    
    // Keep a handle to the timer, so it can be disposed.
    s.tmr = timer;

    // The main thread does nothing until the timer is disposed.
    while (s.tmr != null)
        Thread.Sleep(0);
    Console.WriteLine("Timer example done.");
   }
   // The following method is called by the timer's delegate.

   static void CheckStatus(Object state) {
    TimerExampleState s = (TimerExampleState) state;
    s.counter++;
          Console.WriteLine("{0} Checking Status {1}.",DateTime.Now.TimeOfDay, s.counter);
        if (s.counter == 5) {
        // Shorten the period. Wait 10 seconds to restart the timer.
        (s.tmr).Change(10000,100);
        Console.WriteLine("changed...");
    }
        if (s.counter == 10) {
        Console.WriteLine("disposing of timer...");
        s.tmr.Dispose();
        s.tmr = null;
    }
   }
}
</code>
					<para>An example of some output is</para>
					<c>
						<para>10:51:40.5809015 Checking Status 1.</para>
						<para>10:51:41.5823515 Checking Status 2.</para>
						<para>10:51:42.5838015 Checking Status 3.</para>
						<para>10:51:43.5852515 Checking Status 4.</para>
						<para>10:51:44.5867015 Checking Status 5.</para>
						<para>changed...</para>
						<para>10:51:54.5911870 Checking Status 6.</para>
						<para>10:51:54.6913320 Checking Status 7.</para>
						<para>10:51:54.7914770 Checking Status 8.</para>
						<para>10:51:54.8916220 Checking Status 9.</para>
						<para>10:51:54.9917670 Checking Status 10.</para>
						<para>disposing of timer...</para>
						<para>Timer example done.</para>
					</c>
					<para>The exact timings returned by this example will vary.</para>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.MarshalByRefObject</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IDisposable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Threading.TimerCallback callback, object state, int32 dueTime, int32 period)"/>
					<MemberSignature Language="C#" Value="public Timer(TimerCallback callback, object state, int dueTime, int period);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="callback" Type="System.Threading.TimerCallback"/>
						<Parameter Name="state" Type="System.Object"/>
						<Parameter Name="dueTime" Type="System.Int32"/>
						<Parameter Name="period" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see langword="Timer "/>class.</para>
						</summary>
						<param name="callback">A <see cref="T:System.Threading.TimerCallback"/> delegate.</param>
						<param name="state">A <see cref="T:System.Object"/> containing application-specific information relevant to the methods invoked by <paramref name="callback"/>, or <see langword="null"/>.</param>
						<param name="dueTime">A <see cref="T:System.Int32"/> containing the amount of time to delay before <paramref name="callback"/> invokes its methods, in milliseconds. Specify <see cref="F:System.Threading.Timeout.Infinite"/> to prevent the timer from starting. Specify zero to start the timer immediately.</param>
						<param name="period">A <see cref="T:System.Int32"/> containing the time interval between invocations of the methods referenced by <paramref name="callback,"/> in milliseconds. Specify <see cref="F:System.Threading.Timeout.Infinite"/> to disable periodic signaling.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="dueTime"/> or <paramref name="period"/> is negative and is not equal to <see cref="F:System.Threading.Timeout.Infinite"/>. </exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="callback"/> is a <see langword="null"/> reference.</exception>
						<remarks>
							<para>
								<paramref name="callback"/> invokes its methods once after <paramref name="dueTime"/> elapses, and then invokes
   its methods each time the <paramref name="period"/> time interval elapses.</para>
							<para>If <paramref name="dueTime"/> is zero,
<paramref name="callback"/> performs 
its first invocation immediately. If <paramref name="dueTime"/> is
<see cref="F:System.Threading.Timeout.Infinite"/>, <paramref name="callback"/> 
does not invoke its methods; the timer is disabled, but may be re-enabled using
the <see cref="M:System.Threading.Timer.Change(System.Int32,System.Int32)"/>
method.</para>
							<para>If <paramref name="period "/>is zero
or <see cref="F:System.Threading.Timeout.Infinite"/> and
<paramref name="dueTime"/> is not <see cref="F:System.Threading.Timeout.Infinite"/>, <paramref name="callback"/> 
invokes its methods exactly once; the periodic behavior of the timer is
disabled, but may be re-enabled using the <see cref="M:System.Threading.Timer.Change(System.Int32,System.Int32)"/>
method.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Threading.TimerCallback callback, object state, valuetype System.TimeSpan dueTime, valuetype System.TimeSpan period)"/>
					<MemberSignature Language="C#" Value="public Timer(TimerCallback callback, object state, TimeSpan dueTime, TimeSpan period);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="callback" Type="System.Threading.TimerCallback"/>
						<Parameter Name="state" Type="System.Object"/>
						<Parameter Name="dueTime" Type="System.TimeSpan"/>
						<Parameter Name="period" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see langword="Timer "/>class.</para>
						</summary>
						<param name="callback">A <see cref="T:System.Threading.TimerCallback"/> delegate.</param>
						<param name="state">A <see cref="T:System.Object"/> containing application-specific information relevant to the methods invoked by <paramref name="callback"/>, or <see langword="null"/> .</param>
						<param name="dueTime">A <see cref="T:System.TimeSpan"/> set to the amount of time to delay before <paramref name="callback"/> invokes its methods. Set the value to <see cref="F:System.Threading.Timeout.Infinite"/> milliseconds to prevent the timer from starting. Specify zero to start the timer immediately.</param>
						<param name="period">A <see cref="T:System.TimeSpan"/> set to the time interval between invocations of the methods referenced by <paramref name="callback"/> . Set the value to <see cref="F:System.Threading.Timeout.Infinite"/> milliseconds to disable periodic signaling.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">The number of milliseconds in the value of <paramref name="dueTime"/> or <paramref name="period"/> is negative and not equal to <see cref="F:System.Threading.Timeout.Infinite"/>, or is greater than <see cref="F:System.Int32.MaxValue"/>.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="callback"/> is a <see langword="null"/> reference.</exception>
						<remarks>
							<para>The <paramref name="callback"/> delegate invokes its methods
   once after <paramref name="dueTime"/> elapses, and then invokes its
   methods each time the <paramref name="period"/> time interval
   elapses.</para>
							<para>If <paramref name="dueTime,"/> in milliseconds, is zero,
<paramref name="callback"/> performs its first invocation immediately. If <paramref name="dueTime"/> is <see cref="F:System.Threading.Timeout.Infinite"/> 
, no method invocation occurs. The timer is disabled, but may be re-enabled using
the <see cref="M:System.Threading.Timer.Change(System.Int32,System.Int32)"/>
method.</para>
							<para>
If <paramref name="period "/>is zero or <see cref="F:System.Threading.Timeout.Infinite"/> milliseconds and <paramref name="dueTime"/> is not <see cref="F:System.Threading.Timeout.Infinite"/>, <paramref name="callback"/>
invokes its methods exactly once. The periodic behavior of the timer is
disabled, but may be re-enabled using the <see cref="M:System.Threading.Timer.Change(System.Int32,System.Int32)"/>
method.
</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Change">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance bool Change(int32 dueTime, int32 period)"/>
					<MemberSignature Language="C#" Value="public bool Change(int dueTime, int period);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="dueTime" Type="System.Int32"/>
						<Parameter Name="period" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>
								<SPAN>
									<SPAN/>
									<SPAN>
										<SPAN/>
										<SPAN>
											<SPAN/>
											<SPAN>
												<SPAN/>Changes the
   start time and interval between method invocations for a timer.</SPAN>
										</SPAN>
									</SPAN>
								</SPAN>
							</para>
						</summary>
						<param name="dueTime">A <see cref="T:System.Int32"/> containing the amount of time to delay before the delegate specified at <see cref="T:System.Threading.Timer"/> construction time invokes its methods, in milliseconds. Specify <see cref="F:System.Threading.Timeout.Infinite"/> to prevent the timer from restarting. Specify zero to restart the timer immediately.</param>
						<param name="period">A <see cref="T:System.Int32"/> containing the time interval between invocations of the methods referenced by the delegate specified at <see cref="T:System.Threading.Timer"/> construction time<paramref name=","/> in milliseconds. Specify <see cref="F:System.Threading.Timeout.Infinite"/> to disable periodic signaling.</param>
						<returns>
							<para>
								<see langword="true "/>
if the current instance has not been disposed; otherwise, <see langword="false"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="dueTime"/> or <paramref name="period"/> is negative and is not equal to <see cref="F:System.Threading.Timeout.Infinite"/> .</exception>
						<remarks>
							<para>The delegate specified at <see cref="T:System.Threading.Timer"/> construction time invokes its methods once after <paramref name="dueTime"/> elapses, and
   then invokes its methods each time the <paramref name="period"/> time interval elapses.</para>
							<para>If <paramref name="dueTime"/> is zero, the
delegate specified at <see cref="T:System.Threading.Timer"/>
construction time performs its next invocation
immediately. If <paramref name="dueTime"/> is <see cref="F:System.Threading.Timeout.Infinite"/>
, no method invocation occurs. The timer is disabled, but may be re-enabled by
calling this method and specifying a non-negative value for
<paramref name="dueTime"/> 
.</para>
							<para>
If <paramref name="period "/>is zero or <see cref="F:System.Threading.Timeout.Infinite"/> and <paramref name="dueTime"/> is not <see cref="F:System.Threading.Timeout.Infinite"/>, the
delegate specified at <see cref="T:System.Threading.Timer"/>
construction time invokes its methods exactly once. The periodic
behavior of the timer is disabled, but may be re-enabled by calling this method
and specifying a positive value for <paramref name="period"/>
.
</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Change">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance bool Change(valuetype System.TimeSpan dueTime, valuetype System.TimeSpan period)"/>
					<MemberSignature Language="C#" Value="public bool Change(TimeSpan dueTime, TimeSpan period);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="dueTime" Type="System.TimeSpan"/>
						<Parameter Name="period" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>
								<SPAN>
									<SPAN/>
									<SPAN>
										<SPAN/>Changes the start time and
   interval between method invocations for a timer.</SPAN>
								</SPAN>
							</para>
						</summary>
						<param name="dueTime">A <see cref="T:System.TimeSpan"/> set to the amount of time to delay before the delegate specified at <see cref="T:System.Threading.Timer"/> construction time invokes its methods. Specify <see cref="F:System.Threading.Timeout.Infinite"/> milliseconds to prevent the timer from restarting. Specify zero to restart the timer immediately. </param>
						<param name="period">A <see cref="T:System.TimeSpan"/> set to the time interval between invocations of the methods referenced by the delegate specified at <see cref="T:System.Threading.Timer"/> construction time. Specify <see cref="F:System.Threading.Timeout.Infinite"/> milliseconds to disable periodic signaling. </param>
						<returns>
							<para>
								<see langword="true "/> if the current instance has
   not been disposed; otherwise, <see langword="false"/>.
   </para>
						</returns>
						<remarks>
							<para>The delegate specified at <see cref="T:System.Threading.Timer"/> construction time invokes its methods once after <paramref name="dueTime"/> elapses, and
   then invokes its methods each time the <paramref name="period"/> time interval elapses.</para>
							<para>If <paramref name="dueTime,"/> in milliseconds,
is zero, the delegate specified at <see cref="T:System.Threading.Timer"/> construction time performs its
next invocation immediately. If <paramref name="dueTime"/> is <see cref="F:System.Threading.Timeout.Infinite"/> milliseconds, no method invocation occurs. The timer is disabled, but may be re-enabled by
calling this method and specifying a non-negative value for <paramref name="dueTime"/>
.</para>
							<para>
If <paramref name="period "/>is zero or <see cref="F:System.Threading.Timeout.Infinite"/> milliseconds and <paramref name="dueTime"/> is not
<see cref="F:System.Threading.Timeout.Infinite"/> milliseconds, the delegate specified at <see cref="T:System.Threading.Timer"/> 
construction time
invokes its methods exactly once. The periodic behavior of the timer is
disabled, but may be re-enabled by calling this method and specifying a positive
value for <paramref name="period"/>
.
</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Dispose">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual void Dispose()"/>
					<MemberSignature Language="C#" Value="public void Dispose();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Releases the resources held by the current instance.</para>
						</summary>
						<remarks>
							<para>
								<block subset="none" type="note">This method is
 implemented to support the <see cref="T:System.IDisposable"/>
 interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Dispose">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance bool Dispose(class System.Threading.WaitHandle notifyObject)"/>
					<MemberSignature Language="C#" Value="public bool Dispose(WaitHandle notifyObject);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="notifyObject" Type="System.Threading.WaitHandle"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Releases the resources held by the current instance.
      </para>
						</summary>
						<param name="notifyObject">Specifies a <see cref="T:System.Threading.WaitHandle"/> to be signaled when the timer has been disposed of. </param>
						<returns>
							<para>
								<see langword="true "/>if the call succeeds;
   otherwise, <see langword="false"/>.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="notifyObject"/> is <see langword="null"/>.</exception>
						<remarks>
							<para> When this method completes, the <see cref="T:System.Threading.WaitHandle"/> specified by <paramref name="notifyObject"/> is
   signaled.
   </para>
							<para>This method calls <see cref="M:System.GC.SuppressFinalize(System.Object)"/> to prevent the garbage collector from finalizing the
current instance.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Finalize">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Finalize()"/>
					<MemberSignature Language="C#" Value="~Timer();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Releases the resources held by the current instance.</para>
						</summary>
						<remarks>
							<block subset="none" type="note">
								<para>Application code does not call this method; it is 
         automatically invoked by during garbage collection unless finalization by the
         garbage collector has been disabled. For more information, see <see cref="M:System.GC.SuppressFinalize(System.Object)" qualify="true"/>,
         and <see cref="M:System.Object.Finalize" qualify="true"/>.</para>
								<para> This method overrides <see cref="M:System.Object.Finalize" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="TimerCallback" FullName="System.Threading.TimerCallback" FullNameSP="System_Threading_TimerCallback">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable TimerCallback extends System.Delegate"/>
			<TypeSignature Language="C#" Value="public delegate void TimerCallback(object state);"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Defines the shape of methods that are called by an instance of
      the <see cref="T:System.Threading.Timer"/> class.
      </para>
				</summary>
				<param name="state">A <see cref="T:System.Object"/> containing application-specific information relevant to the methods invoked by instances of this delegate, or <see langword="null"/> . </param>
				<remarks>
					<para>A <see langword="TimerCallback"/> delegate invokes its
   methods once after the start time elapses, and continues invoking its methods
   once per period until the <see cref="M:System.Threading.Timer.Dispose(System.Threading.WaitHandle)" qualify="true"/> method is called. <block subset="none" type="note">The start time for a <see cref="T:System.Threading.Timer"/> is passed in the <paramref name="dueTime"/>
   parameter of the <see langword=" Timer"/> constructors, and the period
   is passed via the <paramref name="period"/> parameter. </block>
					</para>
					<para>
						<block subset="none" type="note">For an example that
   demonstrates creating and using a <see langword=" TimerCallback"/>
   delegate, see the <see cref="T:System.Threading.Timer"/>
   class.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Delegate</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.ICloneable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members/>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="TimeSpan" FullName="System.TimeSpan" FullNameSP="System_TimeSpan">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable TimeSpan extends System.ValueType implements System.IComparable"/>
			<TypeSignature Language="C#" Value="public struct TimeSpan : IComparable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents an interval of time.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.TimeSpan"/> structure represents an interval of time with values
   ranging from <see cref="F:System.Int64.MinValue"/> to <see cref="F:System.Int64.MaxValue"/> 100-nanosecond <paramref name="ticks"/>.</para>
					<block subset="none" type="note">
						<para>The value of a <see cref="T:System.TimeSpan"/> is represented internally as a number
   of 100-nanosecond ticks. Both the specification of a number of ticks and the
   value of a <see cref="T:System.TimeSpan"/> can be positive or negative.</para>
						<para>A <see cref="T:System.TimeSpan"/> can be represented as a string in the format
"[-]d.hh:mm:ss.ff" where "-" is an optional sign for negative <see cref="T:System.TimeSpan"/> values, the "d" component is
days, "hh" is hours, "mm" is minutes, "ss" is seconds, and "ff" is fractions of
a second. For example, a <see cref="T:System.TimeSpan"/> initialized with 1013<superscript term="12"/>
ticks would
be represented as "11.13:46:40", which is 11 days, 13 hours, 46 minutes, and 40
seconds.</para>
						<para>Due to a varying number of days in months and years, the
   longest unit of time that is used by this structure is the day.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int64 ticks)"/>
					<MemberSignature Language="C#" Value="public TimeSpan(long ticks);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="ticks" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new <see cref="T:System.TimeSpan"/> with the
   specified number of ticks.</para>
						</summary>
						<param name="ticks">A <see cref="T:System.Int64"/> that specifies the number of ticks with which to initialize the new <see cref="T:System.TimeSpan"/> .</param>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 hours, int32 minutes, int32 seconds)"/>
					<MemberSignature Language="C#" Value="public TimeSpan(int hours, int minutes, int seconds);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="hours" Type="System.Int32"/>
						<Parameter Name="minutes" Type="System.Int32"/>
						<Parameter Name="seconds" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new <see cref="T:System.TimeSpan"/> with the
   specified numbers of hours, minutes, and seconds.</para>
						</summary>
						<param name="hours">A <see cref="T:System.Int32"/> that specifies the number of hours with which to initialize the new <see cref="T:System.TimeSpan"/>.</param>
						<param name="minutes">A <see cref="T:System.Int32"/> that specifies the number of minutes with which to initialize the new <see cref="T:System.TimeSpan"/>.</param>
						<param name="seconds">A <see cref="T:System.Int32"/> that specifies the number of seconds with which to initialize the new <see cref="T:System.TimeSpan"/>.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">The parameters specify a <see cref="T:System.TimeSpan"/> value less than <see cref="F:System.TimeSpan.MinValue"/> or greater than <see cref="F:System.TimeSpan.MaxValue"/>.</exception>
						<remarks>
							<para>The specified <paramref name="hours"/>, <paramref name="minutes"/>, and
<paramref name="seconds"/> are converted to ticks, and that value is used to initialize 
   the new <see cref="T:System.TimeSpan"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 days, int32 hours, int32 minutes, int32 seconds, int32 milliseconds)"/>
					<MemberSignature Language="C#" Value="public TimeSpan(int days, int hours, int minutes, int seconds, int milliseconds);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="days" Type="System.Int32"/>
						<Parameter Name="hours" Type="System.Int32"/>
						<Parameter Name="minutes" Type="System.Int32"/>
						<Parameter Name="seconds" Type="System.Int32"/>
						<Parameter Name="milliseconds" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new <see cref="T:System.TimeSpan"/> with the specified numbers of days,
   hours, minutes, seconds, and milliseconds.</para>
						</summary>
						<param name="days">A <see cref="T:System.Int32"/> that specifies the number of days with which to initialize the new <see cref="T:System.TimeSpan"/>.</param>
						<param name="hours">A <see cref="T:System.Int32"/> that specifies the number of hours with which to initialize the new <see cref="T:System.TimeSpan"/>.</param>
						<param name="minutes">A <see cref="T:System.Int32"/> that specifies the number of minutes with which to initialize the new <see cref="T:System.TimeSpan"/>.</param>
						<param name="seconds">A <see cref="T:System.Int32"/> that specifies the number of seconds with which to initialize the new <see cref="T:System.TimeSpan"/>.</param>
						<param name="milliseconds">A <see cref="T:System.Int32"/> that specifies the number of milliseconds with which to initialize the new <see cref="T:System.TimeSpan"/>.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">The parameters specify a <see cref="T:System.TimeSpan"/> value less than <see cref="F:System.TimeSpan.MinValue"/> or greater than <see cref="F:System.TimeSpan.MaxValue"/>.</exception>
						<remarks>
							<para>The specified <paramref name="days"/>, <paramref name="hours"/>,
<paramref name="minutes"/>, <paramref name="seconds"/>, and <paramref name="milliseconds"/> are converted to 
   ticks, and that value is used to initialize the new <see cref="T:System.TimeSpan"/>.</para>
							<see langword=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 days, int32 hours, int32 minutes, int32 seconds)"/>
					<MemberSignature Language="C#" Value="public TimeSpan(int days, int hours, int minutes, int seconds);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="days" Type="System.Int32"/>
						<Parameter Name="hours" Type="System.Int32"/>
						<Parameter Name="minutes" Type="System.Int32"/>
						<Parameter Name="seconds" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new <see cref="T:System.TimeSpan"/> with the specified numbers of days,
   hours, minutes, and seconds.</para>
						</summary>
						<param name="days">A <see cref="T:System.Int32"/> that specifies the number of days with which to initialize the new <see cref="T:System.TimeSpan"/>.</param>
						<param name="hours">A <see cref="T:System.Int32"/> that specifies the number of hours with which to initialize the new <see cref="T:System.TimeSpan"/>.</param>
						<param name="minutes">A <see cref="T:System.Int32"/> that specifies the number of minutes with which to initialize the new <see cref="T:System.TimeSpan"/>.</param>
						<param name="seconds">A <see cref="T:System.Int32"/> that specifies the number of seconds with which to initialize the new <see cref="T:System.TimeSpan"/>.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">The parameters specify a <see cref="T:System.TimeSpan"/> value less than <see cref="F:System.TimeSpan.MinValue"/> or greater than <see cref="F:System.TimeSpan.MaxValue"/>.</exception>
						<remarks>
							<para>The specified <paramref name="days"/>, <paramref name="hours"/>,
<paramref name="minutes"/>, and <paramref name="seconds"/> are converted to ticks, and that value is 
   used to initialize the new <see cref="T:System.TimeSpan"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Add">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.TimeSpan Add(valuetype System.TimeSpan ts)"/>
					<MemberSignature Language="C#" Value="public TimeSpan Add(TimeSpan ts);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="ts" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds the specified <see cref="T:System.TimeSpan"/> to the current instance.</para>
						</summary>
						<param name="ts">A <see cref="T:System.TimeSpan"/> instance to add to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/> that represents the value of the current instance plus
   the value of <paramref name="ts"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">The sum of the value of the current instance and the value of <paramref name="ts"/> is less than <see cref="F:System.TimeSpan.MinValue"/> or greater than <see cref="F:System.TimeSpan.MaxValue"/>.</exception>
						<example>
							<para>This example demonstrates the <see cref="M:System.TimeSpan.Add(System.TimeSpan)"/> method.</para>
							<code lang="C#">using System;
public class TimeSpanAddExample {
   public static void Main() {
      TimeSpan ts = new TimeSpan(Int32.MaxValue);
      Console.WriteLine("The value of the timespan 'ts' is {0}", ts);
      Console.WriteLine("ts.Add(ts) = {0}", ts.Add(ts));
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>The value of the timespan 'ts' is 00:03:34.7483647</para>
								<para>ts.Add(ts) = 00:07:09.4967294</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Compare">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Compare(valuetype System.TimeSpan t1, valuetype System.TimeSpan t2)"/>
					<MemberSignature Language="C#" Value="public static int Compare(TimeSpan t1, TimeSpan t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.TimeSpan"/>
						<Parameter Name="t2" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of two <see cref="T:System.TimeSpan"/>
structures.</para>
						</summary>
						<param name="t1">The first <see cref="T:System.TimeSpan"/> to compare.</param>
						<param name="t2">The second <see cref="T:System.TimeSpan"/> to compare.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of
<paramref name="t1"/> as compared to <paramref name="t2"/>. The following table defines the 
   conditions under which the returned value is a negative number, zero, or a
   positive number.</para>
							<list type="table">
								<listheader>
									<term>Value</term>
									<description>Condition</description>
								</listheader>
								<item>
									<term> Any
      negative
      number</term>
									<description>
										<paramref name="t1"/> &lt; <paramref name="t2"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>
										<paramref name="t1"/> == <paramref name="t2"/>.</description>
								</item>
								<item>
									<term> Any
      positive
      number</term>
									<description>
										<paramref name="t1"/> &gt;
<paramref name="t2"/>.</description>
								</item>
							</list>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared
      to the specified <see cref="T:System.Object"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   current instance as compared to <paramref name="value"/>. The following table defines the
   conditions under which the returned value is a negative number, zero, or a
   positive number.</para>
							<list type="table">
								<listheader>
									<term>Value</term>
									<description>Condition</description>
								</listheader>
								<item>
									<term> Any
      negative
      number</term>
									<description>Current instance &lt; <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>Current instance == <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Any
      positive
      number</term>
									<description>
										<para>Current instance &gt; <paramref name="value"/>, or
   <paramref name="value"/> is a null reference.</para>
									</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="value"/> is not a <see cref="T:System.TimeSpan"/> and is not a null reference.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is
      implemented to support the <see cref="T:System.IComparable"/>
      interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Days">
					<MemberSignature Language="ILASM" Value=".property int32 Days { public hidebysig specialname instance int32 get_Days() }"/>
					<MemberSignature Language="C#" Value="public int Days { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the number days represented by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> represents the days component of the current instance. <block subset="none" type="note">See <see cref="M:System.TimeSpan.ToString"/> for a more detailed description of the days
   component.</block>
							</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<see langword=""/>
						</remarks>
						<example>
							<para>This example demonstrates using the <see cref="P:System.TimeSpan.Days"/> property.</para>
							<code lang="C#">using System;
public class TimeSpanPropertiesExampleOne {
   public static void Main() {
      TimeSpan ts = new TimeSpan((Int64)10e12+3456789);
      Console.WriteLine(ts.ToString());
      Console.WriteLine("Days: {0}", ts.Days );
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>11.13:46:40.3456789</para>
								<para>Days: 11</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Duration">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.TimeSpan Duration()"/>
					<MemberSignature Language="C#" Value="public TimeSpan Duration();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.TimeSpan"/> whose value is the absolute value of the current
   instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/>
whose value is
the absolute value of the current instance.</para>
						</returns>
						<exception cref="T:System.OverflowException">The value of the current instance is <see cref="F:System.TimeSpan.MinValue"/>.</exception>
						<example>
							<para>The following example demonstrates the <see cref="M:System.TimeSpan.Duration"/> method.</para>
							<code lang="C#">using System;
public class TimeSpanDurationExample {
   public static void Main() {
      TimeSpan ts = new TimeSpan(Int32.MinValue);
      Console.Write("The absolute value of TimeSpan {0} ", ts);
      Console.WriteLine("is {0}", ts.Duration());
   }
}
</code>
							<para>The output is</para>
							<para>
								<c>The absolute
   value of TimeSpan -00:03:34.7483648 is 00:03:34.7483648</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool Equals(valuetype System.TimeSpan t1, valuetype System.TimeSpan t2)"/>
					<MemberSignature Language="C#" Value="public static bool Equals(TimeSpan t1, TimeSpan t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.TimeSpan"/>
						<Parameter Name="t2" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether two <see cref="T:System.TimeSpan"/> structures represent the same type and value.</para>
						</summary>
						<param name="t1">The first instance of <see cref="T:System.TimeSpan"/> to compare for equality.</param>
						<param name="t2">The second instance of <see cref="T:System.TimeSpan"/> to compare for equality.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="t1"/> and <paramref name="t2"/>
represent the same value; otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object value)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the specified <see cref="T:System.Object"/> represent the
   same type and value.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> represents the
   same type and value as the current instance. If <paramref name="value"/> is
   a null reference or is not a <see cref="T:System.TimeSpan"/>, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FromDays">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.TimeSpan FromDays(float64 value)"/>
					<MemberSignature Language="C#" Value="public static TimeSpan FromDays(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.TimeSpan"/> that represents the specified number of days where the
   specification is accurate to the nearest millisecond.</para>
						</summary>
						<param name="value">A <see cref="T:System.Double"/> that specifies the number of days with which the new <see cref="T:System.TimeSpan"/> is initialized.</param>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/> that represents <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">The <see cref="T:System.TimeSpan"/> represented by <paramref name="value"/> is greater than <see cref="F:System.TimeSpan.MaxValue"/> or less than <see cref="F:System.TimeSpan.MinValue"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is equal to <see cref="F:System.Double.NaN"/>.</exception>
						<remarks>
							<para>
								<paramref name="value"/> will only be considered accurate to the
   nearest millisecond. </para>
							<para>If <paramref name="value"/> is <see cref="F:System.Double.PositiveInfinity"/>,
a <see cref="T:System.TimeSpan"/> with
the value <see cref="F:System.TimeSpan.MaxValue"/> is returned. If <paramref name="value"/> is <see cref="F:System.Double.NegativeInfinity"/>, a <see cref="T:System.TimeSpan"/>
with the value <see cref="F:System.TimeSpan.MinValue"/> is returned. </para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="FromHours">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.TimeSpan FromHours(float64 value)"/>
					<MemberSignature Language="C#" Value="public static TimeSpan FromHours(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.TimeSpan"/> that represents the specified number of hours where the
   specification is accurate to the nearest millisecond.</para>
						</summary>
						<param name="value">
							<para>A <see cref="T:System.Double"/> that specifies the number of hours with which the new <see cref="T:System.TimeSpan"/> is initialized.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/> that represents <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">The <see cref="T:System.TimeSpan"/> represented by <paramref name="value"/> is greater than <see cref="F:System.TimeSpan.MaxValue"/> or less than <see cref="F:System.TimeSpan.MinValue"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is equal to <see cref="F:System.Double.NaN"/>.</exception>
						<remarks>
							<para>
								<paramref name="value"/> will only be considered accurate to the
   nearest millisecond.</para>
							<para>If <paramref name="value"/> is <see cref="F:System.Double.PositiveInfinity"/>,
a <see cref="T:System.TimeSpan"/> with
the value <see cref="F:System.TimeSpan.MaxValue"/> is returned. If <paramref name="value"/> is <see cref="F:System.Double.NegativeInfinity"/>, a <see cref="T:System.TimeSpan"/>
with the value <see cref="F:System.TimeSpan.MinValue"/> is returned.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="FromMilliseconds">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.TimeSpan FromMilliseconds(float64 value)"/>
					<MemberSignature Language="C#" Value="public static TimeSpan FromMilliseconds(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.TimeSpan"/> that represents the specified number of milliseconds
   where the specification is accurate to the nearest millisecond.</para>
						</summary>
						<param name="value">
							<para>A <see cref="T:System.Double"/> that specifies the number of milliseconds with which the new <see cref="T:System.TimeSpan"/> is initialized.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/> that represents <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">The <see cref="T:System.TimeSpan"/> represented by <paramref name="value"/> is greater than <see cref="F:System.TimeSpan.MaxValue"/> or less than <see cref="F:System.TimeSpan.MinValue"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is equal to <see cref="F:System.Double.NaN"/>.</exception>
						<remarks>
							<para>
								<paramref name="value"/> will only be considered accurate to the nearest
   millisecond.</para>
							<para>If <paramref name="value"/> is <see cref="F:System.Double.PositiveInfinity"/>, a <see cref="T:System.TimeSpan"/> with the value <see cref="F:System.TimeSpan.MaxValue"/> is
returned. If <paramref name="value"/> is <see cref="F:System.Double.NegativeInfinity"/>, a <see cref="T:System.TimeSpan"/> with the value <see cref="F:System.TimeSpan.MinValue"/> is
returned.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="FromMinutes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.TimeSpan FromMinutes(float64 value)"/>
					<MemberSignature Language="C#" Value="public static TimeSpan FromMinutes(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.TimeSpan"/> that represents the specified number of
   minutes where the specification is accurate to the nearest millisecond.</para>
						</summary>
						<param name="value">
							<para>A <see cref="T:System.Double"/> that specifies the number of minutes with which the new <see cref="T:System.TimeSpan"/> is initialized.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/> that represents <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">The <see cref="T:System.TimeSpan"/> represented by <paramref name="value"/> is greater than <see cref="F:System.TimeSpan.MaxValue"/> or less than <see cref="F:System.TimeSpan.MinValue"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is equal to <see cref="F:System.Double.NaN"/>.</exception>
						<remarks>
							<para>
								<paramref name="value"/> will only be considered accurate to the nearest
   millisecond.</para>
							<para>If <paramref name="value"/> is <see cref="F:System.Double.PositiveInfinity"/>, a <see cref="T:System.TimeSpan"/> with the value <see cref="F:System.TimeSpan.MaxValue"/> is
returned. If <paramref name="value"/> is <see cref="F:System.Double.NegativeInfinity"/>, a <see cref="T:System.TimeSpan"/> with the value <see cref="F:System.TimeSpan.MinValue"/> is
returned.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="FromSeconds">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.TimeSpan FromSeconds(float64 value)"/>
					<MemberSignature Language="C#" Value="public static TimeSpan FromSeconds(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.TimeSpan"/> that represents the specified number of seconds where
   the specification is accurate to the nearest millisecond.</para>
						</summary>
						<param name="value">
							<para>A <see cref="T:System.Double"/> that specifies the number of seconds with which the new <see cref="T:System.TimeSpan"/> is initialized.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/> that represents <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">The <see cref="T:System.TimeSpan"/> represented by <paramref name="value"/> is greater than <see cref="F:System.TimeSpan.MaxValue"/> or less than <see cref="F:System.TimeSpan.MinValue"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is equal to <see cref="F:System.Double.NaN"/>.</exception>
						<remarks>
							<para>
								<paramref name="value"/> will only be considered accurate to the
   nearest millisecond.</para>
							<para>If <paramref name="value"/> is <see cref="F:System.Double.PositiveInfinity"/>,
a <see cref="T:System.TimeSpan"/> with
the value <see cref="F:System.TimeSpan.MaxValue"/> is returned. If <paramref name="value"/> is <see cref="F:System.Double.NegativeInfinity"/>,
a <see cref="T:System.TimeSpan"/> with
the value <see cref="F:System.TimeSpan.MinValue"/> is returned.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="FromTicks">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.TimeSpan FromTicks(int64 value)"/>
					<MemberSignature Language="C#" Value="public static TimeSpan FromTicks(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.TimeSpan"/> that represents the specified number of ticks.</para>
						</summary>
						<param name="value">A <see cref="T:System.Int64"/> that specifies the number of ticks with which the new <see cref="T:System.TimeSpan"/> is initialized.</param>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/> with a value of <paramref name="value"/>.</para>
						</returns>
						<remarks>
							<para>This method is equivalent to the <see cref="T:System.TimeSpan"/>(<see cref="T:System.Int64"/>)
   constructor.</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/>
value containing a hash code for the current instance.</para>
						</returns>
						<remarks>
							<para> The algorithm used to generate
      the hash code is unspecified. </para>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Hours">
					<MemberSignature Language="ILASM" Value=".property int32 Hours { public hidebysig specialname instance int32 get_Hours() }"/>
					<MemberSignature Language="C#" Value="public int Hours { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the number of hours represented by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> between 0 and 23 inclusive, that represents
   the hours component of the current instance. <block subset="none" type="note">See <see cref="M:System.TimeSpan.ToString"/> for a
   more detailed description of the hours component.</block>
							</para>
						</value>
						<remarks>
							<para> This property is read-only.</para>
						</remarks>
						<example>
							<para>This example demonstrates using the <see cref="P:System.TimeSpan.Hours"/> property.</para>
							<code lang="C#">using System;
public class TimeSpanPropertiesExampleOne {
   public static void Main() {
      TimeSpan ts = new TimeSpan((Int64)10e12+3456789);
      Console.WriteLine(ts.ToString());
      Console.WriteLine("Hours: {0}", ts.Hours );
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>11.13:46:40.3456789</para>
								<para>Hours: 13</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxValue">
					<MemberSignature Language="ILASM" Value=".field public static initOnly valuetype System.TimeSpan MaxValue"/>
					<MemberSignature Language="C#" Value="public static readonly TimeSpan MaxValue;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.TimeSpan"/> whose value is the maximum value for the 
<see cref="T:System.TimeSpan"/> type.</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para>This field is a <see cref="T:System.TimeSpan"/> containing <see cref="F:System.Int64.MaxValue"/> ticks,
   the maximum <see cref="T:System.TimeSpan"/> value. The string representation of this value is
   positive 10675199.02:48:05.4775807.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Milliseconds">
					<MemberSignature Language="ILASM" Value=".property int32 Milliseconds { public hidebysig specialname instance int32 get_Milliseconds() }"/>
					<MemberSignature Language="C#" Value="public int Milliseconds { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the number of milliseconds represented by the current instance.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Int32"/> between 0 and 999 inclusive, that represents
   the fractional seconds component of the current instance converted to
   milliseconds. <block subset="none" type="note">See <see cref="M:System.TimeSpan.ToString"/> for a more
   detailed description of the fractional seconds component.</block>
							</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<see langword=""/>
						</remarks>
						<example>
							<para>This example demonstrates using the <see cref="P:System.TimeSpan.Milliseconds"/> property.</para>
							<code lang="C#">using System;
public class TimeSpanPropertiesExampleOne {
   public static void Main() {
      TimeSpan ts = new TimeSpan((Int64)10e12+3456789);
      Console.WriteLine(ts.ToString());
      Console.WriteLine("Milliseconds: {0}", ts.Milliseconds );
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>11.13:46:40.3456789</para>
								<para>Milliseconds: 345</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Minutes">
					<MemberSignature Language="ILASM" Value=".property int32 Minutes { public hidebysig specialname instance int32 get_Minutes() }"/>
					<MemberSignature Language="C#" Value="public int Minutes { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the number of minutes represented by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> between 0 and 59 inclusive, that represents
   the minutes component of the current instance. <block subset="none" type="note">See <see cref="M:System.TimeSpan.ToString"/> for
   a more detailed description of the minutes component.</block>
							</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<see langword=""/>
						</remarks>
						<example>
							<para>This example demonstrates using the <see cref="P:System.TimeSpan.Minutes"/> property.</para>
							<code lang="C#">using System;
public class TimeSpanPropertiesExampleOne {
   public static void Main() {
      TimeSpan ts = new TimeSpan((Int64)10e12+3456789);
      Console.WriteLine(ts.ToString());
      Console.WriteLine("Minutes: {0}", ts.Minutes );
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>11.13:46:40.3456789</para>
								<para>Minutes: 46</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinValue">
					<MemberSignature Language="ILASM" Value=".field public static initOnly valuetype System.TimeSpan MinValue"/>
					<MemberSignature Language="C#" Value="public static readonly TimeSpan MinValue;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.TimeSpan"/> whose value is the minimum value for the 
<see cref="T:System.TimeSpan"/> type.</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para>This field is a <see cref="T:System.TimeSpan"/> containing <see cref="F:System.Int64.MinValue"/> ticks,
   the minimum <see cref="T:System.TimeSpan"/> value. The string representation
   of this value is negative 10675199.02:48:05.4775808.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Negate">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.TimeSpan Negate()"/>
					<MemberSignature Language="C#" Value="public TimeSpan Negate();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.TimeSpan"/> with the same absolute value but opposite sign as the current
 instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/> with the same absolute value but with the opposite sign as the current instance.</para>
						</returns>
						<exception cref="T:System.OverflowException">The value of the current instance is <see cref="F:System.TimeSpan.MinValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Addition">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname valuetype System.TimeSpan op_Addition(valuetype System.TimeSpan t1, valuetype System.TimeSpan t2)"/>
					<MemberSignature Language="C#" Value="public static TimeSpan operator +(TimeSpan t1, TimeSpan t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.TimeSpan"/>
						<Parameter Name="t2" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds the values of two <see cref="T:System.TimeSpan"/> instances.</para>
						</summary>
						<param name="t1">The first <see cref="T:System.TimeSpan"/>.</param>
						<param name="t2">The second <see cref="T:System.TimeSpan"/>.</param>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/> whose value is the sum of the values of <paramref name="t1"/> and
<paramref name="t2"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">The sum of <paramref name="t1"/> and <paramref name="t2"/> is less than <see cref="F:System.TimeSpan.MinValue"/> or greater than <see cref="F:System.TimeSpan.MaxValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Equality">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_Equality(valuetype System.TimeSpan t1, valuetype System.TimeSpan t2)"/>
					<MemberSignature Language="C#" Value="public static bool operator ==(TimeSpan t1, TimeSpan t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.TimeSpan"/>
						<Parameter Name="t2" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the value of one <see cref="T:System.TimeSpan"/> is equal to the
   value of another <see cref="T:System.TimeSpan"/>.</para>
						</summary>
						<param name=" t1">The first <see cref="T:System.TimeSpan"/>
						</param>
						<param name=" t2">The second <see cref="T:System.TimeSpan"/>
						</param>
						<returns>
							<para>
								<see langword="true"/> if the values of <paramref name="t1"/> and
<paramref name="t2"/> are equal; otherwise, <see langword="false"/>.</para>
							<see langword=""/>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_GreaterThan">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_GreaterThan(valuetype System.TimeSpan t1, valuetype System.TimeSpan t2)"/>
					<MemberSignature Language="C#" Value="public static bool operator &gt;(TimeSpan t1, TimeSpan t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.TimeSpan"/>
						<Parameter Name="t2" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the value one <see cref="T:System.TimeSpan"/> is greater than the value of another
<see cref="T:System.TimeSpan"/>.</para>
						</summary>
						<param name="t1">The first <see cref="T:System.TimeSpan"/>.</param>
						<param name="t2">The second <see cref="T:System.TimeSpan"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the value of <paramref name="t1"/> is
   greater than the value of <paramref name="t2"/>; otherwise, <see langword="false"/>.</para>
							<see langword=""/>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_GreaterThanOrEqual">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_GreaterThanOrEqual(valuetype System.TimeSpan t1, valuetype System.TimeSpan t2)"/>
					<MemberSignature Language="C#" Value="public static bool operator &gt;=(TimeSpan t1, TimeSpan t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.TimeSpan"/>
						<Parameter Name="t2" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the value of one <see cref="T:System.TimeSpan"/> is greater than or equal to the value
   of another <see cref="T:System.TimeSpan"/>.</para>
						</summary>
						<param name="t1">The first <see cref="T:System.TimeSpan"/>.</param>
						<param name="t2">The second <see cref="T:System.TimeSpan"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the value of <paramref name="t1"/> is
   greater than or equal to the value of <paramref name="t2"/>; otherwise,
<see langword="false"/>.</para>
							<see langword=""/>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Inequality">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_Inequality(valuetype System.TimeSpan t1, valuetype System.TimeSpan t2)"/>
					<MemberSignature Language="C#" Value="public static bool operator !=(TimeSpan t1, TimeSpan t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.TimeSpan"/>
						<Parameter Name="t2" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the value of one <see cref="T:System.TimeSpan"/> is unequal to the value of another
<see cref="T:System.TimeSpan"/>.</para>
						</summary>
						<param name="t1">The first <see cref="T:System.TimeSpan"/>.</param>
						<param name="t2">The second <see cref="T:System.TimeSpan"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the values of <paramref name="t1"/> and
<paramref name="t2"/> are unequal; otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_LessThan">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_LessThan(valuetype System.TimeSpan t1, valuetype System.TimeSpan t2)"/>
					<MemberSignature Language="C#" Value="public static bool operator  &lt;(TimeSpan t1, TimeSpan t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.TimeSpan"/>
						<Parameter Name="t2" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the value of one <see cref="T:System.TimeSpan"/> is less than the value of another 
<see cref="T:System.TimeSpan"/>.</para>
						</summary>
						<param name="t1">The first <see cref="T:System.TimeSpan"/>.</param>
						<param name="t2">The second <see cref="T:System.TimeSpan"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the value of <paramref name="t1"/> is 
 less than the value of <paramref name="t2"/>; otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_LessThanOrEqual">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_LessThanOrEqual(valuetype System.TimeSpan t1, valuetype System.TimeSpan t2)"/>
					<MemberSignature Language="C#" Value="public static bool operator &lt;=(TimeSpan t1, TimeSpan t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.TimeSpan"/>
						<Parameter Name="t2" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the value of one <see cref="T:System.TimeSpan"/> is less than or equal to the value of 
 another <see cref="T:System.TimeSpan"/>.</para>
						</summary>
						<param name="t1">The first <see cref="T:System.TimeSpan"/>.</param>
						<param name="t2">The second <see cref="T:System.TimeSpan"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the value of <paramref name="t1"/> is 
 less than or equal to the value of <paramref name="t2"/>; otherwise,
<see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Subtraction">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname valuetype System.TimeSpan op_Subtraction(valuetype System.TimeSpan t1, valuetype System.TimeSpan t2)"/>
					<MemberSignature Language="C#" Value="public static TimeSpan operator -(TimeSpan t1, TimeSpan t2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t1" Type="System.TimeSpan"/>
						<Parameter Name="t2" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Subtracts the value of one <see cref="T:System.TimeSpan"/> from the value
   of another <see cref="T:System.TimeSpan"/>.</para>
						</summary>
						<param name="t1">The first <see cref="T:System.TimeSpan"/>.</param>
						<param name="t2">The second <see cref="T:System.TimeSpan"/>.</param>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/> whose value is the result of the value of <paramref name="t1"/>
minus the value of <paramref name="t2"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">The value of <paramref name="t2"/> subtracted from <paramref name="t1"/> is less than <see cref="F:System.TimeSpan.MinValue"/> or greater than <see cref="F:System.TimeSpan.MaxValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_UnaryNegation">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname valuetype System.TimeSpan op_UnaryNegation(valuetype System.TimeSpan t)"/>
					<MemberSignature Language="C#" Value="public static TimeSpan operator -(TimeSpan t);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.TimeSpan"/> whose value is the negated value of a
   specified <see cref="T:System.TimeSpan"/>.</para>
						</summary>
						<param name="t">A <see cref="T:System.TimeSpan"/> whose value will be negated.</param>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/> with the same absolute value but the opposite sign as
<paramref name="t"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="t"/> equals <see cref="F:System.TimeSpan.MinValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_UnaryPlus">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname valuetype System.TimeSpan op_UnaryPlus(valuetype System.TimeSpan t)"/>
					<MemberSignature Language="C#" Value="public static TimeSpan operator +(TimeSpan t);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="t" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified instance of <see cref="T:System.TimeSpan"/>.</para>
						</summary>
						<param name="t">A <see cref="T:System.TimeSpan"/>.</param>
						<returns>
							<para>
								<see cref="T:System.TimeSpan"/>
								<paramref name="t"/>.</para>
						</returns>
						<remarks>
							<para>This method returns <see cref="T:System.TimeSpan"/>
								<paramref name="t"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.TimeSpan Parse(string s)"/>
					<MemberSignature Language="C#" Value="public static TimeSpan Parse(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.TimeSpan"/> value.</para>
						</summary>
						<param name="s">
							<para>A <see cref="T:System.String"/> containing the value to convert. <paramref name="s"/> contains a time interval in the following form:</para>
							<para>[ws][-][d.]hh:mm:ss[.ff][ws]</para>
							<para> Items in square brackets ('[' and']') are optional. Colons and periods (':' and'.') are literal characters. For details on the remaining symbols, see the description section.</para>
						</param>
						<returns>
							<para>The <see cref="T:System.TimeSpan"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is in an invalid format.</exception>
						<exception cref="T:System.OverflowException">
							<para>
								<paramref name="s"/> represents a number greater than <see cref="F:System.TimeSpan.MaxValue"/> or less than <see cref="F:System.TimeSpan.MinValue"/>.</para>
							<para>-or-</para>
							<para>At least one of the hours, minutes, or seconds components is outside its valid range.</para>
						</exception>
						<remarks>
							<para>The symbols used in the parameter description for 
   <paramref name="s"/> are as follows:</para>
							<list type="table">
								<listheader>
									<term>Item</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> ws</term>
									<description>White space (zero or more space and/or tab
            characters).</description>
								</item>
								<item>
									<term> "-"</term>
									<description>Minus sign, indicating a negative time interval.</description>
								</item>
								<item>
									<term> "d"</term>
									<description>Days.</description>
								</item>
								<item>
									<term> "hh"</term>
									<description>Hours, ranging from 0 to 23 inclusive.</description>
								</item>
								<item>
									<term> "mm"</term>
									<description>Minutes, ranging from 0 to 59 inclusive.</description>
								</item>
								<item>
									<term> "ss"</term>
									<description>Seconds, ranging from 0 to 59 inclusive.</description>
								</item>
								<item>
									<term> "ff"</term>
									<description>Fractional seconds, from 1 to 7 decimal digits
            inclusive.</description>
								</item>
							</list>
						</remarks>
						<example>
							<para>This example demonstrates parsing a string to obtain a 
   <see cref="T:System.TimeSpan"/>.</para>
							<code lang="C#">using System;
public class TimeSpanParseExample {
   public static void Main() {
      String str = "    -5.12:34:56.789     ";
      TimeSpan ts = TimeSpan.Parse(str);
      Console.WriteLine(@"The string ""{0}""", str); 
      Console.WriteLine("parses to TimeSpan {0}", ts);
   }
}
   </code>
							<para>The output is</para>
							<code>
The string "    -5.12:34:56.789     "
parses to TimeSpan -5.12:34:56.7890000
 </code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Seconds">
					<MemberSignature Language="ILASM" Value=".property int32 Seconds { public hidebysig specialname instance int32 get_Seconds() }"/>
					<MemberSignature Language="C#" Value="public int Seconds { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the number of seconds represented by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> between 0 and 59 inclusive, that represents
   the seconds component of the current instance. <block subset="none" type="note">See <see cref="M:System.TimeSpan.ToString"/> for
   a more detailed description of the seconds component.</block>
							</para>
						</value>
						<remarks>
							<para> This property is read-only.</para>
						</remarks>
						<example>
							<para>This example demonstrates using the <see cref="P:System.TimeSpan.Seconds"/> property.</para>
							<code lang="C#">using System;
public class TimeSpanPropertiesExampleOne {
   public static void Main() {
      TimeSpan ts = new TimeSpan((Int64)10e12+3456789);
      Console.WriteLine(ts.ToString());
      Console.WriteLine("Seconds: {0}", ts.Seconds );
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>11.13:46:40.3456789</para>
								<para>Seconds: 40</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Subtract">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance valuetype System.TimeSpan Subtract(valuetype System.TimeSpan ts)"/>
					<MemberSignature Language="C#" Value="public TimeSpan Subtract(TimeSpan ts);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="ts" Type="System.TimeSpan"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Subtracts the value of the specified <see cref="T:System.TimeSpan"/> from the value of the current
   instance.</para>
						</summary>
						<param name="ts">A <see cref="T:System.TimeSpan"/> whose value to subtract from the value of the current instance. </param>
						<returns>
							<para>A <see cref="T:System.TimeSpan"/> whose value is equal to the value of the current
   instance minus the value of <paramref name="ts"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">The difference between the value of the current instance and <paramref name="ts"/> is less than <see cref="F:System.TimeSpan.MinValue"/> or greater than <see cref="F:System.TimeSpan.MaxValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Ticks">
					<MemberSignature Language="ILASM" Value=".property int64 Ticks { public hidebysig specialname instance int64 get_Ticks() }"/>
					<MemberSignature Language="C#" Value="public long Ticks { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the number of ticks represented by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int64"/> specifying the 
   number of ticks represented by the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TicksPerDay">
					<MemberSignature Language="ILASM" Value=".field public static literal int64 TicksPerDay = 864000000000"/>
					<MemberSignature Language="C#" Value="public const long TicksPerDay = 864000000000;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>864000000000</MemberValue>
					<Docs>
						<summary>
							<para> Represents the number of ticks in 1 day.</para>
						</summary>
						<remarks>
							<para> The value of this constant is 864 billion
      (8.64x10<sup>11</sup> ).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TicksPerHour">
					<MemberSignature Language="ILASM" Value=".field public static literal int64 TicksPerHour = 36000000000"/>
					<MemberSignature Language="C#" Value="public const long TicksPerHour = 36000000000;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>36000000000</MemberValue>
					<Docs>
						<summary>
							<para> Represents the number of ticks in 1 hour.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 36 billion
      (3.6x10<sup>10</sup> ).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TicksPerMillisecond">
					<MemberSignature Language="ILASM" Value=".field public static literal int64 TicksPerMillisecond = 10000"/>
					<MemberSignature Language="C#" Value="public const long TicksPerMillisecond = 10000;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>10000</MemberValue>
					<Docs>
						<summary>
							<para> Represents the number of ticks in 1
      millisecond.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 10 thousand
      (10<sup>4</sup> ).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TicksPerMinute">
					<MemberSignature Language="ILASM" Value=".field public static literal int64 TicksPerMinute = 600000000"/>
					<MemberSignature Language="C#" Value="public const long TicksPerMinute = 600000000;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>600000000</MemberValue>
					<Docs>
						<summary>
							<para> Represents the number of ticks in 1 minute.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 600 million
      (6x10<sup>8</sup> ).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TicksPerSecond">
					<MemberSignature Language="ILASM" Value=".field public static literal int64 TicksPerSecond = 10000000"/>
					<MemberSignature Language="C#" Value="public const long TicksPerSecond = 10000000;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>10000000</MemberValue>
					<Docs>
						<summary>
							<para>Represents the number of ticks in 1 second.</para>
						</summary>
						<remarks>
							<para> The value of this constant is 10 million
      (10<sup>7</sup> ).</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as follows:</para>
							<para>[-][d.]hh:mm:ss[.ff]</para>
							<para>Items in square brackets ('[' and ']') are included
   provisionally: '-' is included if and only if the current instance is negative;
   "d." and ".ff" are included if and only if those components are non-zero. Colons
   and periods (':' and '.') are literal characters. Other components are as follows.</para>
							<list type="table">
								<listheader>
									<term>Component</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> "-"</term>
									<description>Minus sign, indicating a negative time
         interval.</description>
								</item>
								<item>
									<term> "d"</term>
									<description>Days.</description>
								</item>
								<item>
									<term> "hh"</term>
									<description>Hours, ranging from 0 to 23 inclusive.</description>
								</item>
								<item>
									<term> "mm"</term>
									<description>Minutes, ranging from 0 to 59 inclusive.</description>
								</item>
								<item>
									<term> "ss"</term>
									<description>Seconds, ranging from 0 to 59 inclusive.</description>
								</item>
								<item>
									<term> "ff"</term>
									<description>Fractional seconds.</description>
								</item>
							</list>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.ToString"/>.</block>
							</para>
						</remarks>
						<example>
							<para>This example demonstrates the <see cref="M:System.TimeSpan.ToString"/> method.</para>
							<code lang="C#">using System;
public class TimeSpanToStringExample {
   public static void Main() {
      TimeSpan tsOne = new TimeSpan(1, 23, 45, 54, 321);
      TimeSpan tsTwo = new TimeSpan(0, 23, 45, 54, 0);
      Console.Write("TimeSpan one, with d. and .ff: ");
      Console.WriteLine("{0}", tsOne.ToString());
      Console.Write("TimeSpan two, without d. and .ff: ");
      Console.WriteLine("{0}", tsTwo.ToString());
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>TimeSpan one, with d. and .ff: 1.23:45:54.3210000</para>
								<para>TimeSpan two, without d. and .ff: 23:45:54</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TotalDays">
					<MemberSignature Language="ILASM" Value=".property float64 TotalDays { public hidebysig specialname instance float64 get_TotalDays() }"/>
					<MemberSignature Language="C#" Value="public double TotalDays { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the value of the current instance expressed in days.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Double"/> that specifies the total number of days represented by the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">This property converts the value of the
      current instance from ticks to days. This number may include whole and
      fractional days.</block>
							</para>
						</remarks>
						<example>
							<para>This example demonstrates using the <see cref="P:System.TimeSpan.TotalDays"/> property.</para>
							<code lang="C#">using System;
public class TimeSpanTotalUnitsProperties{
   public static void Main() {
      TimeSpan ts = new TimeSpan((Int64)10e12);
      Console.WriteLine(ts.ToString());
      Console.WriteLine("TotalDays: {0}", ts.TotalDays);
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>11.13:46:40</para>
								<para>TotalDays: 11.5740740740741</para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="TotalHours">
					<MemberSignature Language="ILASM" Value=".property float64 TotalHours { public hidebysig specialname instance float64 get_TotalHours() }"/>
					<MemberSignature Language="C#" Value="public double TotalHours { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the value of the current instance expressed in hours.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Double"/> that specifies the total number of hours represented by the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only. </para>
							<para>
								<block subset="none" type="note">This property converts the value of the
      current instance from ticks to hours. This number may include whole and
      fractional hours.</block>
							</para>
						</remarks>
						<example>
							<para>This example demonstrates using the <see cref="P:System.TimeSpan.TotalHours"/> property.</para>
							<code lang="C#">using System;
public class TimeSpanTotalUnitsProperties{
   public static void Main() {
      TimeSpan ts = new TimeSpan((Int64)10e12);
      Console.WriteLine(ts.ToString());
      Console.WriteLine("TotalHours: {0}", ts.TotalHours);
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>11.13:46:40</para>
								<para>TotalHours: 277.777777777778</para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="TotalMilliseconds">
					<MemberSignature Language="ILASM" Value=".property float64 TotalMilliseconds { public hidebysig specialname instance float64 get_TotalMilliseconds() }"/>
					<MemberSignature Language="C#" Value="public double TotalMilliseconds { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the value of the current instance expressed in milliseconds.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Double"/> that specifies the total number of milliseconds represented by the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only. </para>
							<para>
								<block subset="none" type="note">This property converts the value of the
      current instance from ticks to milliseconds. This number may include whole and
      fractional milliseconds.</block>
							</para>
						</remarks>
						<example>
							<para>This example demonstrates using the <see cref="P:System.TimeSpan.TotalMilliseconds"/> property.</para>
							<code lang="C#">using System;
public class TimeSpanTotalUnitsProperties{
   public static void Main() {
      TimeSpan ts = new TimeSpan((Int64)10e12);
      Console.WriteLine(ts.ToString());
      Console.WriteLine("TotalMilliseconds: {0}", ts.TotalMilliseconds);
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>11.13:46:40</para>
								<para>TotalMilliseconds: 1000000000</para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="TotalMinutes">
					<MemberSignature Language="ILASM" Value=".property float64 TotalMinutes { public hidebysig specialname instance float64 get_TotalMinutes() }"/>
					<MemberSignature Language="C#" Value="public double TotalMinutes { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the value of the current instance expressed in minutes.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Double"/> that specifies the total number of minutes represented by the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only. </para>
							<para>
								<block subset="none" type="note">This property converts the value of the
      current instance from ticks to minutes. This number may include whole and
      fractional minutes.</block>
							</para>
						</remarks>
						<example>
							<para>This example demonstrates using the <see cref="P:System.TimeSpan.TotalMinutes"/> property.</para>
							<code lang="C#">using System;
public class TimeSpanTotalUnitsProperties{
   public static void Main() {
      TimeSpan ts = new TimeSpan((Int64)10e12);
      Console.WriteLine(ts.ToString());
      Console.WriteLine("TotalMinutes: {0}", ts.TotalMinutes);
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>11.13:46:40</para>
								<para>TotalMinutes: 16666.6666666667</para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="TotalSeconds">
					<MemberSignature Language="ILASM" Value=".property float64 TotalSeconds { public hidebysig specialname instance float64 get_TotalSeconds() }"/>
					<MemberSignature Language="C#" Value="public double TotalSeconds { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the value of the current instance expressed in seconds.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Double"/> that specifies the total number of seconds represented by the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only. </para>
							<para>
								<block subset="none" type="note">This property converts the value of the
      current instance from ticks to seconds. This number may include whole and
      fractional seconds.</block>
							</para>
						</remarks>
						<example>
							<para>This example demonstrates using the <see cref="P:System.TimeSpan.TotalSeconds"/> property.</para>
							<code lang="C#">using System;
public class TimeSpanTotalUnitsProperties{
   public static void Main() {
      TimeSpan ts = new TimeSpan((Int64)10e12);
      Console.WriteLine(ts.ToString());
      Console.WriteLine("TotalSeconds: {0}", ts.TotalSeconds);
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>11.13:46:40</para>
								<para>TotalSeconds :1000000</para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>ExtendedNumerics</ExcludedLibrary>
				</Member>
				<Member MemberName="Zero">
					<MemberSignature Language="ILASM" Value=".field public static initOnly valuetype System.TimeSpan Zero"/>
					<MemberSignature Language="C#" Value="public static readonly TimeSpan Zero;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.TimeSpan</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.TimeSpan"/> whose value is 0.</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para>This field is a <see cref="T:System.TimeSpan"/> whose value is 0 ticks. <block subset="none" type="note">This provides a convenient source for 0 in <see cref="T:System.TimeSpan"/> calculations.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Type" FullName="System.Type" FullNameSP="System_Type">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable Type extends System.Object"/>
			<TypeSignature Language="C#" Value="public abstract class Type : Object"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Provides information about a type.</para>
				</summary>
				<remarks>
					<para> The <see cref="T:System.Type"/> class is abstract, as is the <see cref="T:System.Reflection.MemberInfo"/>
class and its subclasses <see cref="T:System.Reflection.FieldInfo"/>, <see cref="T:System.Reflection.PropertyInfo"/>, <see cref="T:System.Reflection.MethodBase"/>,
and <see cref="T:System.Reflection.EventInfo"/>. <see cref="T:System.Reflection.ConstructorInfo"/> and <see cref="T:System.Reflection.MethodInfo"/>
are subclasses of <see cref="T:System.Reflection.MethodBase"/>. The runtime
provides non-public implementations of these classes. <block subset="none" type="note"> For example, <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/> is typed
as returning a <see cref="T:System.Reflection.MethodInfo"/> object. The
returned object is actually an instance of the non-public runtime type that
implements <see cref="T:System.Reflection.MethodInfo"/> .</block>
					</para>
					<para>A conforming CLI program which is written to run on only the Kernel profile 
   cannot subclass <see cref="T:System.Type"/>. <block subset="none" type="note"> This only applies
   to conforming programs not conforming implementations.</block>
					</para>
					<para> A <see cref="T:System.Type"/> object that represents a type is unique; that is, two
<see cref="T:System.Type"/> object 
references refer to the same object if and only if they represent the same type.
This allows for comparison of <see cref="T:System.Type"/>
objects using reference
equality.</para>
					<block subset="none" type="note">
						<para> An instance of <see cref="T:System.Type"/>
can represent any one of the following
types:</para>
						<list type="bullet">
							<item>
								<term>
      
      Classes</term>
							</item>
							<item>
								<term>
      
      Value types</term>
							</item>
							<item>
								<term>
      
      Arrays</term>
							</item>
							<item>
								<term>
      
      Interfaces</term>
							</item>
							<item>
								<term>
      
      Pointers</term>
							</item>
							<item>
								<term>
      
      Enumerations</term>
							</item>
						</list>
						<para>The following table shows what members of a base class are returned by the
   methods that return members of types, such as <see cref="M:System.Type.GetConstructor(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/> and
<see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/>.</para>
						<para>
							<list type="table">
								<listheader>
									<term>Member Type</term>
									<description>Static</description>
									<description>Non-Static</description>
								</listheader>
								<item>
									<term> Constructor</term>
									<description>No</description>
									<description>No</description>
								</item>
								<item>
									<term> Field</term>
									<description>No</description>
									<description>Yes. A field is always
         hide-by-name-and-signature.</description>
								</item>
								<item>
									<term> Event</term>
									<description>Not applicable</description>
									<description> The common type system rule is
         that the inheritance of an event is the same as that of
         the accessors that implement the event.
         Reflection treats events as hide-by-name-and-signature.</description>
								</item>
								<item>
									<term> Method</term>
									<description>No</description>
									<description>Yes. A method (both virtual and non-virtual)
         can be hide-by-name or hide-by-name-and-signature.</description>
								</item>
								<item>
									<term> Nested Type</term>
									<description>No</description>
									<description>No</description>
								</item>
								<item>
									<term> Property</term>
									<description>Not applicable</description>
									<description> The common type system
         rule is that the inheritance is the same as that of the
         accessors that implement the property. Reflection treats
         properties as hide-by-name-and-signature.</description>
								</item>
							</list>
						</para>
						<para>For reflection, properties and events are hide-by-name-and-signature. If a
   property has both a get and a set accessor in the base class, but the derived
   class has only a get accessor, the derived class property hides the base class
   property, and the setter on the base class will not be accessible. </para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
				<ExcludedBaseTypeName>System.Reflection.MemberInfo</ExcludedBaseTypeName>
				<ExcludedLibraryName>Reflection</ExcludedLibraryName>
			</Base>
			<Interfaces/>
			<Attributes/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="protected Type();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs a new instance of the <see cref="T:System.Type"/> class.
   </para>
						</summary>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="Assembly">
					<MemberSignature Language="ILASM" Value=".property class System.Reflection.Assembly Assembly { public hidebysig virtual abstract specialname class System.Reflection.Assembly get_Assembly() }"/>
					<MemberSignature Language="C#" Value="public abstract Assembly Assembly { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.Assembly</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the <see cref="T:System.Reflection.Assembly"/> that the type is declared in. </para>
						</summary>
						<value>
							<para>A <see cref="T:System.Reflection.Assembly"/> instance that describes assembly containing the current type.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="behaviors">This property is read-only.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName="AssemblyQualifiedName">
					<MemberSignature Language="ILASM" Value=".property string AssemblyQualifiedName { public hidebysig virtual abstract specialname string get_AssemblyQualifiedName() }"/>
					<MemberSignature Language="C#" Value="public abstract string AssemblyQualifiedName { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the fully qualified name of the type represented by 
      the current instance
      including the name of the assembly from which the <see cref="T:System.Type"/> was loaded.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the 
   fully qualified name of the type represented by the current instance,
   including the name of the assembly from which the <see cref="T:System.Type"/> was loaded.</para>
						</value>
						<remarks>
							<block subset="none" type="behaviors">
								<para> 
         This property is read-only.</para>
								<para>Compilers emit the simple name of a nested class, and reflection constructs a 
         mangled name when queried, in accordance with the following conventions.</para>
								<list type="table">
									<listheader>
										<term>Delimiter</term>
										<description>Meaning</description>
									</listheader>
									<item>
										<term> Backslash (\)</term>
										<description>Escape character.</description>
									</item>
									<item>
										<term> Comma (,)</term>
										<description>Precedes the Assembly name.</description>
									</item>
									<item>
										<term> Plus sign (+)</term>
										<description>Precedes a nested class.</description>
									</item>
									<item>
										<term> Period (.)</term>
										<description>Denotes namespace identifiers. </description>
									</item>
								</list>
								<block subset="none" type="note">
									<para>For example, the fully qualified name for a class might look like this: </para>
									<para>TopNamespace.SubNameSpace.ContainingClass+NestedClass,MyAssembly </para>
									<para>If the namespace were TopNamespace.Sub+Namespace, then the string would
            have to precede the plus sign (+) with an escape character (\) to prevent
            it from being interpreted as a nesting separator. Reflection
            emits this string as follows:</para>
									<para>TopNamespace.Sub\+Namespace.ContainingClass+NestedClass,MyAssembly</para>
									<para>A "++" becomes "\+\+", and a "\" becomes "\\".</para>
								</block>
								<para>Type names are permitted to include trailing characters that denote
         additional information about the type, such as whether the type is a reference
         type, a pointer type or an array type. To retrieve the type name without these
         trailing characters, use <c>t.GetElementType().ToString()</c>, where <paramref name="t"/>
      is the type.</para>
								<para>Spaces are significant in all type name components except the assembly
      name. In the assembly name, spaces before the ',' separator are significant, but
      spaces after the ',' separator are ignored.</para>
							</block>
							<block subset="none" type="usage">
								<para>The name returned by this method can be persisted and later used to load the <see cref="T:System.Type"/>.
   To search for and load a <see cref="T:System.Type"/>, use <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)"/> either with the type name only or with
   the assembly qualified type name. <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)"/> with the type name only will look for
   the <see cref="T:System.Type"/>
   in the caller's assembly and then in the System assembly. <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)"/> with the
   assembly qualified type name will look for the <see cref="T:System.Type"/> in any assembly.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="Attributes">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Reflection.TypeAttributes Attributes { public hidebysig specialname instance valuetype System.Reflection.TypeAttributes get_Attributes() }"/>
					<MemberSignature Language="C#" Value="public TypeAttributes Attributes { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.TypeAttributes</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the attributes associated with the type represented 
      by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Reflection.TypeAttributes"/> object representing the attribute set of the <see cref="T:System.Type"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="BaseType">
					<MemberSignature Language="ILASM" Value=".property class System.Type BaseType { public hidebysig virtual abstract specialname class System.Type get_BaseType() }"/>
					<MemberSignature Language="C#" Value="public abstract Type BaseType { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the base <see cref="T:System.Type"/> of the current <see cref="T:System.Type"/> .</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Type"/> object 
   representing the type from which the current <see cref="T:System.Type"/> directly inherits, or
<see langword="null"/> 
if the current <see cref="T:System.Type"/> represents the <see cref="T:System.Object"/> class.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="behaviors"> This property is read-only.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="P:System.Type.BaseType"/>
property.</para>
							<code lang="C#">using System;
class TestType {
 public static void Main() {
 Type t = typeof(int);
 Console.WriteLine("{0} inherits from {1}", t,t.BaseType);
 }
}
</code>
							<para>The output is</para>
							<para>
								<c>System.Int32
   inherits from System.ValueType</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DeclaringType">
					<MemberSignature Language="ILASM" Value=".property class System.Type DeclaringType { public hidebysig virtual specialname class System.Type get_DeclaringType() }"/>
					<MemberSignature Language="C#" Value="public override Type DeclaringType { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the type that declares the type represented by the current instance.</para>
						</summary>
						<value>
							<para>The <see cref="T:System.Type"/> object for
   the class that declares the type represented by the current
   instance. If the type is a nested type, this property returns the enclosing type; otherwise, returns
   the current instance.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note">This property overrides <see cref="P:System.Reflection.MemberInfo.DeclaringType"/>.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates the
   <see cref="P:System.Type.DeclaringType"/> property. </para>
							<code lang="C#">using System;
using System.Reflection;

public abstract class DeclaringTypeTest{
   public abstract class MyClassA {
      public abstract int m(); 
   }
   public abstract class MyClassB : MyClassA {
   }
   public static void Main() { 
      Console.WriteLine("Declaring type of m is {0}",
         typeof(MyClassB).GetMethod("m").DeclaringType);
   }
}
   </code>
							<para> The output is </para>
							<c>
								<para>Declaring type of m is DeclaringTypeTest+MyClassA </para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="DefaultBinder">
					<MemberSignature Language="ILASM" Value=".property class System.Reflection.Binder DefaultBinder { public hidebysig static specialname class System.Reflection.Binder get_DefaultBinder() }"/>
					<MemberSignature Language="C#" Value="public static Binder DefaultBinder { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.Binder</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the default binder used by the system.</para>
						</summary>
						<value>
							<para>The default <see cref="T:System.Reflection.Binder"/> used by the system.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>Reflection models the accessibility rules of the common
      type system. For example, if the caller is in the same assembly, the caller does
      not need special permissions for internal members. Otherwise, the caller needs
   <see cref="T:System.Security.Permissions.ReflectionPermission"/>
   . This is consistent with lookup of members that
   are protected, private, and so on. </para>
							<para>
								<block subset="none" type="note">The general principle is that <see cref="M:System.Reflection.Binder.ChangeType(System.Object,System.Type,System.Globalization.CultureInfo)"/> 
typically performs only widening coercions,
which never lose data. An example of a widening coercion is coercing a
value that is a 32-bit signed integer to a value that is a 64-bit signed integer.
This is distinguished from a narrowing coercion, which may lose data. An
example of a narrowing coercion is coercing a 64-bit signed integer to a 32-bit
signed integer. </block>
							</para>
							<para>The following table lists the coercions performed by the default binder's implementation of
<see langword="ChangeType"/>.</para>
							<list type="table">
								<listheader>
									<term>Source Type</term>
									<description>Target Type</description>
								</listheader>
								<item>
									<term> Any type</term>
									<description>Its base type.</description>
								</item>
								<item>
									<term> Any type</term>
									<description>The interface it implements.</description>
								</item>
								<item>
									<term> Char</term>
									<description>Unt16, UInt32, Int32, UInt64, Int64, Single, Double</description>
								</item>
								<item>
									<term> Byte</term>
									<description>Char, Unt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double</description>
								</item>
								<item>
									<term> SByte</term>
									<description>Int16, Int32, Int64, Single, Double</description>
								</item>
								<item>
									<term> UInt16</term>
									<description>UInt32, Int32, UInt64, Int64, Single, Double</description>
								</item>
								<item>
									<term> Int16</term>
									<description>Int32, Int64, Single, Double</description>
								</item>
								<item>
									<term> UInt32</term>
									<description>UInt64, Int64, Single, Double</description>
								</item>
								<item>
									<term> Int32</term>
									<description>Int64, Single, Double</description>
								</item>
								<item>
									<term> UInt64</term>
									<description>Single, Double</description>
								</item>
								<item>
									<term> Int64</term>
									<description>Single, Double</description>
								</item>
								<item>
									<term> Single</term>
									<description>Double</description>
								</item>
								<item>
									<term> Non-reference</term>
									<description>By-reference.</description>
								</item>
							</list>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="Delimiter">
					<MemberSignature Language="ILASM" Value=".field public static initOnly valuetype System.Char Delimiter"/>
					<MemberSignature Language="C#" Value="public static readonly char Delimiter;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Specifies the character that separates elements in the fully qualified name
      of a <see cref="T:System.Type"/>
      .</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="EmptyTypes">
					<MemberSignature Language="ILASM" Value=".field public static initOnly class System.Type[] EmptyTypes"/>
					<MemberSignature Language="C#" Value="public static readonly Type[] EmptyTypes;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns an empty array of type <see cref="T:System.Type"/> .</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para>The empty <see cref="T:System.Type"/> array returned by this field is used to specify that 
   lookup methods in the <see cref="T:System.Type"/> class, such as <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/> and <see cref="M:System.Type.GetConstructor(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/>,
   search for members that do not take parameters. <block subset="none" type="note">For example, to locate the public instance constructor that takes no
   parameters, invoke <see cref="M:System.Type.GetConstructor(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/> (<see cref="F:System.Reflection.BindingFlags.Public"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/>, <see langword="null"/>, <see cref="F:System.Type.EmptyTypes"/>,
<see langword="null"/>).</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance bool Equals(class System.Type o)"/>
					<MemberSignature Language="C#" Value="public bool Equals(Type o);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="o" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines if the underlying system type of the current <see cref="T:System.Type"/> is the same as the
   underlying system type of the specified <see cref="T:System.Type"/>.</para>
						</summary>
						<param name="o">The <see cref="T:System.Type"/> whose underlying system type is to be compared with the underlying system type of the current <see cref="T:System.Type"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if the underlying system type of <paramref name="o"/> is the same
   as the underlying system type of the current <see cref="T:System.Type"/>; otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="FullName">
					<MemberSignature Language="ILASM" Value=".property string FullName { public hidebysig virtual abstract specialname string get_FullName() }"/>
					<MemberSignature Language="C#" Value="public abstract string FullName { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the fully qualified name of the type represented by 
      the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the fully qualified name of the <see cref="T:System.Type"/>.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note">For example, the
      fully qualified name of the C# string type is "System.String".</block>
							</para>
							<para>
								<block subset="none" type="behaviors">This property is
      read-only.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="P:System.Type.FullName"/>
property.</para>
							<code lang="C#">using System;
class TestType {
 public static void Main() {
 Type t = typeof(Array);
 Console.WriteLine("Full name of Array type is {0}",t.FullName);
 }
}
</code>
							<para>The output is</para>
							<para>
								<c>Full name of
   Array type is System.Array</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetArrayRank">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetArrayRank()"/>
					<MemberSignature Language="C#" Value="public virtual int GetArrayRank();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the number of dimensions in the current <see cref="T:System.Type"/>.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the number of dimensions in the  current
<see cref="T:System.Type"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">The current <see cref="T:System.Type"/> is  not an array.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetAttributeFlagsImpl">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract valuetype System.Reflection.TypeAttributes GetAttributeFlagsImpl()"/>
					<MemberSignature Language="C#" Value="protected abstract TypeAttributes GetAttributeFlagsImpl();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.TypeAttributes</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>When overridden in a derived type implements the <see cref="P:System.Type.Attributes"/>
property and returns the attributes specified for the type represented by the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Reflection.TypeAttributes"/> value that signifies the attributes of the
   type represented by the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="behaviors">
								<para>This property is read-only.</para>
								<para>This method returns a <see cref="T:System.Reflection.TypeAttributes"/> value that indicates the attributes set in
      the metadata of the type represented by the current
      instance.</para>
							</block>
							<para>
								<block subset="none" type="usage">Use this property to determine the
   visibility, semantics, and layout format of the type represented by the
   current. Also use this property to determine if the type represented by
   the current instance has a special name.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetConstructor">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.ConstructorInfo GetConstructor(valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.Binder binder, class System.Type[] types, class System.Reflection.ParameterModifier[] modifiers)"/>
					<MemberSignature Language="C#" Value="public ConstructorInfo GetConstructor(BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.ConstructorInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
						<Parameter Name="binder" Type="System.Reflection.Binder"/>
						<Parameter Name="types" Type="System.Type[]"/>
						<Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a constructor defined in the type represented by the current
      instance. The parameters of the constructor match the specified argument types
      and modifiers, under the specified binding constraints.</para>
						</summary>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns null. </para>
						</param>
						<param name="binder">
							<para>A <see cref="T:System.Reflection.Binder"/> object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify <see langword="null"/> to use the <see cref="P:System.Type.DefaultBinder"/> .</para>
						</param>
						<param name="types">
							<para>An array of <see cref="T:System.Type"/> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the constructor to be returned.</para>
						</param>
						<param name="modifiers">The only defined value for this parameter is <see langword="null"/> .</param>
						<returns>
							<para>A <see cref="T:System.Reflection.ConstructorInfo"/> object that reflects the constructor
   that matches the specified criteria. If an exact match does not exist,
<paramref name="binder"/> will attempt to coerce the parameter types specified in 
<paramref name="types"/> to select a match. If <paramref name="binder"/> is unable to select a 
   match, returns <see langword="null"/> . If the type represented by the current
   instance is contained in a loaded assembly, the constructor that matches the
   specified criteria is not public, and the caller does not have sufficient
   permissions, returns <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="types"/> is <see langword="null"/>, or at least one of the elements in <paramref name="types"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="types"/> has more than one dimension.</para>
						</exception>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   constructors to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public constructors
      in the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public
      constructors (that is, private and protected constructors) in the
      search.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetConstructor">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.ConstructorInfo GetConstructor(class System.Type[] types)"/>
					<MemberSignature Language="C#" Value="public ConstructorInfo GetConstructor(Type[] types);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.ConstructorInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="types" Type="System.Type[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a public instance constructor defined in the type represented by the
      current instance. The parameters of the constructor match the specified argument
      types.</para>
						</summary>
						<param name="types">
							<para>An array of <see cref="T:System.Type"/> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the constructor to be returned. Specify <see cref="F:System.Type.EmptyTypes"/> to obtain a constructor that takes no parameters.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Reflection.ConstructorInfo"/> object representing the public instance
   constructor whose parameters match exactly the types in <paramref name="types"/> , if found;
   otherwise, <see langword="null"/>. If the type represented by the current
   instance is contained in a loaded assembly, the constructor that matches the
   specified criteria is not public, and the caller does not have sufficient
   permissions, returns <see langword="null"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="types"/> is <see langword="null"/>, or at least one of the elements in <paramref name="types"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="types"/> has more than one dimension.</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.Type.GetConstructor(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/> is equivalent to <see cref="M:System.Type.GetConstructor(System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/>(<see cref="F:System.Reflection.BindingFlags.Public"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/>, <see langword="null"/>,
<paramref name="types"/>, <see langword="null"/>).</para>
							<see langword=""/>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetConstructors">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.ConstructorInfo[] GetConstructors()"/>
					<MemberSignature Language="C#" Value="public ConstructorInfo[] GetConstructors();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.ConstructorInfo[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns an array of the public constructors defined in the type represented
      by the current instance.</para>
						</summary>
						<returns>
							<para>An array of <see cref="T:System.Reflection.ConstructorInfo"/> objects that reflect the public constructors
   defined in the type represented by the current instance. If no public
   constructors are defined in the type represented by the current instance,
   returns an empty array.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Type.GetConstructors"/> is equivalent to <see cref="M:System.Type.GetConstructors"/>(<see cref="F:System.Reflection.BindingFlags.Public"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetConstructors">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.ConstructorInfo[] GetConstructors(valuetype System.Reflection.BindingFlags bindingAttr)"/>
					<MemberSignature Language="C#" Value="public abstract ConstructorInfo[] GetConstructors(BindingFlags bindingAttr);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.ConstructorInfo[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns an array of constructors defined in the type represented by the
      current instance, under the specified binding constraints.</para>
						</summary>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns <see langword="null"/> . </para>
						</param>
						<returns>
							<para>An array of <see cref="T:System.Reflection.ConstructorInfo"/> objects that reflect the constructors that
   are defined in the type represented by the current instance and match the
   constraints of <paramref name="bindingAttr"/>. If <see cref="F:System.Reflection.BindingFlags.NonPublic"/> and <see cref="F:System.Reflection.BindingFlags.Static"/> are specified, this array
   includes the type initializer if it is defined. If no constructors meeting the
   constraints of <paramref name="bindingAttr"/> are defined in the type represented by the
   current instance, returns an empty array. If the type represented by the current
   instance is contained in a loaded assembly, the constructors that match the
   specified criteria are not public, and the caller does not have sufficient
   permission, returns <see langword="null"/> .</para>
						</returns>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   constructors to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public constructors
      in the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public
      constructors (that is, private and protected constructors) in the
      search.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetDefaultMembers">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Reflection.MemberInfo[] GetDefaultMembers()"/>
					<MemberSignature Language="C#" Value="public virtual MemberInfo[] GetDefaultMembers();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.MemberInfo[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns an array of <see cref="T:System.Reflection.MemberInfo"/> objects that reflect the default members
   defined in the type represented by the current instance.</para>
						</summary>
						<returns>
							<para>An array of <see cref="T:System.Reflection.MemberInfo"/> objects reflecting the default members of the
   type represented by the current instance. If the type represented by the current
   instance does not have any default members, returns an empty array.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">The members returned
      by this method have the <see cref="T:System.Reflection.DefaultMemberAttribute"/>
      attribute.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetElementType">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Type GetElementType()"/>
					<MemberSignature Language="C#" Value="public abstract Type GetElementType();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns the element type of the current <see cref="T:System.Type"/>
.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Type"/> that represents 
   the type used to create the current instance if the current
   instance represents an array, pointer, or an argument
   passed by reference. Otherwise, returns <see langword="null"/>
   .</para>
						</returns>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Type.GetElementType"/>
method.</para>
							<code lang="C#">using System;
class TestType {
 public static void Main() {
 int[] array = {1,2,3};
 Type t = array.GetType();
 Type t2 = t.GetElementType();
 Console.WriteLine("{0} element type is {1}",array, t2.ToString());

 TestType newMe = new TestType();
 t = newMe.GetType();
 t2 = t.GetElementType();
 Console.WriteLine("{0} element type is {1}", newMe, t2==null? "null" : t2.ToString());
 }
}
</code>
							<para>The output is</para>
							<c>
								<para>System.Int32[] element type is System.Int32</para>
								<para>TestType element type is null</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEvent">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.EventInfo GetEvent(string name)"/>
					<MemberSignature Language="C#" Value="public EventInfo GetEvent(string name);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.EventInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.EventInfo"/> object reflecting the public event that has the
   specified name and is defined in the type represented by the current
   instance.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the public event to be returned.</param>
						<returns>
							<para>A <see cref="T:System.Reflection.EventInfo"/> object 
   reflecting the public event that is named
<paramref name="name"/> and is defined in the type represented by the current instance, if 
   found; otherwise, <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="name"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Type.GetEvent(System.String)"/> is equivalent to <see cref="M:System.Type.GetEvent(System.String)"/>( <paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Static"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/> | <see cref="F:System.Reflection.BindingFlags.Public"/> ).</para>
							<para>The search for <paramref name="name"/> is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetEvent">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.EventInfo GetEvent(string name, valuetype System.Reflection.BindingFlags bindingAttr)"/>
					<MemberSignature Language="C#" Value="public abstract EventInfo GetEvent(string name, BindingFlags bindingAttr);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.EventInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.EventInfo"/> object reflecting the event that has the
   specified name, is defined in the type represented by the current instance, and
   matches the specified binding constraints.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the event to be returned.</param>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns null. </para>
						</param>
						<returns>
							<para>A <see cref="T:System.Reflection.EventInfo"/> object reflecting the event that is named
<paramref name="name"/>, is defined in the type represented by the current instance, and 
   matches the constraints of <paramref name="bindingAttr"/>. If an event
   matching these criteria is not found, returns <see langword="null"/>. If the event is not
   public, the current instance represents
   a type from a loaded assembly, and the caller does not have sufficient
   permission, returns <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="name"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   events to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public events in
      the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public
      events(that is, private and protected events) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> value can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the events
      declared on the type, not events that were simply inherited.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetEvents">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Reflection.EventInfo[] GetEvents()"/>
					<MemberSignature Language="C#" Value="public virtual EventInfo[] GetEvents();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.EventInfo[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns an array of <see cref="T:System.Reflection.EventInfo"/> objects that reflect the public events
   defined in the type represented by the current instance.</para>
						</summary>
						<returns>
							<para>An array of <see cref="T:System.Reflection.EventInfo"/> objects that reflect the public events
   defined in the type represented by the current instance. If no public events
   are defined in the type represented by the current instance, returns an empty
   array.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="default">This version of <see cref="M:System.Type.GetEvents"/> is
   equivalent to <see cref="M:System.Type.GetEvents"/>(<see cref="F:System.Reflection.BindingFlags.Public"/> | <see cref="F:System.Reflection.BindingFlags.Static"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/>).</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetEvents">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.EventInfo[] GetEvents(valuetype System.Reflection.BindingFlags bindingAttr)"/>
					<MemberSignature Language="C#" Value="public abstract EventInfo[] GetEvents(BindingFlags bindingAttr);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.EventInfo[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns an array of <see cref="T:System.Reflection.EventInfo"/> objects that reflect the events that are
   defined in the type represented by the current instance and match the specified
   binding constraints.</para>
						</summary>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns null. </para>
						</param>
						<returns>
							<para>An array of <see cref="T:System.Reflection.EventInfo"/> objects that reflect the events that are
   defined in the type represented by the current instance and match the
   constraints of <paramref name="bindingAttr"/> . If no events match
   these constraints, returns an empty array. If the type reflected by the current
   instance is from a loaded assembly and the caller does not have permission to
   reflect on non-public objects in loaded assemblies, returns only public
   events.</para>
						</returns>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   events to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public events in
      the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public
      events (that is, private and protected events) in the
      search.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetField">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.FieldInfo GetField(string name, valuetype System.Reflection.BindingFlags bindingAttr)"/>
					<MemberSignature Language="C#" Value="public abstract FieldInfo GetField(string name, BindingFlags bindingAttr);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.FieldInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.FieldInfo"/> object reflecting the field that has the
   specified name, is defined in the type represented by the current instance, and
   matches the specified binding constraints.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the field to be returned.</param>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns <see langword="null"/> . </para>
						</param>
						<returns>
							<para>A <see cref="T:System.Reflection.FieldInfo"/> object reflecting the field that is named
<paramref name="name"/>, is defined in the type represented by the current instance, and 
   matches the constraints of <paramref name="bindingAttr"/>. If a field matching these criteria
   cannot be found, returns <see langword="null"/>. If the field is not public, the current type is
   from a loaded assembly, and the caller does not have sufficient permission,
   returns <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="name"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   fields to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public fields in
      the search.</term>
								</item>
								<item>
									<term>
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public fields
      (that is, private and protected fields) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> values can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the fields
   declared in the type, not fields that were simply inherited.</term>
								</item>
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.IgnoreCase"/> to ignore the case of
   <paramref name="name"/>.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetField">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.FieldInfo GetField(string name)"/>
					<MemberSignature Language="C#" Value="public FieldInfo GetField(string name);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.FieldInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.FieldInfo"/> object reflecting the field that has the
   specified name and is defined in the type represented by the current
   instance.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the field to be returned.</param>
						<returns>
							<para>A <see cref="T:System.Reflection.FieldInfo"/> object reflecting the field that is named
<paramref name="name"/> and is defined in the type represented by the current instance, if 
   found; otherwise, <see langword="null"/>. If the selected field is non-public, the type represented by the
   current instance is from a loaded assembly and the caller does not have
   sufficient permission to reflect on non-public objects in loaded assemblies,
   returns <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="name"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>The search for <paramref name="name"/> is case-sensitive.</para>
							<para>This version of <see cref="M:System.Type.GetField(System.String,System.Reflection.BindingFlags)"/> is equivalent to <see cref="M:System.Type.GetField(System.String,System.Reflection.BindingFlags)"/>(
<paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Public"/> | <see cref="F:System.Reflection.BindingFlags.Static"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/> ).</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetFields">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.FieldInfo[] GetFields()"/>
					<MemberSignature Language="C#" Value="public FieldInfo[] GetFields();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.FieldInfo[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns an array of <see cref="T:System.Reflection.FieldInfo"/> objects that reflect the public fields
   defined in the type represented by the current instance.</para>
						</summary>
						<returns>
							<para>An array of <see cref="T:System.Reflection.FieldInfo"/> objects that reflect the public fields
   defined in the type represented by the current instance. If no public fields
   are defined in the type represented by the current instance, returns an empty
   array.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Type.GetFields"/> is equivalent to <see cref="M:System.Type.GetFields"/>( <see cref="F:System.Reflection.BindingFlags.Instance"/> | <see cref="F:System.Reflection.BindingFlags.Static"/> | <see cref="F:System.Reflection.BindingFlags.Public"/> ).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetFields">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.FieldInfo[] GetFields(valuetype System.Reflection.BindingFlags bindingAttr)"/>
					<MemberSignature Language="C#" Value="public abstract FieldInfo[] GetFields(BindingFlags bindingAttr);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.FieldInfo[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns an array of <see cref="T:System.Reflection.FieldInfo"/> objects that reflect the fields that are
   defined in the type represented by the current instance and match the specified
   binding constraints.</para>
						</summary>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns <see langword="null"/> . </para>
						</param>
						<returns>
							<para>An array of <see cref="T:System.Reflection.FieldInfo"/> objects that reflect the fields that are
   defined in the type represented by the current instance and match the
   constraints of <paramref name="bindingAttr"/> . If no fields match
   these constraints, returns an empty array. If the type represented by the
   current instance is from a loaded assembly and the caller does not have
   sufficient permission to reflect on non-public objects in loaded assemblies,
   returns only public fields.</para>
						</returns>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   fields to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/> in
      order to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public fields in
      the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public fields
      (that is, private and protected fields) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> values can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the fields
      declared in the type, not fields that were simply inherited.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of a type in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetHashCode">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetHashCode()"/>
					<MemberSignature Language="C#" Value="public override int GetHashCode();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing the hash code for this instance.</para>
						</returns>
						<remarks>
							<para>The algorithm used to
      generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.GetHashCode"/>
      .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetInterface">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Type GetInterface(string name, bool ignoreCase)"/>
					<MemberSignature Language="C#" Value="public abstract Type GetInterface(string name, bool ignoreCase);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="ignoreCase" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the specified interface,
      specifying whether to do a case-sensitive search.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the interface to return.</param>
						<param name="ignoreCase">
							<para> A <see cref="T:System.Boolean"/> where<see langword=" true"/> indicates that the name search is to be done case-insensitively, and <see langword="false"/> performs a case-sensitive search.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Type"/> object representing
   the interface with the specified name, implemented or inherited by the type
   represented by the instance, if found; otherwise, <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="name"/> is <see langword="null"/>. </exception>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetInterface">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Type GetInterface(string name)"/>
					<MemberSignature Language="C#" Value="public Type GetInterface(string name);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Searches for the interface with the specified name.
      </para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the interface to get. </param>
						<returns>
							<para> A <see cref="T:System.Type"/> object
   representing the interface with the specified name, implemented or inherited by
   the current <see cref="T:System.Type"/>, if found; otherwise, <see langword="null"/>.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="name"/> is <see langword="null"/>. </exception>
						<remarks>
							<para> The search for <paramref name="name"/> is case-sensitive.
   </para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetInterfaces">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Type[] GetInterfaces()"/>
					<MemberSignature Language="C#" Value="public abstract Type[] GetInterfaces();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns all interfaces implemented or inherited by the
      type represented by the current instance.</para>
						</summary>
						<returns>
							<para>An array of <see cref="T:System.Type"/> objects representing the interfaces implemented or
   inherited by the type represented by the current instance. If no interfaces are
   found, returns an empty <see cref="T:System.Type"/> array.</para>
						</returns>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetMember">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Reflection.MemberInfo[] GetMember(string name, valuetype System.Reflection.BindingFlags bindingAttr)"/>
					<MemberSignature Language="C#" Value="public virtual MemberInfo[] GetMember(string name, BindingFlags bindingAttr);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.MemberInfo[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns an array of <see cref="T:System.Reflection.MemberInfo"/> objects that reflect the members defined in
   the type represented by the current instance that have the specified name
   and match the specified binding constraints.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the member to be returned.</param>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns <see langword="null"/> . </para>
						</param>
						<returns>
							<para>An array of <see cref="T:System.Reflection.MemberInfo"/> objects that reflect the members
   named <paramref name="name"/>, are defined in the type represented by the current instance
   and match the constraints of <paramref name="bindingAttr"/> .
   If no members match these constraints, returns an empty array.
   If the selected member is non-public, the type reflected by the current instance is from a
   loaded assembly and the caller does not have sufficient permission to reflect on
   non-public objects in loaded assemblies, returns <see langword="null"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="name"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   members to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public members in
      the search.</term>
								</item>
								<item>
									<term>
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public members
      (that is, private and protected members) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> values can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the members
   declared in the type, not members that were simply inherited.</term>
								</item>
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.IgnoreCase"/> to ignore the case of
   <paramref name="name"/>.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetMember">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.MemberInfo[] GetMember(string name)"/>
					<MemberSignature Language="C#" Value="public MemberInfo[] GetMember(string name);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.MemberInfo[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns an array of <see cref="T:System.Reflection.MemberInfo"/> objects that reflect the public members that
   have the specified name and are defined in the type represented by the current
   instance.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the members to be returned.</param>
						<returns>
							<para>An array of <see cref="T:System.Reflection.MemberInfo"/> objects that reflect the public members that
   are named <paramref name="name"/> and are defined in the type represented by the current instance. If no public
   members with the specified name are defined in the type represented by the
   current instance, returns an empty array.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="name"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>This version of <see cref="M:System.Type.GetMember(System.String)"/> is equivalent to <see cref="M:System.Type.GetMember(System.String)"/>( <paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Static"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/> | <see cref="F:System.Reflection.BindingFlags.Public"/> ).</para>
							<para>The search for <paramref name="name"/> is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetMembers">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.MemberInfo[] GetMembers(valuetype System.Reflection.BindingFlags bindingAttr)"/>
					<MemberSignature Language="C#" Value="public abstract MemberInfo[] GetMembers(BindingFlags bindingAttr);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.MemberInfo[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns an array of <see cref="T:System.Reflection.MemberInfo"/> objects that reflect the members that are
   defined in the type represented by the current instance and match the specified
   binding constraints.</para>
						</summary>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns <see langword="null"/> . </para>
						</param>
						<returns>
							<para>An array of <see cref="T:System.Reflection.MemberInfo"/> objects that reflect the members
   defined in the type represented by the current instance that match the
   constraints of <paramref name="bindingAttr"/> . If no members match these constraints,
   returns an empty array. If the type represented by the current instance is from
   a loaded assembly and the caller does not have sufficient permission to reflect
   on non-public objects in loaded assemblies, returns only public members.</para>
						</returns>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   members to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public members in
      the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public members
      (that is, private and protected members) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> values can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the members
      declared in the type, not members that were simply inherited.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetMembers">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.MemberInfo[] GetMembers()"/>
					<MemberSignature Language="C#" Value="public MemberInfo[] GetMembers();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.MemberInfo[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns an array of <see cref="T:System.Reflection.MemberInfo"/> objects that reflect the public members
   defined in the type represented by the current instance.</para>
						</summary>
						<returns>
							<para>An array of <see cref="T:System.Reflection.MemberInfo"/> objects that reflect the public members
   defined in the type represented by the current instance. If no public members
   are defined in the type represented by the current instance, returns an empty
   array.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Type.GetMembers"/> is equivalent to <see cref="M:System.Type.GetMembers"/>(<see cref="F:System.Reflection.BindingFlags.Public"/> | <see cref="F:System.Reflection.BindingFlags.Static"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetMethod">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual class System.Reflection.MethodInfo GetMethod(string name, valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.Binder binder, class System.Type[] types, class System.Reflection.ParameterModifier[] modifiers)"/>
					<MemberSignature Language="C#" Value="public MethodInfo GetMethod(string name, BindingFlags bindingAttr, Binder binder, Type[] types, ParameterModifier[] modifiers);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.MethodInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
						<Parameter Name="binder" Type="System.Reflection.Binder"/>
						<Parameter Name="types" Type="System.Type[]"/>
						<Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.MethodInfo"/> object that reflects the method that matches the
   specified criteria and is defined in the type represented by the current
   instance.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the method to be returned.</param>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns <see langword="null"/> . </para>
						</param>
						<param name="binder">
							<para>A <see cref="T:System.Reflection.Binder"/> object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify <see langword="null"/> to use the <see cref="P:System.Type.DefaultBinder"/> .</para>
						</param>
						<param name="types">
							<para>An array of <see cref="T:System.Type"/> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the method to be returned.</para>
						</param>
						<param name="modifiers">The only defined value for this parameter is <see langword="null"/> .</param>
						<returns>
							<para>A <see cref="T:System.Reflection.MethodInfo"/> object that reflects
   the method defined in the type represented by the current instance that
   matches the specified criteria. If no method matching the specified criteria is found, returns
<see langword="null"/> . If the 
   selected method is non-public, the type reflected by
   the current instance is from a loaded assembly, and the caller
   does not have permission to reflect on non-public objects in loaded assemblies,
   returns <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one method matching the specified criteria was found.</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="name"/> or <paramref name="types"/> is <see langword="null"/>.</para>
							<para>-or-</para>
							<para>At least one of the elements in <paramref name="types"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="types"/> has more than one dimension.</para>
						</exception>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   members to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public members in
      the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public members
      (that is, private and protected members) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> values can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the members 
      declared in the type, not members that were simply inherited.</term>
								</item>
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.IgnoreCase"/> to ignore the case of
   <paramref name="name"/>.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetMethod">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual class System.Reflection.MethodInfo GetMethod(string name, valuetype System.Reflection.BindingFlags bindingAttr)"/>
					<MemberSignature Language="C#" Value="public MethodInfo GetMethod(string name, BindingFlags bindingAttr);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.MethodInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.MethodInfo"/> object that reflects the method that has the
   specified name and is defined in the type represented by the current
   instance.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the method to be returned.</param>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns <see langword="null"/> . </para>
						</param>
						<returns>
							<para>A <see cref="T:System.Reflection.MethodInfo"/> object
   that reflects the method that is defined
   in the type represented by the current instance and matches the specified
   criteria, if found; otherwise, <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one method matching the specified criteria was found.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="name"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   members to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public members in
      the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public members
      (that is, private and protected members) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> values can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the members 
      declared in the type, not members that were simply inherited.</term>
								</item>
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.IgnoreCase"/> to ignore the case of
   <paramref name="name"/>.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
							<para>This version of <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/> is equivalent to <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/>(<paramref name="name"/>, <paramref name="bindingAttr"/> ,
<see langword="null"/>, <see langword="null"/>, <see langword="null"/>).</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetMethod">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.MethodInfo GetMethod(string name)"/>
					<MemberSignature Language="C#" Value="public MethodInfo GetMethod(string name);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.MethodInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.MethodInfo"/> object that reflects the public method that
   has the specified name and is defined in the type represented by the current
   instance.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the public method to be returned.</param>
						<returns>
							<para>A <see cref="T:System.Reflection.MethodInfo"/> object reflecting the public method that is
   defined in the type represented by the current instance and has the specified
   name, if found; otherwise, <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one method matching the specified criteria was found.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="name"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>The search for <paramref name="name"/> is case-sensitive.</para>
							<para>This version of <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/> is equivalent to <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/>(<paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Public"/> | <see cref="F:System.Reflection.BindingFlags.Static"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/>, <see langword="null"/>,
<see langword="null"/>, <see langword="null"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetMethod">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.MethodInfo GetMethod(string name, class System.Type[] types)"/>
					<MemberSignature Language="C#" Value="public MethodInfo GetMethod(string name, Type[] types);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.MethodInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="types" Type="System.Type[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.MethodInfo"/> object that reflects the public method defined in
   the type represented by the current instance that has the specified name and parameter
   information.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the public method to be returned.</param>
						<param name="types">
							<para>An array of <see cref="T:System.Type"/> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the method to be returned.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Reflection.MethodInfo"/> object reflecting
   the public method defined in the type represented by the current instance
   that matches the specified criteria. If no public method matching the specified criteria
   is found, returns <see langword="null"/> . </para>
						</returns>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one method matching the specified criteria was found.</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="name"/> or <paramref name="types"/> is <see langword="null"/>.</para>
							<para>-or-</para>
							<para>At least one of the elements in <paramref name="types"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="types"/> has more than one dimension.</para>
						</exception>
						<remarks>
							<para>The search for <paramref name="name"/> is case-sensitive.</para>
							<para>This version of <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/> is equivalent to <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/>(<paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Public"/> | <see cref="F:System.Reflection.BindingFlags.Static"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/>, <see langword="null"/>,
<paramref name="types"/>, <see langword="null"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetMethod">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.MethodInfo GetMethod(string name, class System.Type[] types, class System.Reflection.ParameterModifier[] modifiers)"/>
					<MemberSignature Language="C#" Value="public MethodInfo GetMethod(string name, Type[] types, ParameterModifier[] modifiers);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.MethodInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="types" Type="System.Type[]"/>
						<Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.MethodInfo"/> object that reflects the public method that
   has the specified name and is defined in the type represented by the current
   instance.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the public method to be returned.</param>
						<param name="types">
							<para>An array of <see cref="T:System.Type"/> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the method to be returned.</para>
						</param>
						<param name="modifiers">The only defined value for this parameter is <see langword="null"/> .</param>
						<returns>
							<para>A <see cref="T:System.Reflection.MethodInfo"/> object reflecting the public method that is
   defined in the type represented by the current instance and matches the
   specified criteria, if found; otherwise, <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one method matching the specified criteria was found.</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="name"/> or <paramref name="types"/> is <see langword="null"/>.</para>
							<para>-or-</para>
							<para>At least one of the elements in <paramref name="types"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="types"/> has more than one dimension.</para>
						</exception>
						<remarks>
							<para>The default binder does not process
      <paramref name="modifier"/> . </para>
							<para>The search for <paramref name="name"/> is case-sensitive.</para>
							<para>This version of <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/> is equivalent to <see cref="M:System.Type.GetMethod(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Reflection.CallingConventions,System.Type[],System.Reflection.ParameterModifier[])"/> ( <paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Public"/> |<see cref="F:System.Reflection.BindingFlags.Static"/> |<see cref="F:System.Reflection.BindingFlags.Instance"/> , <see langword="null"/>,<paramref name=" types"/> , <paramref name="modifiers"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetMethods">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.MethodInfo[] GetMethods(valuetype System.Reflection.BindingFlags bindingAttr)"/>
					<MemberSignature Language="C#" Value="public abstract MethodInfo[] GetMethods(BindingFlags bindingAttr);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.MethodInfo[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns an array of <see cref="T:System.Reflection.MethodInfo"/> objects that reflect the methods defined in the type
   represented by the current instance that match the specified binding constraints.</para>
						</summary>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns <see langword="null"/> . </para>
						</param>
						<returns>
							<para>An array of <see cref="T:System.Reflection.MethodInfo"/> objects reflecting the methods defined in the type
   represented by the current instance that match the constraints of
<paramref name="bindingAttr"/> . If no such methods found, returns an 
   empty array. If the type represented by the current instance is from a loaded
   assembly and the caller does not have permission to reflect on non-public
   objects in loaded assemblies, returns only public methods.</para>
						</returns>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   members to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public members in
      the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public members
      (that is, private and protected members) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> values can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the members
      declared in the type, not members that were simply inherited.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetMethods">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.MethodInfo[] GetMethods()"/>
					<MemberSignature Language="C#" Value="public MethodInfo[] GetMethods();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.MethodInfo[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns the public methods defined in the type represented by the current
      instance.</para>
						</summary>
						<returns>
							<para>An array of <see cref="T:System.Reflection.MethodInfo"/> objects reflecting the public methods defined in the
   type represented by the current instance under the constraints of
<paramref name="bindingAttr"/>. If no methods matching the constraints are found, returns an 
   empty array.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Type.GetMethods"/> is equivalent to <see cref="M:System.Type.GetMethods"/>( <see cref="F:System.Reflection.BindingFlags.Instance"/> | <see cref="F:System.Reflection.BindingFlags.Static"/> | <see cref="F:System.Reflection.BindingFlags.Public"/> ).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetNestedType">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Type GetNestedType(string name)"/>
					<MemberSignature Language="C#" Value="public Type GetNestedType(string name);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the public nested type defined in the type represented by the current instance</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the public nested type to return. Specify the unqualified name of the nested type. <block subset="none" type="note">For example, for a type B nested within A, if typeA represents the type object for A, the correct invocation is typeA.GetNestedType("B"). </block>
						</param>
						<returns>
							<para>A <see cref="T:System.Type"/> object
   representing the public nested type with the specified
   name, if found; otherwise, <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="name"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>The search for <paramref name="name"/> is case-sensitive.</para>
							<para>This version of <see cref="M:System.Type.GetNestedTypes"/> is equivalent to <see cref="M:System.Type.GetNestedTypes"/>(<paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Public"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetNestedType">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Type GetNestedType(string name, valuetype System.Reflection.BindingFlags bindingAttr)"/>
					<MemberSignature Language="C#" Value="public abstract Type GetNestedType(string name, BindingFlags bindingAttr);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a nested types defined in the type represented by the current instance that match the specified binding constraints.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the nested type to return. Specify the unqualified name of the nested type. <block subset="none" type="note">For example, for a type B nested within A, if typeA represents the type object for A, the correct invocation is typeA.GetNestedType("B").</block>
						</param>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns <see langword="null"/> . </para>
						</param>
						<returns>
							<para>A <see cref="T:System.Type"/> object representing the nested type that
   matches the specified criteria, if found; otherwise, <see langword="null"/>. If the selected nested
   type is non-public, the current instance represents a type contained in a loaded
   assembly and the caller does not have sufficient permissions, returns
<see langword="null"/> 
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="name"/> is <see langword="null"/>. </exception>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   members to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public members in
      the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public members
      (that is, private and protected members) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> values can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the members 
      declared in the type, not members that were simply inherited.</term>
								</item>
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.IgnoreCase"/> to ignore the case of
   <paramref name="name"/>.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetNestedTypes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Type[] GetNestedTypes()"/>
					<MemberSignature Language="C#" Value="public Type[] GetNestedTypes();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns all the public types nested within the current <see cref="T:System.Type"/>.</para>
						</summary>
						<returns>
							<para>An array of <see cref="T:System.Type"/> objects representing all public types nested within the type
   represented by the current instance, if any. Otherwise, returns an empty <see cref="T:System.Type"/> array.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Type.GetNestedTypes"/> is equivalent to <see cref="M:System.Type.GetNestedTypes"/>(<see cref="F:System.Reflection.BindingFlags.Public"/>).</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetNestedTypes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Type[] GetNestedTypes(valuetype System.Reflection.BindingFlags bindingAttr)"/>
					<MemberSignature Language="C#" Value="public abstract Type[] GetNestedTypes(BindingFlags bindingAttr);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an array containing the nested types defined in
      the type represented by the current instance that match the specified binding constraints.</para>
						</summary>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns <see langword="null"/> . </para>
						</param>
						<returns>
							<para>An array of <see cref="T:System.Type"/> objects representing all types nested within the type
   represented by the current instance that match the specified binding constraints,
   if any. Otherwise, returns an empty <see cref="T:System.Type"/> array. If the type reflected by the current instance is
   contained in a loaded assembly, the type that matches the specified criteria is
   not public, and the caller does not have sufficient permission, returns only
   public types.</para>
						</returns>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   members to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public members in
      the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public members
      (that is, private and protected members) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> values can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the members
      declared in the type, not members that were simply inherited.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetProperties">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.PropertyInfo[] GetProperties(valuetype System.Reflection.BindingFlags bindingAttr)"/>
					<MemberSignature Language="C#" Value="public abstract PropertyInfo[] GetProperties(BindingFlags bindingAttr);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.PropertyInfo[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns an array of <see cref="T:System.Reflection.PropertyInfo"/> objects that reflect the properties
   defined for the type represented by the current instance that match the specified
   binding constraints.</para>
						</summary>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns <see langword="null"/> . </para>
						</param>
						<returns>
							<para>An array of <see cref="T:System.Reflection.PropertyInfo"/> objects that reflect the properties
   defined in the type represented by the current instance and match the
   constraints of <paramref name="bindingAttr"/> . If no matching properties are found,
   returns an empty array. If the type represented by the current instance is from
   a loaded assembly and the caller does not have permission to reflect on
   non-public objects in loaded assemblies, returns only public properties.</para>
						</returns>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   members to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public members in
      the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public members
      (that is, private and protected members) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> values can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the members
      declared in the type, not members that were simply inherited.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">A property is considered by
   reflection to be <see langword="public"/> if it has at least one accessor that is
<see langword="public"/> . Otherwise, the property is not
<see langword="public"/>.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetProperties">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.PropertyInfo[] GetProperties()"/>
					<MemberSignature Language="C#" Value="public PropertyInfo[] GetProperties();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.PropertyInfo[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns an array of <see cref="T:System.Reflection.PropertyInfo"/> objects that reflect the public properties
   defined in the type represented by the current instance.</para>
						</summary>
						<returns>
							<para>An array of <see cref="T:System.Reflection.PropertyInfo"/> 
objects that reflect the public properties defined in the type
represented by the current instance. If no public properties are found, returns
an empty array.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Type.GetProperties(System.Reflection.BindingFlags)"/> is equivalent to <see cref="M:System.Type.GetProperties(System.Reflection.BindingFlags)"/>(
<see cref="F:System.Reflection.BindingFlags.Instance"/> | <see cref="F:System.Reflection.BindingFlags.Static"/> | <see cref="F:System.Reflection.BindingFlags.Public"/> ).</para>
							<para>A property is considered by reflection
   to be <see langword="public"/> if it has at least one accessor that is
<see langword="public"/>. Otherwise, the property is considered to be not 
<see langword="public"/>.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetProperty">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.PropertyInfo GetProperty(string name, class System.Type returnType, class System.Type[] types)"/>
					<MemberSignature Language="C#" Value="public PropertyInfo GetProperty(string name, Type returnType, Type[] types);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.PropertyInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="returnType" Type="System.Type"/>
						<Parameter Name="types" Type="System.Type[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.PropertyInfo"/> object that reflects the public property
   defined in the type represented by the current instance that matches the specified search
   criteria.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the public property to be returned.</param>
						<param name=" returnType">A <see cref="T:System.Type"/> object that represents the type of the public property to be returned.</param>
						<param name="types">
							<para>An array of <see cref="T:System.Type"/> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the indexer to be returned. Specify <see cref="F:System.Type.EmptyTypes"/> for a property that is not indexed.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Reflection.PropertyInfo"/> object
   reflecting the public property defined in the type represented by
   the current instance that matches the specified criteria. If no matching property is
   found, returns <see langword="null"/> . </para>
						</returns>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one property matching the specified criteria was found.</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="name"/> or <paramref name="types"/> is <see langword="null"/>, or at least one of the elements in <paramref name="types"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="types"/> has more than one dimension.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])"/> is equivalent to <see cref="M:System.Type.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])"/>(<paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Static"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/> | <see cref="F:System.Reflection.BindingFlags.Public"/>,
<see langword="null"/>, <paramref name="returnTypes"/>, <paramref name="types"/>, 
<see langword="null"/>).</para>
							<para>The search for <paramref name="name"/> is case-sensitive.</para>
							<para>Different programming languages use different syntax to 
   specify indexed properties. Internally, this property is referred to by the name
   "Item" in the metadata. Therefore, any attempt to retrieve an indexed
   property using reflection is required to
   specify this internal name in order for the <see langword="PropertyInfo"/> to be returned correctly.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetProperty">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.PropertyInfo GetProperty(string name, class System.Type[] types)"/>
					<MemberSignature Language="C#" Value="public PropertyInfo GetProperty(string name, Type[] types);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.PropertyInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="types" Type="System.Type[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.PropertyInfo"/> object that reflects the public property defined
   in the type represented by the current instance that matches the specified search
   criteria.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the public property to be returned.</param>
						<param name="types">
							<para>An array of <see cref="T:System.Type"/> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the indexer to be returned. Specify <see cref="F:System.Type.EmptyTypes"/> to obtain a property that is not indexed.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Reflection.PropertyInfo"/> object reflecting the public property defined
   on the type represented by the current instance that matches the specified
   criteria. If no matching property is found, returns <see langword="null"/> .</para>
						</returns>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one property matching the specified criteria was found.</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="name"/> or <paramref name="types"/> is <see langword="null"/>, or at least one of the elements in <paramref name="types"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="types"/> has more than one dimension.</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])"/> is equivalent to <see cref="M:System.Type.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])"/>(<paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Static"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/> | <see cref="F:System.Reflection.BindingFlags.Public"/>,
<see langword="null"/>, <see langword="null"/>, <paramref name="types"/>, 
<see langword="null"/>).</para>
							<para>The search for <paramref name="name"/> is case-sensitive.</para>
							<para>Different programming languages use different syntax to 
   specify indexed properties. Internally, this property is referred to by the name
   "Item" in the metadata. Therefore, any attempt to retrieve an indexed property
   using reflection is required to
   specify this internal name in order for the <see langword="PropertyInfo"/> to be returned correctly.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetProperty">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.PropertyInfo GetProperty(string name, class System.Type returnType)"/>
					<MemberSignature Language="C#" Value="public PropertyInfo GetProperty(string name, Type returnType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.PropertyInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="returnType" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.PropertyInfo"/> 
object that reflects the public property defined in the type represented by the current
instance that matches the specified search criteria.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the property to be returned.</param>
						<param name=" returnType">A <see cref="T:System.Type"/> object that represents the type of the property to be returned.</param>
						<returns>
							<para>A <see cref="T:System.Reflection.PropertyInfo"/> object reflecting the public property defined 
   on the type represented by the current instance that matches the specified
   criteria. If no matching property is found, returns <see langword="null"/> .</para>
						</returns>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one property matching the specified criteria was found.</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="name"/> is <see langword="null"/>.</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])"/> is equivalent to <see cref="M:System.Type.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])"/>(<paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Static"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/> | <see cref="F:System.Reflection.BindingFlags.Public"/>,
<see langword="null"/>, <paramref name="returnType"/>, <see langword="null"/>, 
<see langword="null"/>).</para>
							<para>The search for <paramref name="name"/> is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetProperty">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Reflection.PropertyInfo GetProperty(string name)"/>
					<MemberSignature Language="C#" Value="public PropertyInfo GetProperty(string name);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.PropertyInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.PropertyInfo"/> object that reflects the public
   property defined in the type represented by the current instance that has the specified
   name.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the property to be returned.</param>
						<returns>
							<para>A <see cref="T:System.Reflection.PropertyInfo"/> object reflecting the public property defined 
   on the type represented by the current instance that has the specified name. If
   no matching property is found, returns <see langword="null"/> . </para>
						</returns>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one property matching the specified criteria was found.</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="name"/> is <see langword="null"/>.</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])"/> is equivalent to <see cref="M:System.Type.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])"/>(<paramref name="name"/>, <see cref="F:System.Reflection.BindingFlags.Static"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/> | <see cref="F:System.Reflection.BindingFlags.Public"/>,
<see langword="null"/>, <see langword="null"/>, <see langword="null"/>, 
<see langword="null"/>).</para>
							<para>The search for <paramref name="name"/> is case-sensitive.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetProperty">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual class System.Reflection.PropertyInfo GetProperty(string name, valuetype System.Reflection.BindingFlags bindingAttr)"/>
					<MemberSignature Language="C#" Value="public PropertyInfo GetProperty(string name, BindingFlags bindingAttr);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.PropertyInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.PropertyInfo"/> object that reflects the property defined
   in the type represented by the current instance that matches the specified search
   criteria.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the property to be returned.</param>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns <see langword="null"/> . </para>
						</param>
						<returns>
							<para>A <see cref="T:System.Reflection.PropertyInfo"/>
object reflecting the property defined in the type represented by
the current instance that matches the specified criteria. If no matching property is
found, returns <see langword="null"/> . If the type reflected by the current
instance is contained in a loaded assembly, the property that matches the
specified criteria is not public, and the caller does not have sufficient
permission, returns <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one property matching the specified criteria was found.</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="name"/> is <see langword="null"/>.</para>
						</exception>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   members to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public members in
      the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public members
      (that is, private and protected members) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> values can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the members 
      declared in the type, not members that were simply inherited.</term>
								</item>
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.IgnoreCase"/> to ignore the case of
   <paramref name="name"/>.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
							<para>This version of <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])"/> is equivalent to <see cref="M:System.Type.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])"/>(<paramref name="name"/>, <paramref name="bindingAttr"/>,
<see langword="null"/>, <see langword="null"/>, <see langword="null"/>, 
<see langword="null"/>).</para>
							<para>The search for <paramref name="name"/> is case-sensitive.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetProperty">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual class System.Reflection.PropertyInfo GetProperty(string name, valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.Binder binder, class System.Type returnType, class System.Type[] types, class System.Reflection.ParameterModifier[] modifiers)"/>
					<MemberSignature Language="C#" Value="public PropertyInfo GetProperty(string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.PropertyInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
						<Parameter Name="binder" Type="System.Reflection.Binder"/>
						<Parameter Name="returnType" Type="System.Type"/>
						<Parameter Name="types" Type="System.Type[]"/>
						<Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Reflection.PropertyInfo"/> object that reflects the property
   defined in the type represented by the current instance that matches the specified search
   criteria .</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the property to be returned.</param>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns <see langword="null"/> . </para>
						</param>
						<param name="binder">
							<para>A <see cref="T:System.Reflection.Binder"/> object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify <see langword="null"/> to use the <see cref="P:System.Type.DefaultBinder"/> .</para>
						</param>
						<param name=" returnType">A <see cref="T:System.Type"/> object that represents the type of the property to be returned.</param>
						<param name="types">
							<para>An array of <see cref="T:System.Type"/> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the indexer to be returned. Specify <see cref="F:System.Type.EmptyTypes"/> to obtain a property that is not indexed.</para>
						</param>
						<param name="modifiers">The only defined value for this parameter is <see langword="null"/> .</param>
						<returns>
							<para>A <see cref="T:System.Reflection.PropertyInfo"/> object
   reflecting the property that is defined in the type represented by the
   current instance and matches the specified criteria. If no matching property is
   found, returns <see langword="null"/> . If the type reflected by the current
   instance is contained in a loaded assembly, the property that matches the
   specified criteria is not public, and the caller does not have sufficient
   permission, returns <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one property matching the specified criteria was found.</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="name"/> or <paramref name="types"/> is <see langword="null"/>, or at least one of the elements in <paramref name="types"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="types"/> has more than one dimension.</para>
						</exception>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   members to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public members in
      the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public members
      (that is, private and protected members) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> values can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the members 
      declared in the type, not members that were simply inherited.</term>
								</item>
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.IgnoreCase"/> to ignore the case of
   <paramref name="name"/>.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
							<para>This version of <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])"/> is equivalent to <see cref="M:System.Type.GetPropertyImpl(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])"/>(<paramref name="name"/>, <paramref name="bindingAttr"/>, <paramref name="binder"/>,
<paramref name="returnType"/>, <paramref name="types"/>, <paramref name="modifiers"/>).</para>
							<para>The search for <paramref name="name"/> is case-sensitive.</para>
							<para> Different programming languages use different syntax to
   specify indexed properties. Internally, this property is referred to by the name
   "Item" in the metadata. Therefore, any attempt to retrieve an indexed property
   using reflection is required to specify this internal
   name in order for the <see langword="PropertyInfo"/> to be returned correctly.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetPropertyImpl">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract class System.Reflection.PropertyInfo GetPropertyImpl(string name, valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.Binder binder, class System.Type returnType, class System.Type[] types, class System.Reflection.ParameterModifier[] modifiers)"/>
					<MemberSignature Language="C#" Value="protected abstract PropertyInfo GetPropertyImpl(string name, BindingFlags bindingAttr, Binder binder, Type returnType, Type[] types, ParameterModifier[] modifiers);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.PropertyInfo</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags"/>
						<Parameter Name="binder" Type="System.Reflection.Binder"/>
						<Parameter Name="returnType" Type="System.Type"/>
						<Parameter Name="types" Type="System.Type[]"/>
						<Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>When overridden in a derived class implements the 
   <see cref="M:System.Type.GetProperty(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Type,System.Type[],System.Reflection.ParameterModifier[])"/> 
   method and returns a <see cref="T:System.Reflection.PropertyInfo"/> object that reflects the property defined
   in the type represented by the current instance that matches the specified search
   criteria.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the name of the property to be returned.</param>
						<param name="bindingAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, this method returns <see langword="null"/> . </para>
						</param>
						<param name="binder">
							<para>A <see cref="T:System.Reflection.Binder"/> object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify <see langword="null"/> to use the <see cref="P:System.Type.DefaultBinder"/> .</para>
						</param>
						<param name=" returnType">A <see cref="T:System.Type"/> object that represents the type of the property to be returned.</param>
						<param name="types">
							<para>An array of <see cref="T:System.Type"/> objects. The elements in the array are of the same number, in the same order, and represent the same types as the parameters for the indexer to be returned. Specify <see cref="F:System.Type.EmptyTypes"/> to obtain a property that is not indexed.</para>
						</param>
						<param name="modifiers">The only defined value for this parameter is <see langword="null"/> .</param>
						<returns>
							<para>A <see cref="T:System.Reflection.PropertyInfo"/> object representing the property that matches the
   specified search criteria, if found; otherwise, <see langword="null"/>. If the type reflected by the current
   instance is from a loaded assembly, the matching property is not
   public, and the caller does not have permission to reflect on non-public
   objects in loaded assemblies, returns <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one property matching the specified criteria was found.</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="name"/> or <paramref name="types"/> is <see langword="null"/>, or at least one of the elements in <paramref name="types"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="types"/> has more than one dimension.</para>
						</exception>
						<remarks>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
   members to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public members in
      the search.</term>
								</item>
								<item>
									<term>
      
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public members
      (that is, private and protected members) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> values can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the members 
      declared in the type, not members that were simply inherited.</term>
								</item>
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.IgnoreCase"/> to ignore the case of
   <paramref name="name"/>.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
							<para>
								<block subset="none" type="behaviors"> Different
   programming languages use different syntax to specify indexed properties.
   Internally, this property is referred to by the name "Item" in the metadata.
   Therefore, any attempt to retrieve an indexed property using reflection is required to
   specify this internal name in order for the <see langword="PropertyInfo"/> to be returned correctly.
</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetType">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Type GetType(string typeName, bool throwOnError, bool ignoreCase)"/>
					<MemberSignature Language="C#" Value="public static Type GetType(string typeName, bool throwOnError, bool ignoreCase);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="typeName" Type="System.String"/>
						<Parameter Name="throwOnError" Type="System.Boolean"/>
						<Parameter Name="ignoreCase" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the <see cref="T:System.Type"/>
with the specified name, optionally performing a case-sensitive search
and throwing an exception if an error occurs while loading the <see cref="T:System.Type"/>.</para>
						</summary>
						<param name="typeName">A <see cref="T:System.String"/> containing the name of the <see cref="T:System.Type"/> to return.</param>
						<param name="throwOnError">
							<para> A <see cref="T:System.Boolean"/>. Specify <see langword="true"/> to throw a <see cref="T:System.TypeLoadException"/> if an error occurs while loading the <see cref="T:System.Type"/>. Specify <see langword="false"/> to ignore errors while loading the <see cref="T:System.Type"/>.</para>
						</param>
						<param name="ignoreCase">
							<para> A <see cref="T:System.Boolean"/>. Specify<see langword=" true"/> to perform a case-insensitive search for <paramref name="typeName."/> Specify <see langword="false"/> to perform a case-sensitive search for <paramref name="typeName"/> .</para>
						</param>
						<returns>
							<para>The <see cref="T:System.Type"/> with the specified name, if found; otherwise, <see langword="null"/>. If the
   requested type is non-public and the caller does not have permission to reflect non-public objects
   outside the current assembly, this method returns <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="typeName"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.Reflection.TargetInvocationException">A type initializer was invoked and threw an exception.</exception>
						<exception cref="T:System.TypeLoadException">
							<paramref name="throwOnError"/> is <see langword="true"/> and an error was encountered while loading the selected <see cref="T:System.Type"/>.</exception>
						<remarks>
							<para>
								<paramref name="typeName"/> can be a simple
   type name, a fully qualified name, or a complex name that includes an assembly
   name. <block subset="none" type="note">
									<see cref="P:System.Type.AssemblyQualifiedName"/>
   returns a fully qualified type name including nested types
   and the assembly name. </block>
							</para>
							<para>If <paramref name="typeName"/> includes only the name of the <see cref="T:System.Type"/>, this method searches in the
calling object's assembly, then in the mscorlib.dll assembly. If
<paramref name="typeName"/> 
is fully qualified with the partial or complete assembly name, this
method searches in the specified assembly.</para>
							<block subset="none" type="note">
								<para>
									<see langword=""/>
								</para>
								<para> The following table shows calls to
<see langword="GetType"/> for various types.</para>
								<list type="table">
									<listheader>
										<term>To Get</term>
										<description>Use</description>
									</listheader>
									<item>
										<term> An
         unmanaged pointer to <see langword="MyType"/>
										</term>
										<description>
											<c>Type.GetType("MyType*")</c>
										</description>
									</item>
									<item>
										<term> An
         unmanaged pointer to a pointer to <see langword="MyType"/>
										</term>
										<description>
											<c>Type.GetType("MyType**")</c>
										</description>
									</item>
									<item>
										<term> A
         managed pointer
         or
         reference to <see langword="MyType"/>
										</term>
										<description>
											<c>Type.GetType("MyType&amp;")</c>. Note that unlike pointers, references are
      limited to one level.</description>
									</item>
									<item>
										<term> A parent class and a nested class</term>
										<description>
											<c>Type.GetType("MyParentClass+MyNestedClass")</c>
										</description>
									</item>
									<item>
										<term> A one-dimensional array with a lower bound of 0</term>
										<description>
											<c>Type.GetType("MyArray[]")</c>
										</description>
									</item>
									<item>
										<term> A one-dimensional array with an unknown lower bound</term>
										<description>
											<c>Type.GetType("MyArray[*]")</c>
										</description>
									</item>
									<item>
										<term> An n-dimensional array</term>
										<description>A comma (,) inside the brackets a total of n-1
      times. For example, <c>System.Object[,,]</c> represents a three-dimensional
<see langword="Object"/> 
array.</description>
									</item>
									<item>
										<term> A
      two-dimensional array's array</term>
										<description>
											<c>Type.GetType("MyArray[][]")</c>
										</description>
									</item>
									<item>
										<term> A rectangular two-dimensional array with unknown lower bounds</term>
										<description>
											<c>Type.GetType("MyArray[*,*]")</c>or <c>Type.GetType("MyArray[,]")</c>
										</description>
									</item>
								</list>
							</block>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetType">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Type GetType(string typeName, bool throwOnError)"/>
					<MemberSignature Language="C#" Value="public static Type GetType(string typeName, bool throwOnError);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="typeName" Type="System.String"/>
						<Parameter Name="throwOnError" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the <see cref="T:System.Type"/> with the specified name, optionally throwing an
   exception if an error occurs while loading the <see cref="T:System.Type"/> .</para>
						</summary>
						<param name="typeName">A <see cref="T:System.String"/> containing the case-sensitive name of the <see cref="T:System.Type"/> to return.</param>
						<param name="throwOnError">
							<para>A <see cref="T:System.Boolean"/>. Specify <see langword="true"/> to throw a <see cref="T:System.TypeLoadException"/> if an error occurs while loading the <see cref="T:System.Type"/>. Specify <see langword="false"/> to ignore errors while loading the <see cref="T:System.Type"/>.</para>
						</param>
						<returns>
							<para>The <see cref="T:System.Type"/> with the specified name, if found; otherwise, <see langword="null"/> . If the
   requested type is non-public and the caller does not have permission to reflect non-public objects
   outside the current assembly, this method returns <see langword="null"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="typeName"/> is <see langword="null"/>. </exception>
						<exception cref="T:System.Reflection.TargetInvocationException">A type initializer was invoked and threw an exception.</exception>
						<exception cref="T:System.TypeLoadException">
							<paramref name="throwOnError"/> is <see langword="true"/> and an error was encountered while loading the <see cref="T:System.Type"/>.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)"/>(<paramref name="name"/>, <paramref name="throwOnError"/>, 
<see langword="false"/>).</para>
							<para>
								<paramref name="typeName"/> can be a simple
type name, a fully qualified name, or a complex name that includes an assembly
name specification. If <paramref name="typeName"/> includes only the name of the <see cref="T:System.Type"/>, this method searches in the
calling object's assembly, then in the mscorlib.dll assembly. If
<paramref name="typeName"/> 
is fully qualified with the partial or complete assembly name, this method
searches in the specified assembly.</para>
							<para>
								<block subset="none" type="note">
									<see cref="P:System.Type.AssemblyQualifiedName"/> can return a fully
qualified type name including nested types and the assembly name. For complete
details, see <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)"/>(<see cref="T:System.String"/>, <see cref="T:System.Boolean"/>, <see cref="T:System.Boolean"/>). </block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public objects. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" qualify="true"/>
						</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetType">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Type GetType(string typeName)"/>
					<MemberSignature Language="C#" Value="public static Type GetType(string typeName);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="typeName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the <see cref="T:System.Type"/> with the specified name.</para>
						</summary>
						<param name="typeName">A <see cref="T:System.String"/> containing the case-sensitive name of the <see cref="T:System.Type"/> to return.</param>
						<returns>
							<para>The <see cref="T:System.Type"/> with the specified name, if found; otherwise, <see langword="null"/>. If the
   requested type is non-public and the caller does not have permission to reflect
   non-public objects outside the current assembly, this method returns
<see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="typeName"/> is <see langword="null"/>. </exception>
						<exception cref="T:System.Reflection.TargetInvocationException">A type initializer was invoked and threw an exception.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)"/>(<paramref name="name"/>, <see langword="false"/>,
<see langword="false"/>).</para>
							<para>
								<paramref name="typeName"/> can be a simple
type name, a type name that includes a namespace, or a complex name that
includes an assembly name specification. If <paramref name="typeName"/> includes only the name of the <see cref="T:System.Type"/>, this method
searches in the calling object's assembly, then in the mscorlib.dll assembly. If
<paramref name="typeName"/> 
is fully qualified with the partial or complete assembly name, this method
searches in the specified assembly.</para>
							<para>
								<block subset="none" type="note">
									<see cref="P:System.Type.AssemblyQualifiedName"/> can return a fully qualified type name including
   nested types and the assembly name. For complete details, see <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)"/>(<see cref="T:System.String"/>, <see cref="T:System.Boolean"/>, <see cref="T:System.Boolean"/>).</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetTypeArray">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Type[] GetTypeArray(class System.Object[] args)"/>
					<MemberSignature Language="C#" Value="public static Type[] GetTypeArray(object[] args);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="args" Type="System.Object[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the types of the objects in the specified array.
      </para>
						</summary>
						<param name="args">An array of objects whose types are to be returned. </param>
						<returns>
							<para> An array of <see cref="T:System.Type"/> objects representing the types of the corresponding
   elements in <paramref name="args"/>. If a requested type is not public
   and the caller does not have permission to
   reflect non-public objects outside the current assembly, the corresponding element in the
   array returned by this method will be <see langword="null"/>.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="args"/> is <see langword="null"/>. </exception>
						<exception cref="T:System.Reflection.TargetInvocationException">The type initializers were invoked and at least one threw an exception. </exception>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="GetTypeFromHandle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Type GetTypeFromHandle(valuetype System.RuntimeTypeHandle handle)"/>
					<MemberSignature Language="C#" Value="public static Type GetTypeFromHandle(RuntimeTypeHandle handle);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="handle" Type="System.RuntimeTypeHandle"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Gets the <see cref="T:System.Type"/> referenced by the specified type handle.</para>
						</summary>
						<param name="handle">The <see cref="T:System.RuntimeTypeHandle"/> object that refers to the desired <see cref="T:System.Type"/>.</param>
						<returns>
							<para>The <see cref="T:System.Type"/> referenced by the specified <see cref="T:System.RuntimeTypeHandle"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="handle"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.Security.SecurityException">The requested type is non-public and outside the current assembly, and the caller does not have the required permission.</exception>
						<exception cref="T:System.Reflection.TargetInvocationException">A type initializer was invoked and threw an exception.</exception>
						<remarks>
							<para>The handles are valid only in the application domain in which they were obtained. </para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public objects. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" qualify="true"/>
						</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName="GetTypeHandle">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.RuntimeTypeHandle GetTypeHandle(object o)"/>
					<MemberSignature Language="C#" Value="public static RuntimeTypeHandle GetTypeHandle(object o);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.RuntimeTypeHandle</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="o" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the handle for the <see cref="T:System.Type"/> of the specified object.</para>
						</summary>
						<param name="o">The object for which to get the type handle.</param>
						<returns>
							<para>The <see cref="T:System.RuntimeTypeHandle"/> for the <see cref="T:System.Type"/> of the specified <see cref="T:System.Object"/>.</para>
						</returns>
						<remarks>
							<para>The handle is valid only in the application domain in which it was obtained. </para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName="HasElementType">
					<MemberSignature Language="ILASM" Value=".property bool HasElementType { public hidebysig specialname instance bool get_HasElementType() }"/>
					<MemberSignature Language="C#" Value="public bool HasElementType { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the type represented by the 
   current instance encompasses or refers
   to another type; that is, whether the current <see cref="T:System.Type"/> is an array, a pointer, or is passed by reference.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is an array, a pointer, or is passed by reference; otherwise, <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">For example, <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)"/>("<see cref="T:System.Int32"/> []").HasElementType returns
<see langword="true"/>, but <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)"/>("<see cref="T:System.Int32"/> ").HasElementType returns
<see langword="false"/>. <see cref="P:System.Type.HasElementType"/> also returns
<see langword="true"/> for "Int32*" and "Int32&amp;".</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="HasElementTypeImpl">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract bool HasElementTypeImpl()"/>
					<MemberSignature Language="C#" Value="protected abstract bool HasElementTypeImpl();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>When overridden in a derived class, implements the <see cref="P:System.Type.HasElementType"/> property and
   determines whether the current <see cref="T:System.Type"/> encompasses or
   refers to another type; that is,
   whether the current <see cref="T:System.Type"/> is an array, a pointer, or is passed by
   reference.</para>
						</summary>
						<returns>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is an array, a pointer, or is passed by reference; otherwise, <see langword="false"/>. </para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">For example, 
   <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)"/> ("System.Int32[]").HasElementTypeImpl returns
   <see langword="true"/>, but <see cref="M:System.Type.GetType(System.String,System.Boolean,System.Boolean)"/> ("System.Int32").HasElementTypeImpl returns
   <see langword="false"/>. <see cref="M:System.Type.HasElementTypeImpl"/> also returns <see langword="true"/> for "System.Int32*" and "System.Int32&amp;".</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="InvokeMember">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance object InvokeMember(string name, valuetype System.Reflection.BindingFlags invokeAttr, class System.Reflection.Binder binder, object target, class System.Object[] args, class System.Globalization.CultureInfo culture)"/>
					<MemberSignature Language="C#" Value="public object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, CultureInfo culture);"/>
					<MemberType>Method</MemberType>
					<Attributes/>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="invokeAttr" Type="System.Reflection.BindingFlags"/>
						<Parameter Name="binder" Type="System.Reflection.Binder"/>
						<Parameter Name="target" Type="System.Object"/>
						<Parameter Name="args" Type="System.Object[]"/>
						<Parameter Name="culture" Type="System.Globalization.CultureInfo"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Invokes the specified member, using the specified binding constraints
      and matching the specified argument list and culture.</para>
						</summary>
						<param name="name">
							<para>A <see cref="T:System.String"/> containing the name of the constructor or method to invoke, or property or field to access. If the type represented by the current instance has a default member, specify <see cref="F:System.String.Empty"/> to invoke that member. <block subset="none" type="note">For more information on default members, see <see cref="T:System.Reflection.DefaultMemberAttribute"/> .</block>
							</para>
						</param>
						<param name="invokeAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, <see cref="F:System.Reflection.BindingFlags.Public"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/> is used by default. </para>
						</param>
						<param name="binder">
							<para>A <see cref="T:System.Reflection.Binder"/> object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify <see langword="null"/> to use the <see cref="P:System.Type.DefaultBinder"/> .</para>
						</param>
						<param name="target">A <see cref="T:System.Object"/> on which to invoke the member that matches the other specified criteria. If the matching member is <see langword="static"/> , this parameter is ignored.</param>
						<param name="args">An array of objects containing the arguments to pass to the member to be invoked. The elements of this array are of the same number and in the same order by assignment-compatible type as specified by the contract of the member to be bound. Specify an empty array or <see langword="null"/> for a member that has no parameters.</param>
						<param name="culture">
							<para>The only defined value for this parameter is <see langword="null"/> .</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Object"/>
containing the return value of the invoked member. If the invoked member does
not have a return value, returns a <see cref="T:System.Object"/> containing <see cref="T:System.Void"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="n"/>
								<paramref name="ame"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="args"/> has more than one dimension.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> is not a valid <see cref="T:System.Reflection.BindingFlags"/> value.</para>
							<para>-or-</para>
							<para>The member to be invoked is a constructor and <see cref="F:System.Reflection.BindingFlags.CreateInstance"/> is not specified in <paramref name="invokeAttr"/>.</para>
							<para>-or-</para>
							<para>The member to be invoked is a method that is not a type initializer or instance constructor, and <see cref="F:System.Reflection.BindingFlags.InvokeMethod"/> is not specified in <paramref name="invokeAttr"/>.</para>
							<para>-or-</para>
							<para>The member to be accessed is a field, and neither <see cref="F:System.Reflection.BindingFlags.GetField"/> nor <see cref="F:System.Reflection.BindingFlags.SetField"/> is specified in <paramref name="invokeAttr"/>.</para>
							<para>-or-</para>
							<para>The member to be accessed is a property, and neither <see cref="F:System.Reflection.BindingFlags.GetProperty"/> nor <see cref="F:System.Reflection.BindingFlags.SetProperty"/> is specified in <paramref name="invokeAttr"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains <see cref="F:System.Reflection.BindingFlags.CreateInstance"/> and at least one of <see cref="F:System.Reflection.BindingFlags.InvokeMethod"/>, <see cref="F:System.Reflection.BindingFlags.GetField"/>, <see cref="F:System.Reflection.BindingFlags.SetField"/>, <see cref="F:System.Reflection.BindingFlags.GetProperty"/>, or <see cref="F:System.Reflection.BindingFlags.SetProperty"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains both <see cref="F:System.Reflection.BindingFlags.GetField"/> and <see cref="F:System.Reflection.BindingFlags.SetField"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains both <see cref="F:System.Reflection.BindingFlags.GetProperty"/> and <see cref="F:System.Reflection.BindingFlags.SetProperty"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains <see cref="F:System.Reflection.BindingFlags.InvokeMethod"/>and at least one of <see cref="F:System.Reflection.BindingFlags.SetField"/> or <see cref="F:System.Reflection.BindingFlags.SetProperty"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains <see cref="F:System.Reflection.BindingFlags.SetField"/> and <paramref name="args"/> has more than one element.</para>
						</exception>
						<exception cref="T:System.MissingFieldException">A field or property matching the specified criteria was not found.</exception>
						<exception cref="T:System.MissingMethodException">A method matching the specified criteria was not found.</exception>
						<exception cref="T:System.MethodAccessException">The requested member is non-public and the caller does not have the required permission.</exception>
						<exception cref="T:System.Reflection.TargetException">The member matching the specified criteria cannot be invoked on <paramref name="target"/>.</exception>
						<exception cref="T:System.Reflection.TargetInvocationException">The member matching the specified criteria threw an exception.</exception>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one member matches the specified criteria.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])"/> is equivalent to <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])"/>(
<paramref name="name"/>, <paramref name="invokeAttr"/>, <paramref name="binder"/>, <paramref name="target"/>, <paramref name="args"/>, 
<see langword="null"/>, <paramref name="culture"/>, <see langword="null"/> ). </para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
						<example>
							<para> For an example that demonstrates
   <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])"/> , see <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])"/>(
   <see cref="T:System.String"/>, <see cref="T:System.Reflection.BindingFlags"/>,
   <see cref="T:System.Reflection.Binder"/>, <see cref="T:System.Object"/>, <see cref="T:System.Object"/>[], <see cref="T:System.Reflection.ParameterModifier"/>[], <see cref="T:System.Globalization.CultureInfo"/>, <see cref="T:System.String"/>[]).
      </para>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="InvokeMember">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance object InvokeMember(string name, valuetype System.Reflection.BindingFlags invokeAttr, class System.Reflection.Binder binder, object target, class System.Object[] args)"/>
					<MemberSignature Language="C#" Value="public object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args);"/>
					<MemberType>Method</MemberType>
					<Attributes/>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="invokeAttr" Type="System.Reflection.BindingFlags"/>
						<Parameter Name="binder" Type="System.Reflection.Binder"/>
						<Parameter Name="target" Type="System.Object"/>
						<Parameter Name="args" Type="System.Object[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Invokes the specified member, using the specified binding constraints and
      matching the specified argument list.</para>
						</summary>
						<param name="name">
							<para>A <see cref="T:System.String"/> containing the name of the constructor or method to invoke, or property or field to access. If the type represented by the current instance has a default member, specify <see cref="F:System.String.Empty"/> to invoke that member. <block subset="none" type="note">For more information on default members, see <see cref="T:System.Reflection.DefaultMemberAttribute"/> .</block>
							</para>
						</param>
						<param name="invokeAttr">A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, <see cref="F:System.Reflection.BindingFlags.Public"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/> is used by default.</param>
						<param name="binder">
							<para>A <see cref="T:System.Reflection.Binder"/> object that defines a set of properties and enables the binding, coercion of argument types, and invocation of members using reflection. Specify <see langword="null"/> to use the <see cref="P:System.Type.DefaultBinder"/> .</para>
						</param>
						<param name="target">A <see cref="T:System.Object"/> on which to invoke the member that matches the other specified criteria. If the matching member is <see langword="static"/> , this parameter is ignored.</param>
						<param name="args">An array of objects containing the arguments to pass to the member to be invoked. The elements of this array are of the same number and in the same order by assignment-compatible type as specified by the contract of the member to be bound. Specify an empty array or <see langword="null"/> for a member that has no parameters.</param>
						<returns>
							<para>A <see cref="T:System.Object"/>
containing the return value of the invoked member. If the invoked member does
not have a return value, returns a <see cref="T:System.Object"/> containing <see cref="T:System.Void"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="name"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="args"/> has more than one dimension.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> is not a valid <see cref="T:System.Reflection.BindingFlags"/> value.</para>
							<para>-or-</para>
							<para>The member to be invoked is a constructor and <see cref="F:System.Reflection.BindingFlags.CreateInstance"/> is not specified in <paramref name="invokeAttr"/>.</para>
							<para>-or-</para>
							<para>The member to be invoked is a method that is not a type initializer or instance constructor, and <see cref="F:System.Reflection.BindingFlags.InvokeMethod"/> is not specified in <paramref name="invokeAttr"/>.</para>
							<para>-or-</para>
							<para>The member to be accessed is a field, and neither <see cref="F:System.Reflection.BindingFlags.GetField"/> nor <see cref="F:System.Reflection.BindingFlags.SetField"/> is specified in <paramref name="invokeAttr"/>.</para>
							<para>-or-</para>
							<para>The member to be accessed is a property, and neither <see cref="F:System.Reflection.BindingFlags.GetProperty"/> nor <see cref="F:System.Reflection.BindingFlags.SetProperty"/> is specified in <paramref name="invokeAttr"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains <see cref="F:System.Reflection.BindingFlags.CreateInstance"/> and at least one of <see cref="F:System.Reflection.BindingFlags.InvokeMethod"/>, <see cref="F:System.Reflection.BindingFlags.GetField"/>, <see cref="F:System.Reflection.BindingFlags.SetField"/>, <see cref="F:System.Reflection.BindingFlags.GetProperty"/>, or <see cref="F:System.Reflection.BindingFlags.SetProperty"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains both <see cref="F:System.Reflection.BindingFlags.GetField"/> and <see cref="F:System.Reflection.BindingFlags.SetField"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains both <see cref="F:System.Reflection.BindingFlags.GetProperty"/> and <see cref="F:System.Reflection.BindingFlags.SetProperty"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains <see cref="F:System.Reflection.BindingFlags.InvokeMethod"/> and at least one of <see cref="F:System.Reflection.BindingFlags.SetField"/> or <see cref="F:System.Reflection.BindingFlags.SetProperty"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains <see cref="F:System.Reflection.BindingFlags.SetField"/> and <paramref name="args"/> has more than one element.</para>
						</exception>
						<exception cref="T:System.MissingFieldException">A field or property matching the specified criteria was not found.</exception>
						<exception cref="T:System.MissingMethodException">A method matching the specified criteria cannot be found.</exception>
						<exception cref="T:System.MethodAccessException">The requested member is non-public and the caller does not have the required permission.</exception>
						<exception cref="T:System.Reflection.TargetException">The member matching the specified criteria cannot be invoked on <paramref name="target"/>.</exception>
						<exception cref="T:System.Reflection.TargetInvocationException">The member matching the specified criteria threw an exception.</exception>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one member matches the specified criteria.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])"/> is equivalent to <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])"/>(<paramref name="name"/>, <paramref name="invokeAttr"/>, <paramref name="binder"/>,
<paramref name="target"/>, <paramref name="args"/>, <see langword="null"/>, <see langword="null"/>, 
<see langword="null"/>).</para>
							<para>
								<block subset="none" type="note">For a demonstration of the use of
<see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])"/>, see the example for <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])"/>( 
<see cref="T:System.String"/>, <see cref="T:System.Reflection.BindingFlags"/>, 
<see cref="T:System.Reflection.Binder"/>, <see cref="T:System.Object"/>, <see cref="T:System.Object"/>[], <see cref="T:System.Reflection.ParameterModifier"/>[], <see cref="T:System.Globalization.CultureInfo"/>, <see cref="T:System.String"/>[]).</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="InvokeMember">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract object InvokeMember(string name, valuetype System.Reflection.BindingFlags invokeAttr, class System.Reflection.Binder binder, object target, class System.Object[] args, class System.Reflection.ParameterModifier[] modifiers, class System.Globalization.CultureInfo culture, class System.String[] namedParameters)"/>
					<MemberSignature Language="C#" Value="public abstract object InvokeMember(string name, BindingFlags invokeAttr, Binder binder, object target, object[] args, ParameterModifier[] modifiers, CultureInfo culture, string[] namedParameters);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="invokeAttr" Type="System.Reflection.BindingFlags"/>
						<Parameter Name="binder" Type="System.Reflection.Binder"/>
						<Parameter Name="target" Type="System.Object"/>
						<Parameter Name="args" Type="System.Object[]"/>
						<Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]"/>
						<Parameter Name="culture" Type="System.Globalization.CultureInfo"/>
						<Parameter Name="namedParameters" Type="System.String[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Invokes or
      accesses a member defined on the type represented by the current instance
      that matches the specified binding criteria.</para>
						</summary>
						<param name="name">
							<para>A <see cref="T:System.String"/> containing the name of the constructor or method to invoke, or property or field to access. If the type represented by the current instance has a default member, specify <see cref="F:System.String.Empty"/> to invoke that member. <block subset="none" type="note">For more information on default members, see <see cref="T:System.Reflection.DefaultMemberAttribute"/> .</block>
							</para>
						</param>
						<param name="invokeAttr">
							<para>A bitwise combination of <see cref="T:System.Reflection.BindingFlags"/> values that control the binding process. If zero is specified, <see cref="F:System.Reflection.BindingFlags.Public"/> | <see cref="F:System.Reflection.BindingFlags.Instance"/> is used by default.<SPAN/>
							</para>
						</param>
						<param name="binder">A <see cref="T:System.Reflection.Binder"/> that defines a set of properties, and enables the binding, coercion of argument types, and invocation of members using reflection. Specify <see langword="null"/> to use<see cref="M:System.Type.DefaultBinder"/>.</param>
						<param name="target">A <see cref="T:System.Object"/> on which to invoke the member that matches the other specified criteria. If the matching member is <see langword="static"/> , this parameter is ignored.</param>
						<param name="args">An array of objects containing the arguments to pass to the member to be invoked. The elements of this array are of the same number and in the same order by assignment-compatible type as specified by the contract of the member to be bound if and only if <paramref name="nameParameters"/> is <see langword="null"/>. If <paramref name="namedParameters"/> is not <see langword="null"/>, the order of the elements in <paramref name="args"/> corresponds to the order of the parameters specified in <paramref name="namedParameters"/>. Specify an empty array or <see langword="null"/> for a member that takes no parameters.</param>
						<param name="modifiers">
							<para>The only defined value for this parameter is <see langword="null"/> .</para>
						</param>
						<param name="culture">
							<para>The only defined value for this parameter is <see langword="null"/> .</para>
						</param>
						<param name="namedParameters">An array of <see cref="T:System.String"/> objects containing the names of the parameters to which the values in <paramref name="args"/> are passed. These names are processed in a case-sensitive manner and have a one-to-one correspondence with the elements of <paramref name="args"/>. Specify an empty array or <see langword="null"/> for a member that takes no parameters. Specify <see langword="null"/> to have this parameter ignored.</param>
						<returns>
							<para>A <see cref="T:System.Object"/>
containing the return value of the invoked or accessed member. If the member
does not have a return value, returns a <see cref="T:System.Object"/> containing <see cref="T:System.Void"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="name"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="args"/> has more than one dimension.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> is not a valid <see cref="T:System.Reflection.BindingFlags"/> value.</para>
							<para>-or-</para>
							<para>The member to be invoked is a constructor and <see cref="F:System.Reflection.BindingFlags.CreateInstance"/> is not specified in <paramref name="invokeAttr"/>.</para>
							<para>-or-</para>
							<para>The member to be invoked is a method that is not a type initializer or instance constructor, and <see cref="F:System.Reflection.BindingFlags.InvokeMethod"/> is not specified in <paramref name="invokeAttr"/>.</para>
							<para>-or-</para>
							<para>The member to be accessed is a field, and neither <see cref="F:System.Reflection.BindingFlags.GetField"/> nor <see cref="F:System.Reflection.BindingFlags.SetField"/> is specified in <paramref name="invokeAttr"/>.</para>
							<para>-or-</para>
							<para>The member to be accessed is a property, and neither <see cref="F:System.Reflection.BindingFlags.GetProperty"/> nor <see cref="F:System.Reflection.BindingFlags.SetProperty"/> is specified in <paramref name="invokeAttr"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains <see cref="F:System.Reflection.BindingFlags.CreateInstance"/> and at least one of <see cref="F:System.Reflection.BindingFlags.InvokeMethod"/>, <see cref="F:System.Reflection.BindingFlags.GetField"/>, <see cref="F:System.Reflection.BindingFlags.SetField"/>, <see cref="F:System.Reflection.BindingFlags.GetProperty"/>, or <see cref="F:System.Reflection.BindingFlags.SetProperty"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains both <see cref="F:System.Reflection.BindingFlags.GetField"/> and <see cref="F:System.Reflection.BindingFlags.SetField"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains both <see cref="F:System.Reflection.BindingFlags.GetProperty"/> and <see cref="F:System.Reflection.BindingFlags.SetProperty"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains <see cref="F:System.Reflection.BindingFlags.InvokeMethod"/> and at least one of <see cref="F:System.Reflection.BindingFlags.SetField"/> or <see cref="F:System.Reflection.BindingFlags.SetProperty"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="invokeAttr"/> contains <see cref="F:System.Reflection.BindingFlags.SetField"/> and <paramref name="args"/> has more than one element.</para>
							<para>-or-</para>
							<para>
								<paramref name="namedParameters"/>.Length &gt; <paramref name="args"/>.Length .</para>
							<para>-or-</para>
							<para>At least one element in <paramref name="namedParameters"/> is <see langword="null"/>.</para>
							<para>-or-</para>
							<para>At least one element in <paramref name="args"/> is not assignment-compatible with the corresponding parameter in <paramref name="namedParameters"/>.</para>
						</exception>
						<exception cref="T:System.MissingFieldException">A field or property matching the specified criteria was not found.</exception>
						<exception cref="T:System.MissingMethodException">A method matching the specified criteria cannot be found.</exception>
						<exception cref="T:System.MethodAccessException">The requested member is non-public and the caller does not have the required permission.</exception>
						<exception cref="T:System.Reflection.TargetException">The member matching the specified criteria cannot be invoked on <paramref name="target"/>.</exception>
						<exception cref="T:System.Reflection.TargetInvocationException">The member matching the specified criteria threw an exception.</exception>
						<exception cref="T:System.Reflection.AmbiguousMatchException">More than one member matches the specified criteria.</exception>
						<remarks>
							<para>
								<see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])"/> calls a constructor or a method , gets or sets a property , gets or sets a field, or gets or sets an element of an array.</para>
							<para> The binder finds all of the matching members. These
   members are found based upon the type of binding specified by <paramref name="invokeAttr"/> . The <see cref="M:System.Reflection.Binder.BindToMethod(System.Reflection.BindingFlags,System.Reflection.MethodBase[],System.Object[]@,System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[],System.Object@)" qualify="true"/> is
   responsible for selecting the method to be invoked. The default binder selects
   the most specific match. The set of members is then filtered by name, number of
   arguments, and a set of search modifiers defined in the binder. After the member is selected, it is invoked or accessed.
   Accessibility is checked at that point. Access restrictions are ignored for fully trusted code; that is, private constructors, methods, fields, and properties can be accessed and invoked via reflection whenever the code is fully trusted.</para>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> are used to define which
members to include in the search:</para>
							<list type="bullet">
								<item>
									<term>
      Specify either <see cref="F:System.Reflection.BindingFlags.Instance"/> or <see cref="F:System.Reflection.BindingFlags.Static"/>
      to get a return value other than <see langword="null"/>.</term>
								</item>
								<item>
									<term>
      Specify <see cref="F:System.Reflection.BindingFlags.Public"/> to include public members in
      the search.</term>
								</item>
								<item>
									<term>
      Specify <see cref="F:System.Reflection.BindingFlags.NonPublic"/> to include non-public members
      (that is, private and protected members) in the search.</term>
								</item>
							</list>
							<para>The following <see cref="T:System.Reflection.BindingFlags"/> values can be used to change how the
search works:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.DeclaredOnly"/> to search only the members 
      declared in the type, not members that were simply inherited.</term>
								</item>
								<item>
									<term>
										<see cref="F:System.Reflection.BindingFlags.IgnoreCase"/> to ignore the case of
   <paramref name="name"/>.</term>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/>.</block>
							</para>
							<block subset="none" type="behaviors">
								<para>Each parameter in the <paramref name="namedParameters"/> array is assigned the value in the
   corresponding element in the <paramref name="args"/> array. If the length of <paramref name="args"/> is
   greater than the length of <paramref name="namedParameters"/>, the remaining argument values
   are passed in order.</para>
								<para>A member will be found only
   if the number of parameters in the member declaration equals the number of
   arguments in the args array (unless default arguments are defined on the
   member). Also, The type of each argument is required to be convertible by
   the binder to the type
   of the parameter. </para>
								<para>It is required that the caller specify values for <paramref name="invokeAttr"/> as
follows:</para>
								<para>
									<list type="table">
										<listheader>
											<term>Action</term>
											<description>BindingFlags</description>
										</listheader>
										<item>
											<term> Invoke a constructor. </term>
											<description>
												<see cref="F:System.Reflection.BindingFlags.CreateInstance"/>. This
      flag is not valid with the other flags in this table. If this flag is
      specified, <paramref name="name"/> is ignored. </description>
										</item>
										<item>
											<term> Invoke a method. </term>
											<description>
												<see cref="F:System.Reflection.BindingFlags.InvokeMethod"/>. This
   flag if not valid with <see cref="F:System.Reflection.BindingFlags.CreateInstance"/>, <see cref="F:System.Reflection.BindingFlags.SetField"/>, or <see cref="F:System.Reflection.BindingFlags.SetProperty"/>. </description>
										</item>
										<item>
											<term> Define a field value. </term>
											<description>
												<see cref="F:System.Reflection.BindingFlags.SetField"/>. This
   flag is not valid with <see cref="F:System.Reflection.BindingFlags.CreateInstance"/>, <see cref="F:System.Reflection.BindingFlags.InvokeMethod"/>, or <see cref="F:System.Reflection.BindingFlags.GetField"/>.</description>
										</item>
										<item>
											<term> Return a field value. </term>
											<description>
												<see cref="F:System.Reflection.BindingFlags.GetField"/>. This
   flag is not valid with <see cref="F:System.Reflection.BindingFlags.CreateInstance"/>, <see cref="F:System.Reflection.BindingFlags.InvokeMethod"/>, or <see cref="F:System.Reflection.BindingFlags.SetField"/>.</description>
										</item>
										<item>
											<term> Set a property. </term>
											<description>
												<see cref="F:System.Reflection.BindingFlags.SetProperty"/>. This
   flag is not valid with <see cref="F:System.Reflection.BindingFlags.CreateInstance"/>, <see cref="F:System.Reflection.BindingFlags.InvokeMethod"/>, or <see cref="F:System.Reflection.BindingFlags.GetProperty"/>.</description>
										</item>
										<item>
											<term> Get a property.</term>
											<description>
												<see cref="F:System.Reflection.BindingFlags.GetProperty"/>. This
   flag is not valid with <see cref="F:System.Reflection.BindingFlags.CreateInstance"/>, <see cref="F:System.Reflection.BindingFlags.InvokeMethod"/>, or <see cref="F:System.Reflection.BindingFlags.SetProperty"/>.</description>
										</item>
									</list>
								</para>
								<para>
									<block subset="none" type="note">For more information, see <see cref="T:System.Reflection.BindingFlags"/> .</block>
								</para>
							</block>
							<block subset="none" type="usage">
								<para>
									<see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])"/> can be used to invoke methods with
   parameters that have default values. To bind to these methods, <see cref="F:System.Reflection.BindingFlags.OptionalParamBinding"/> must be specified. For a parameter that has a
   default value, the caller can supply a value or supply <see cref="F:System.Type.Missing"/>
   
   to use the default value.</para>
								<para>
									<see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])"/> can be used to set a field to a
particular value by specifying <see cref="F:System.Reflection.BindingFlags.SetField"/> . For example, to set a public instance field named F on class C, where F is a string, the value is set using the following statement:</para>
								<para>
									<c>typeof(C).InvokeMember("F", BindingFlags.SetField, null, C, new Object{
   "strings new value"}, null, null, null);</c>
								</para>
								<para> A string array F can be initialized as follows:</para>
								<c>
									<para>typeof(C).InvokeMember("F", BindingFlags.SetField, null, C, new Object{new
      String[]{"a","z","c","d"}, null, null, null);</para>
								</c>
								<para> Use <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])"/> to set the value of an element in an array by specifying the index of the value and the new value for the element as follows:</para>
								<para>
									<c>typeof(C).InvokeMember("F", BindingFlags.SetField, null, C, new Object{1,
   "b"}, null, null, null);</c>
								</para>
								<para>The preceding statement changes "z" in array
   F to "b". </para>
							</block>
						</remarks>
						<permission cref="T:System.Security.Permissions.ReflectionPermission">Requires permission to retrieve information on non-public members of types in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation"/>.</permission>
						<example>
							<para>The following example demonstrates the use of <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[],System.Reflection.ParameterModifier[],System.Globalization.CultureInfo,System.String[])"/> to
   construct a <see cref="T:System.String"/>, obtain its <see cref="P:System.String.Length"/> property, invoke <see cref="M:System.String.Insert(System.Int32,System.String)"/> on it, and
   then set its value using the <see cref="F:System.String.Empty"/> field.</para>
							<code lang="C#">using System;
using System.Reflection;

class InvokeMemberExample
{
   static void Main(string[] args)
   {
      // Create the parameter arrays that will
      // be passed to InvokeMember.
      char[] cAry = 
      new char[] {'A',' ','s','t','r','i','n','g'};
      object[] oAry = new object[] {cAry, 0, cAry.Length};

      Type t = typeof(string);

      // Invoke the constructor of a string.
      string str =
         (string)t.InvokeMember(null, BindingFlags.Instance |
         BindingFlags.Public | BindingFlags.CreateInstance, null,
         null, oAry, null, null, null);
      Console.WriteLine("The string is \"{0}\".", str);

      // Access a property of the string.
      int i =
         (int) t.InvokeMember("Length", BindingFlags.Instance |
         BindingFlags.Public | BindingFlags.GetProperty, null, 
         str, null, null, null, null);
      Console.WriteLine("The length of the string is {0}.", i);

      // Invoke a method on the string.
      string newStr = "new ";
      object[] oAry2 = new Object[] {2, newStr};
      str = (string) t.InvokeMember("Insert", BindingFlags.Instance |
         BindingFlags.Public | BindingFlags.InvokeMethod, null, str, 
         oAry2, null, null, null);
      Console.WriteLine("The modified string is \"{0}\".", str);

      // Access a field of the string.
      str = (string) t.InvokeMember("Empty", BindingFlags.Static | 
         BindingFlags.Public | BindingFlags.GetField, null, str, 
         null);
      Console.WriteLine("The empty string is \"{0}\".", str);
  
   }
}
</code>
							<para>The output is </para>
							<c>
								<para>The string is "A string". </para>
								<para>The length of the string is 8. </para>
								<para> The modified string is "A new string"</para>
								<para>The empty string is "". </para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsAbstract">
					<MemberSignature Language="ILASM" Value=".property bool IsAbstract { public hidebysig specialname instance bool get_IsAbstract() }"/>
					<MemberSignature Language="C#" Value="public bool IsAbstract { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating 
   whether the type represented by the current instance is abstract and is required to be overridden.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is abstract; otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsArray">
					<MemberSignature Language="ILASM" Value=".property bool IsArray { public hidebysig specialname instance bool get_IsArray() }"/>
					<MemberSignature Language="C#" Value="public bool IsArray { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value that indicates whether the current <see cref="T:System.Type"/> represents an array.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the current <see cref="T:System.Type"/> represents an
   array; otherwise <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>This property returns <see langword="true"/> for an array of objects, but
   not for the <see cref="T:System.Array"/>
   type itself, which is a class.</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="P:System.Type.IsArray"/>
property.</para>
							<code lang="C#">using System;
class TestType {
 public static void Main() {
 int [] array = {1,2,3,4};
 Type at = typeof(Array);
 Type t = array.GetType();
 Console.WriteLine("Type is {0}. IsArray? {1}", at, at.IsArray);
 Console.WriteLine("Type is {0}. IsArray? {1}", t, t.IsArray);
 }
}
</code>
							<para>The output is</para>
							<c>
								<para>Type is System.Array. IsArray? False</para>
								<para>Type is System.Int32[]. IsArray? True</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsArrayImpl">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract bool IsArrayImpl()"/>
					<MemberSignature Language="C#" Value="protected abstract bool IsArrayImpl();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>When overridden in a derived class implements the <see cref="P:System.Type.IsArray"/> property returning a
<see cref="T:System.Boolean"/> value that indicates whether
   the type represented by the current instance is an array.</para>
						</summary>
						<returns>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is an array; otherwise, <see langword="false"/>. </para>
						</returns>
						<remarks>
							<para>An instance of the <see cref="T:System.Array"/> class is required to return <see langword="false"/> because it is an object, not an
   array.<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsAssignableFrom">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsAssignableFrom(class System.Type c)"/>
					<MemberSignature Language="C#" Value="public virtual bool IsAssignableFrom(Type c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether an instance of the current <see cref="T:System.Type"/> can be assigned
   from an instance of the specified <see cref="T:System.Type"/> .
   </para>
						</summary>
						<param name="c">The <see cref="T:System.Type"/> to compare with the current <see cref="T:System.Type"/> . </param>
						<returns>
							<para>
								<see langword="false"/> if <paramref name="c"/> is a null reference.</para>
							<para>
								<see langword="true"/> if one or more of the following
statements are true; otherwise <see langword="false"/>. </para>
							<list type="bullet">
								<item>
									<term>
      
      If <paramref name="c"/> and the current <see cref="T:System.Type"/> represent the same type.</term>
								</item>
								<item>
									<term>
      
      If the current <see cref="T:System.Type"/> is in the inheritance hierarchy of <paramref name="c"/>.</term>
								</item>
								<item>
									<term>
      
      If the current <see cref="T:System.Type"/> is an interface and <paramref name="c"/> supports that
      interface.</term>
								</item>
							</list>
							<see langword=""/>
						</returns>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Type.IsAssignableFrom(System.Type)"/>
method using arrays.</para>
							<code lang="C#">using System;
class ArrayTypeTest {
 public static void Main() {
 int i = 1;
 int [] array10 = new int [10];
 int [] array2 = new int[2];
 int [,]array22 = new int[2,2];
 int [,]array24 = new int[2,4];
 int [,,]array333 = new int[3,3,3];
 Type array10Type = array10.GetType();
 Type array2Type = array2.GetType();
 Type array22Type = array22.GetType();
 Type array24Type = array24.GetType();
 Type array333Type = array333.GetType();

 // If X and Y are not both arrays, then false
 Console.WriteLine("int[2] is assignable from int? {0} ", array2Type.IsAssignableFrom(i.GetType()));
 // If X and Y have same type and rank, then true.
 Console.WriteLine("int[2] is assignable from int[10]? {0} ",  array2Type.IsAssignableFrom(array10Type));
 Console.WriteLine("int[2,2] is assignable from int[2,4]? {0}",  array22Type.IsAssignableFrom(array24Type));
 Console.WriteLine("int[2,4] is assignable from int[2,2]? {0}",  array24Type.IsAssignableFrom(array22Type));
 Console.WriteLine("");
 // If X and Y do not have the same rank, then false.
 Console.WriteLine("int[2,2] is assignable from int[10]? {0}",  array22Type.IsAssignableFrom(array10Type));
 Console.WriteLine("int[2,2] is assignable from int[3,3,3]? {0}",  array22Type.IsAssignableFrom(array333Type));
 Console.WriteLine("int[3,3,3] is assignable from int[2,2]? {0}",  array333Type.IsAssignableFrom(array22Type));
 }
}
</code>
							<para>The output is</para>
							<c>
								<para>int[2] is assignable from int? False</para>
								<para>int[2] is assignable from int[10]? True</para>
								<para>int[2,2] is assignable from int[2,4]? True</para>
								<para>int[2,4] is assignable from int[2,2]? True</para>
								<para>int[2,2] is assignable from int[10]? False</para>
								<para>int[2,2] is assignable from int[3,3,3]? False</para>
								<para>int[3,3,3] is assignable from int[2,2]? False</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsAutoLayout">
					<MemberSignature Language="ILASM" Value=".property bool IsAutoLayout { public hidebysig specialname instance bool get_IsAutoLayout() }"/>
					<MemberSignature Language="C#" Value="public bool IsAutoLayout { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating
   whether the type layout attribute <see cref="F:System.Reflection.TypeAttributes.AutoLayout"/> is specified for the <see cref="T:System.Type"/>.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the type
   layout attribute <see cref="F:System.Reflection.TypeAttributes.AutoLayout"/> is specified for the current <see cref="T:System.Type"/>; otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>The <see cref="F:System.Reflection.TypeAttributes.AutoLayout"/> attribute specifies that the system
      selects the layout the objects of the type. Types marked with this attribute indicate that the
      system will choose the appropriate way to lay out the type; any layout information
      that may have been specified is ignored. </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsByRef">
					<MemberSignature Language="ILASM" Value=".property bool IsByRef { public hidebysig specialname instance bool get_IsByRef() }"/>
					<MemberSignature Language="C#" Value="public bool IsByRef { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the <see cref="T:System.Type"/> is
   passed by reference.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is passed by reference; otherwise, <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsByRefImpl">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract bool IsByRefImpl()"/>
					<MemberSignature Language="C#" Value="protected abstract bool IsByRefImpl();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>When overridden in a derived class, implements the <see cref="P:System.Type.IsByRef"/>
property and determines whether the <see cref="T:System.Type"/> is passed by reference.</para>
						</summary>
						<returns>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is passed by reference; otherwise, <see langword="false"/>. </para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsClass">
					<MemberSignature Language="ILASM" Value=".property bool IsClass { public hidebysig specialname instance bool get_IsClass() }"/>
					<MemberSignature Language="C#" Value="public bool IsClass { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value that indicates whether the current <see cref="T:System.Type"/> represents a class.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the current <see cref="T:System.Type"/> represents a class;
   otherwise <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>Note that this property returns <see langword="true"/> for
<see cref="T:System.Type"/> instances 
   representing <see cref="T:System.Enum"/> and <see cref="T:System.ValueType"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsCOMObjectImpl">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract bool IsCOMObjectImpl()"/>
					<MemberSignature Language="C#" Value="protected abstract bool IsCOMObjectImpl();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Reserved.</para>
						</summary>
						<returns>
							<para>
								<see langword="false"/>
							</para>
						</returns>
						<remarks>
							<para>This abstract method is required to be present for
      legacy implementations. Conforming implementations are permitted to throw the
   <see cref="T:System.NotSupportedException"/>
   as their implementation.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsEnum">
					<MemberSignature Language="ILASM" Value=".property bool IsEnum { public hidebysig specialname instance bool get_IsEnum() }"/>
					<MemberSignature Language="C#" Value="public bool IsEnum { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value that indicates whether the current <see cref="T:System.Type"/> represents an enumeration.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the current <see cref="T:System.Type"/> represents an
   enumeration; otherwise <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>This property returns <see langword="true"/> for an enumeration, but not
   for the <see cref="T:System.Enum"/>
   type itself, which is a class.</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="P:System.Type.IsEnum"/>
property.</para>
							<code lang="C#">using System;
public enum Color {
Red, Blue, Green
}
class TestType {
 public static void Main() {
 Type colorType = typeof(Color);
 Type enumType = typeof(Enum);
 Console.WriteLine("Color is enum ? {0}", colorType.IsEnum);
 Console.WriteLine("Color is valueType? {0}", colorType.IsValueType);
 Console.WriteLine("Enum is enum Type? {0}", enumType.IsEnum);
 Console.WriteLine("Enum is value? {0}", enumType.IsValueType);
 }
}
</code>
							<para>The output is</para>
							<c>
								<para>Color is enum ? True</para>
								<para>Color is valueType? True</para>
								<para>Enum is enum Type? False</para>
								<para>Enum is value? False</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsExplicitLayout">
					<MemberSignature Language="ILASM" Value=".property bool IsExplicitLayout { public hidebysig specialname instance bool get_IsExplicitLayout() }"/>
					<MemberSignature Language="C#" Value="public bool IsExplicitLayout { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating
   whether the type layout attribute <see cref="F:System.Reflection.TypeAttributes.ExplicitLayout"/> is specified for the <see cref="T:System.Type"/>.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the type layout attribute <see cref="F:System.Reflection.TypeAttributes.ExplicitLayout"/> is specified for the current <see cref="T:System.Type"/>; otherwise,
<see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>Types marked with the <see cref="F:System.Reflection.TypeAttributes.ExplicitLayout"/> attribute cause
      the system to ignore field sequence and to use the explicit layout rules provided,
      in the form of field offsets, overall class size and alignment. </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsImport">
					<MemberSignature Language="ILASM" Value=".property bool IsImport { public hidebysig specialname instance bool get_IsImport() }"/>
					<MemberSignature Language="C#" Value="public bool IsImport { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating whether the <see cref="T:System.Type"/> was imported from another class.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> was imported from another class; otherwise, <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsInstanceOfType">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsInstanceOfType(object o)"/>
					<MemberSignature Language="C#" Value="public virtual bool IsInstanceOfType(object o);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="o" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified object is an instance
      of the current <see cref="T:System.Type"/>.
      </para>
						</summary>
						<param name="o">The object to compare with the current <see cref="T:System.Type"/>. </param>
						<returns>
							<para>
								<see langword="true"/> if either of the following
   statements is true; otherwise <see langword="false"/>.
   </para>
							<list type="bullet">
								<item>
									<term>
      
      If the current <see cref="T:System.Type"/> is in the inheritance hierarchy of <paramref name="o"/>.</term>
								</item>
								<item>
									<term>
      
      If the current <see cref="T:System.Type"/> is an interface and <paramref name="o"/> supports that
      interface.</term>
								</item>
							</list>
							<para>If <paramref name="o"/> is a null reference, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Type.IsInstanceOfType(System.Object)"/>
method.</para>
							<code lang="C#">using System;
public interface IFoo { }
public class MyClass : IFoo {}
public class MyDerivedClass : MyClass {}
class IsInstanceTest {
 public static void Main() {
 Type ifooType=typeof(IFoo);
 MyClass mc = new MyClass();
 Type mcType = mc.GetType();
 MyClass mdc = new MyDerivedClass();
 Type mdcType = mdc.GetType();
 int [] array = new int [10];
 Type arrayType = typeof(Array);
 Console.WriteLine("int[] is instance of Array? {0}", arrayType.IsInstanceOfType(array));
 Console.WriteLine("myclass instance is instance of MyClass? {0}", mcType.IsInstanceOfType(mc));
 Console.WriteLine("myderivedclass instance is instance of MyClass? {0}",  mcType.IsInstanceOfType(mdc));
 Console.WriteLine("myclass instance is instance of IFoo? {0}", ifooType.IsInstanceOfType(mc));
 Console.WriteLine("myderivedclass instance is instance of IFoo? {0}",  ifooType.IsInstanceOfType(mdc));
 }
}
</code>
							<para>The output is </para>
							<c>
								<para>int[] is instance of Array? True</para>
								<para>myclass instance is instance of MyClass? True</para>
								<para>myderivedclass instance is instance of MyClass? True</para>
								<para>myclass instance is instance of IFoo? True</para>
								<para>myderivedclass instance is instance of IFoo? True</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsInterface">
					<MemberSignature Language="ILASM" Value=".property bool IsInterface { public hidebysig specialname instance bool get_IsInterface() }"/>
					<MemberSignature Language="C#" Value="public bool IsInterface { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value that indicates whether the  current <see cref="T:System.Type"/> represents an interface.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the current <see cref="T:System.Type"/>  represents an
   interface; otherwise <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsLayoutSequential">
					<MemberSignature Language="ILASM" Value=".property bool IsLayoutSequential { public hidebysig specialname instance bool get_IsLayoutSequential() }"/>
					<MemberSignature Language="C#" Value="public bool IsLayoutSequential { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating
   whether the type layout attribute <see cref="F:System.Reflection.TypeAttributes.SequentialLayout"/> is specified for the <see cref="T:System.Type"/>.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the type layout attribute
<see cref="F:System.Reflection.TypeAttributes.SequentialLayout"/> is specified for the current 
<see cref="T:System.Type"/>; otherwise, 
<see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para> The <see cref="F:System.Reflection.TypeAttributes.SequentialLayout"/> attribute is used
      to indicate that
      the system is to preserve field order as emitted, but otherwise the specific offsets are calculated based on the type
      of the field; these may be shifted by explicit offset, padding, or alignment information.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsMarshalByRef">
					<MemberSignature Language="ILASM" Value=".property bool IsMarshalByRef { public hidebysig specialname instance bool get_IsMarshalByRef() }"/>
					<MemberSignature Language="C#" Value="public bool IsMarshalByRef { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current type is marshaled by reference.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is marshaled by reference; otherwise, <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsNestedAssembly">
					<MemberSignature Language="ILASM" Value=".property bool IsNestedAssembly { public hidebysig specialname instance bool get_IsNestedAssembly() }"/>
					<MemberSignature Language="C#" Value="public bool IsNestedAssembly { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current <see cref="T:System.Type"/> is nested and visible only within its own assembly.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is nested and visible only within its own assembly; otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para> This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsNestedFamANDAssem">
					<MemberSignature Language="ILASM" Value=".property bool IsNestedFamANDAssem { public hidebysig specialname instance bool get_IsNestedFamANDAssem() }"/>
					<MemberSignature Language="C#" Value="public bool IsNestedFamANDAssem { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating whether the current <see cref="T:System.Type"/> is nested and visible only to classes that belong to both its own family and
   its own assembly.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is nested
   and visible only to classes that belong to both its own family and its own assembly; otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para> This property is read-only.</para>
							<para>A <see cref="T:System.Type"/> object's family is defined as all objects of the exact
   same <see cref="T:System.Type"/> and of its subclasses.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsNestedFamily">
					<MemberSignature Language="ILASM" Value=".property bool IsNestedFamily { public hidebysig specialname instance bool get_IsNestedFamily() }"/>
					<MemberSignature Language="C#" Value="public bool IsNestedFamily { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating whether the current <see cref="T:System.Type"/> is nested and visible only within its
   own family.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is nested
   and visible only within its own family; otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para> This property is read-only.</para>
							<para>A <see cref="T:System.Type"/> object's family is defined as all objects of the exact
   same <see cref="T:System.Type"/> and of its subclasses.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsNestedFamORAssem">
					<MemberSignature Language="ILASM" Value=".property bool IsNestedFamORAssem { public hidebysig specialname instance bool get_IsNestedFamORAssem() }"/>
					<MemberSignature Language="C#" Value="public bool IsNestedFamORAssem { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating whether the current <see cref="T:System.Type"/> is nested and visible only to classes that belong to either its
   own family or to its own assembly.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is nested
   and visible only to classes that belong to its own family or to its own assembly; otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para> This property is read-only.</para>
							<para>A <see cref="T:System.Type"/> object's family is defined as all objects of the exact
   same <see cref="T:System.Type"/> and of its subclasses.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsNestedPrivate">
					<MemberSignature Language="ILASM" Value=".property bool IsNestedPrivate { public hidebysig specialname instance bool get_IsNestedPrivate() }"/>
					<MemberSignature Language="C#" Value="public bool IsNestedPrivate { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating whether the current <see cref="T:System.Type"/> is nested and declared private.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is nested and declared private; otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsNestedPublic">
					<MemberSignature Language="ILASM" Value=".property bool IsNestedPublic { public hidebysig specialname instance bool get_IsNestedPublic() }"/>
					<MemberSignature Language="C#" Value="public bool IsNestedPublic { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating 
   whether the current <see cref="T:System.Type"/> is a public nested class.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if
   the class is nested and declared public; otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsNotPublic">
					<MemberSignature Language="ILASM" Value=".property bool IsNotPublic { public hidebysig specialname instance bool get_IsNotPublic() }"/>
					<MemberSignature Language="C#" Value="public bool IsNotPublic { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating whether the top-level <see cref="T:System.Type"/> is not declared public.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the
   top-level <see cref="T:System.Type"/> is not declared public; otherwise, <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsPointer">
					<MemberSignature Language="ILASM" Value=".property bool IsPointer { public hidebysig specialname instance bool get_IsPointer() }"/>
					<MemberSignature Language="C#" Value="public bool IsPointer { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value that indicates whether the current <see cref="T:System.Type"/> represents a pointer.</para>
						</summary>
						<value>
							<para>This property is read-only.</para>
							<para>
								<see langword="true"/> if the current <see cref="T:System.Type"/> represents a
   pointer; otherwise <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsPointerImpl">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract bool IsPointerImpl()"/>
					<MemberSignature Language="C#" Value="protected abstract bool IsPointerImpl();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>When overridden in a derived class, implements the <see cref="P:System.Type.IsPointer"/> property and determines whether the
<see cref="T:System.Type"/> is a pointer.</para>
						</summary>
						<returns>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is a pointer; otherwise, <see langword="false"/>. </para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsPrimitive">
					<MemberSignature Language="ILASM" Value=".property bool IsPrimitive { public hidebysig specialname instance bool get_IsPrimitive() }"/>
					<MemberSignature Language="C#" Value="public bool IsPrimitive { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current <see cref="T:System.Type"/> is one of the primitive types.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is one of the primitive types; otherwise, <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The primitive types are <see cref="T:System.Boolean"/>, <see cref="T:System.Byte"/>, <see cref="T:System.SByte"/>, <see cref="T:System.Int16"/>, <see cref="T:System.UInt16"/>, <see cref="T:System.Int32"/>, <see cref="T:System.UInt32"/>, <see cref="T:System.Int64"/>, <see cref="T:System.UInt64"/>, <see cref="T:System.Char"/>, <see cref="T:System.Double"/>, and <see cref="T:System.Single"/>.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsPrimitiveImpl">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual abstract bool IsPrimitiveImpl()"/>
					<MemberSignature Language="C#" Value="protected abstract bool IsPrimitiveImpl();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>When overridden in a derived class, implements the <see cref="P:System.Type.IsPrimitive"/> property and determines whether the
<see cref="T:System.Type"/> is one of the primitive types.</para>
						</summary>
						<returns>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is one of the primitive types; otherwise, <see langword="false"/>. </para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">This method 
      returns <see langword="true"/> if the underlying type of the current instance is
      one of the following: <see cref="T:System.Boolean"/>, <see cref="T:System.Byte"/>, <see cref="T:System.SByte"/>, <see cref="T:System.Int16"/>, <see cref="T:System.UInt16"/>, <see cref="T:System.Int32"/>, <see cref="T:System.UInt32"/>, <see cref="T:System.Int64"/>, <see cref="T:System.UInt64"/>, <see cref="T:System.Char"/>, <see cref="T:System.Double"/>, and <see cref="T:System.Single"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsPublic">
					<MemberSignature Language="ILASM" Value=".property bool IsPublic { public hidebysig specialname instance bool get_IsPublic() }"/>
					<MemberSignature Language="C#" Value="public bool IsPublic { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating whether the top-level <see cref="T:System.Type"/> is declared public.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the top-level <see cref="T:System.Type"/> is declared public; otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsSealed">
					<MemberSignature Language="ILASM" Value=".property bool IsSealed { public hidebysig specialname instance bool get_IsSealed() }"/>
					<MemberSignature Language="C#" Value="public bool IsSealed { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating whether the current <see cref="T:System.Type"/> is declared sealed.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> is declared sealed; otherwise, <see langword="false"/>. </para>
						</value>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsSpecialName">
					<MemberSignature Language="ILASM" Value=".property bool IsSpecialName { public hidebysig specialname instance bool get_IsSpecialName() }"/>
					<MemberSignature Language="C#" Value="public bool IsSpecialName { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating whether the current <see cref="T:System.Type"/> has a name that requires special handling.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Type"/> has a name that requires special handling; otherwise, <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">Names that begin with or contain an
      underscore character (_) are examples of type names that
      might require special treatment by some tools. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="IsSubclassOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsSubclassOf(class System.Type c)"/>
					<MemberSignature Language="C#" Value="public virtual bool IsSubclassOf(Type c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Type"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current <see cref="T:System.Type"/> derives from the
   specified <see cref="T:System.Type"/> .</para>
						</summary>
						<param name="c">The <see cref="T:System.Type"/> to compare with the current <see cref="T:System.Type"/>.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="c"/> and the current
<see cref="T:System.Type"/> represent 
   classes, and the class represented by the current <see cref="T:System.Type"/> derives from the class represented by
<paramref name="c"/>; otherwise <see langword="false"/>. Returns <see langword="false"/> if 
<paramref name="c"/> and the current <see cref="T:System.Type"/> represent the same class.</para>
						</returns>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Type.IsSubclassOf(System.Type)"/>
method.</para>
							<code lang="C#">using System;
public interface IFoo { }
public interface IBar:IFoo{}
public class MyClass : IFoo {}
public class MyDerivedClass : MyClass {}
class IsSubclassTest {
 public static void Main() {
 Type ifooType = typeof(IFoo);
 Type ibarType = typeof(IBar);
 MyClass mc = new MyClass();
 Type mcType = mc.GetType();
 MyClass mdc = new MyDerivedClass();
 Type mdcType = mdc.GetType();
 int [] array = new int [10];
 Type arrayOfIntsType = array.GetType();
 Type arrayType = typeof(Array);
 
 Console.WriteLine("Array is subclass of int[]? {0}", arrayType.IsSubclassOf(arrayOfIntsType));
 Console.WriteLine("int [] is subclass of Array? {0}", arrayOfIntsType.IsSubclassOf(arrayType));
 Console.WriteLine("IFoo is subclass of IBar? {0}", ifooType.IsSubclassOf(ibarType));
 Console.WriteLine("myclass is subclass of MyClass? {0}", mcType.IsSubclassOf(mcType));
 Console.WriteLine("myderivedclass is subclass of MyClass? {0}", mdcType.IsSubclassOf(mcType));
 }
}
</code>
							<para>The output is </para>
							<c>
								<para>Array is subclass of int[]? False</para>
								<para>int [] is subclass of Array? True</para>
								<para>IFoo is subclass of IBar? False</para>
								<para>myclass is subclass of MyClass? False</para>
								<para>myderivedclass is subclass of MyClass? True</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsValueType">
					<MemberSignature Language="ILASM" Value=".property bool IsValueType { public hidebysig specialname instance bool get_IsValueType() }"/>
					<MemberSignature Language="C#" Value="public bool IsValueType { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value that indicates whether the current <see cref="T:System.Type"/> represents a value type.</para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the current <see cref="T:System.Type"/> represents a value
   type (structure); otherwise <see langword="false"/>. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>This property returns true for enumerations, but not for
      the <see cref="T:System.Enum"/> type
      itself, which is a class. <block subset="none" type="note">For an example
      that demonstrates this behavior, see <see cref="P:System.Type.IsEnum"/>
      .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Missing">
					<MemberSignature Language="ILASM" Value=".field public static initOnly object Missing"/>
					<MemberSignature Language="C#" Value="public static readonly object Missing;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Represents a missing value in the <see cref="T:System.Type"/> information.</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para>Use the <see langword="Missing"/> 
field for invocation through reflection to ensure that a call will be made
with the default value of a parameter as specified in the metadata. <block subset="none" type="note">If the <see langword="Missing"/> field is specified for a
parameter value and there is no default value for that parameter, a <see cref="T:System.ArgumentException"/> is
thrown.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="Module">
					<MemberSignature Language="ILASM" Value=".property class System.Reflection.Module Module { public hidebysig virtual abstract specialname class System.Reflection.Module get_Module() }"/>
					<MemberSignature Language="C#" Value="public abstract Module Module { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.Module</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the module in which the current <see cref="T:System.Type"/> is defined.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Reflection.Module"/> that reflects the module in which the current <see cref="T:System.Type"/> is defined.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="behaviors">This property is
      read-only.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="Namespace">
					<MemberSignature Language="ILASM" Value=".property string Namespace { public hidebysig virtual abstract specialname string get_Namespace() }"/>
					<MemberSignature Language="C#" Value="public abstract string Namespace { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the namespace of the <see cref="T:System.Type"/>.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the namespace of the current <see cref="T:System.Type"/>.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note">A namespace is a 
      logical design-time naming convenience, used mainly to define scope in an
      application and organize classes and other types in a hierarchical structure.
      From the viewpoint of the system, there are no namespaces.</block>
							</para>
							<para>
								<block subset="none" type="behaviors">This property is 
      read-only.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="ReflectedType">
					<MemberSignature Language="ILASM" Value=".property class System.Type ReflectedType { public hidebysig virtual specialname class System.Type get_ReflectedType() }"/>
					<MemberSignature Language="C#" Value="public override Type ReflectedType { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the type that was used to obtain the current
      instance.</para>
						</summary>
						<value>
							<para>The <see langword="Type"/> object
   through which the current instance was obtained.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">This property
      overrides <see cref="P:System.Reflection.MemberInfo.ReflectedType"/>.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="P:System.Type.ReflectedType"/> property. Although the method <paramref name="m"/> is
   declared in <see langword="MyClassA"/>, its reflected type is obtained from
<see langword="MyClassB"/> .</para>
							<code lang="C#">using System;
using System.Reflection;
public abstract class ReflectedTypeTest {
    public abstract class MyClassA {
        public abstract int m();
    }
    public abstract class MyClassB : MyClassA {
    }
    public static void Main(string[] args) {
        Console.WriteLine("Reflected type of m is {0}",
            typeof(MyClassB).GetMethod("m").ReflectedType);
    }
}
</code>
							<para>The output is </para>
							<c>
								<para>Reflected type of m is ReflectedTypeTest+MyClassB</para>
							</c>
						</example>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string ToString()"/>
					<MemberSignature Language="C#" Value="public override string ToString();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.String"/> representation of the current <see cref="T:System.Type"/>.
   </para>
						</summary>
						<returns>
							<para>Returns <see cref="P:System.Type.FullName"/> .</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.ToString"/>
      .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TypeHandle">
					<MemberSignature Language="ILASM" Value=".property valuetype System.RuntimeTypeHandle TypeHandle { public hidebysig virtual abstract specialname valuetype System.RuntimeTypeHandle get_TypeHandle() }"/>
					<MemberSignature Language="C#" Value="public abstract RuntimeTypeHandle TypeHandle { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.RuntimeTypeHandle</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the handle for the current <see cref="T:System.Type"/>.</para>
						</summary>
						<value>
							<para>The <see cref="T:System.RuntimeTypeHandle"/> for the current <see cref="T:System.Type"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The <see cref="T:System.RuntimeTypeHandle"/> encapsulates a pointer to an internal data structure that represents the type. This
   handle is unique during the process lifetime. The handle is valid only in
   the application domain in which it was obtained.</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName="TypeInitializer">
					<MemberSignature Language="ILASM" Value=".property class System.Reflection.ConstructorInfo TypeInitializer { public hidebysig specialname instance class System.Reflection.ConstructorInfo get_TypeInitializer() }"/>
					<MemberSignature Language="C#" Value="public ConstructorInfo TypeInitializer { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Reflection.ConstructorInfo</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the initializer for the<see langword=" "/>type
   represented by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Reflection.ConstructorInfo"/> containing the name of the static
   constructor for the type represented by the current instance</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">Type initializers are available through <see cref="M:System.Type.GetMember(System.String)"/>,
<see cref="M:System.Type.GetMembers"/>, and <see cref="M:System.Type.GetConstructors"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
				<Member MemberName="UnderlyingSystemType">
					<MemberSignature Language="ILASM" Value=".property class System.Type UnderlyingSystemType { public hidebysig virtual abstract specialname class System.Type get_UnderlyingSystemType() }"/>
					<MemberSignature Language="C#" Value="public abstract Type UnderlyingSystemType { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Type</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the system-supplied type
      that represents the current type.</para>
						</summary>
						<value>
							<para>The underlying system type for the <see cref="T:System.Type"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="behaviors">As described 
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>Reflection</ExcludedLibrary>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="TypeInitializationException" FullName="System.TypeInitializationException" FullNameSP="System_TypeInitializationException">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable TypeInitializationException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public sealed class TypeInitializationException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when an exception is thrown inside the
      static constructor of a type.</para>
				</summary>
				<remarks>
					<para> When a static constructor fails to initialize a type, a
   <see cref="T:System.TypeInitializationException"/> instance is created and passed a reference to the exception
      thrown by the static constructor. The <see cref="!:System.TypeInitializationException.InnerException"/> property stores the exception that was thrown
      by the static constructor.</para>
				</remarks>
				<example>
					<para>The following example demonstrates an error that causes
      a <see cref="T:System.TypeInitializationException"/> exception.</para>
					<code lang="C#">using System;
class TypeInit {
    // Static constructor
   static TypeInit () {
          // Throw an application-defined exception.
        throw new ApplicationException("Error in Class TypeInit");
    }
    public TypeInit() {}
}
class TestTypeInit {
    static public void Main() {
        try {
            TypeInit t = new TypeInit ();
        }
        catch (TypeInitializationException e) {
            Console.WriteLine("Error: {0}",e);
        }
    }
}
   </code>
					<para>The output is</para>
					<code>
Error: System.TypeInitializationException: The type initializer for "TypeInit" threw an exception. ---&gt; System.ApplicationException: Error in Class TypeInit
   at TypeInit..cctor()
   --- End of inner exception stack trace ---
   at TypeInit..ctor()
   at TestTypeInit.Main()
 </code>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="TypeName">
					<MemberSignature Language="ILASM" Value=".property string TypeName { public hidebysig specialname instance string get_TypeName() }"/>
					<MemberSignature Language="C#" Value="public string TypeName { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the fully qualified name of the type that causes the
      exception.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> that contains the fully qualified name of the type that caused the exception.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The <see cref="P:System.TypeInitializationException.TypeName"/> property returns the same value as was
   passed into the constructor.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="UInt16" FullName="System.UInt16" FullNameSP="System_UInt16">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable UInt16 extends System.ValueType implements System.IComparable, System.IFormattable"/>
			<TypeSignature Language="C#" Value="public struct UInt16 : IComparable, IFormattable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents a 16-bit unsigned integer.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.UInt16"/> data type represents integer values ranging from 0 to
   positive 65,535 (hexadecimal 0xFFFF).</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IFormattable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Attributes>
				<Attribute>
					<AttributeName>CLSCompliantAttribute(false)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared
      to the specified <see cref="T:System.Object"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value
   that reflects the sort order of the current instance as compared to
<paramref name="value"/>. The following table defines the
conditions under which the return value is a negative number, zero, or a
positive number.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>Current instance &lt; <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>Current instance == <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>
										<para>Current instance &gt; <paramref name="value"/>, or
<paramref name="value"/> is a null reference.</para>
									</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is not a <see cref="T:System.UInt16"/> and is not a null reference.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is
      implemented to support the <see cref="T:System.IComparable"/>
      interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the
      specified <see cref="T:System.Object"/> represent the same value and type.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> represents the
   same value and type as the current instance. If <paramref name="obj"/> is a null reference
   or is not an instance of <see cref="T:System.UInt16"/>, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para>The algorithm used to
      generate the hash code is unspecified. </para>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxValue">
					<MemberSignature Language="ILASM" Value=".field public static literal unsigned int16 MaxValue = 65535"/>
					<MemberSignature Language="C#" Value="public const ushort MaxValue = 65535;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>65535</MemberValue>
					<Docs>
						<summary>
							<para>Contains the maximum value for the <see cref="T:System.UInt16"/> type.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 65,535 (hexadecimal 
 0xFFFF).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinValue">
					<MemberSignature Language="ILASM" Value=".field public static literal unsigned int16 MinValue = 0"/>
					<MemberSignature Language="C#" Value="public const ushort MinValue = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>0</MemberValue>
					<Docs>
						<summary>
							<para>Contains the minimum value for the <see cref="T:System.UInt16"/> type.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 0.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 Parse(string s)"/>
					<MemberSignature Language="C#" Value="public static ushort Parse(string s);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.UInt16"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<returns>
							<para>The <see cref="T:System.UInt16"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.UInt16.MaxValue"/> or less than <see cref="F:System.UInt16.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.UInt16.Parse(System.String)"/> is equivalent to <see cref="M:System.UInt16.Parse(System.String)"/>(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/>, <see langword="null"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system
culture. <block subset="none" type="note"> For more information, see
<see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.</block>
							</para>
							<para>This method is not CLS-compliant. For a CLS-compliant
   alternative use <see cref="M:System.Int32.Parse(System.String)"/>(<see cref="T:System.String"/>).</para>
							<paramref name=""/>
						</remarks>
						<example>
							<para>This example demonstrates parsing a string to a <see cref="T:System.UInt16"/>.</para>
							<code lang="C#">using System;
public class UInt16ParseClass {
  public static void Main() {
    string str = "  100   ";
    Console.WriteLine("String: \"{0}\" &lt;UInt16&gt; {1}",str,UInt16.Parse(str));
  }
}
</code>
							<para>The output is</para>
							<para>
								<c>String: " 100
   " &lt;UInt16&gt; 100</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 Parse(string s, valuetype System.Globalization.NumberStyles style)"/>
					<MemberSignature Language="C#" Value="public static ushort Parse(string s, NumberStyles style);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.UInt16"/>
value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/>. </param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<returns>
							<para>The <see cref="T:System.UInt16"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.UInt16.MaxValue"/> or less than <see cref="F:System.UInt16.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.UInt16.Parse(System.String)"/> is equivalent to <see cref="M:System.UInt16.Parse(System.String)"/>(<paramref name="s"/>, <paramref name="style"/>, <see langword="null"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system
culture. <block subset="none" type="note"> For
more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.</block>
							</para>
							<para>This method is not CLS-compliant. For a CLS-compliant
   alternative use <see cref="M:System.Int32.Parse(System.String)"/>(<see cref="T:System.String"/>,<see cref="T:System.Globalization.NumberStyles"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 Parse(string s, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static ushort Parse(string s, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.UInt16"/> value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.UInt16"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.UInt16.MaxValue"/> or less than <see cref="F:System.UInt16.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.UInt16.Parse(System.String)"/> is equivalent to <see cref="M:System.UInt16.Parse(System.String)"/> (<paramref name="s"/> , <see cref="F:System.Globalization.NumberStyles.Integer"/>, <paramref name="provider"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the culture-specific
formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>.
If <paramref name="provider"/> is
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from
<paramref name="provider"/>, the formatting information for the current system culture is 
used.</para>
							<para>This method is not CLS-compliant. For a CLS-compliant 
   alternative use <see cref="M:System.Int32.Parse(System.String)"/>(<see cref="T:System.String"/>,<see cref="T:System.IFormatProvider"/>
   ).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 Parse(string s, valuetype System.Globalization.NumberStyles style, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static ushort Parse(string s, NumberStyles style, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.UInt16"/> value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/>.</param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.UInt16"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.UInt16.MaxValue"/> or less than <see cref="F:System.UInt16.MinValue"/>.</exception>
						<remarks>
							<para>The string <paramref name="s"/> is parsed using the
   culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
   instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> 
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
							<para>This method is not CLS-compliant. For a CLS-compliant
   alternative use <see cref="M:System.Int32.Parse(System.String)"/>(<see cref="T:System.String"/>, <see cref="T:System.Globalization.NumberStyles"/>, <see cref="T:System.IFormatProvider"/>).</para>
							<paramref name=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the
   current instance. </para>
						</summary>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string takes into account the
   formatting information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by
<paramref name="provider"/>.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.UInt16.ToString"/> is equivalent to <see cref="M:System.UInt16.ToString"/>("G",
<paramref name="provider"/>).</para>
							<para>If <paramref name="provider"/> is null or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
be obtained from <paramref name="provider"/>, the formatting information for the current
system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(string format, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<param name=" format">A <see cref="T:System.String"/> containing a character that specifies the format of the returned string.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/>
representation of the current instance formatted as specified by
<paramref name="format"/>. The string takes into account the formatting information in the 
<see cref="T:System.Globalization.NumberFormatInfo"/> 
instance supplied by <paramref name="provider"/>.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
   be obtained from <paramref name="provider"/>, the formatting information for the current
   system culture is used.</para>
							<para>If <paramref name="format"/> is a null reference, the general
format specifier "G" is used.</para>
							<block subset="none" type="note">
								<para>For a detailed
      description of formatting, see the <see cref="T:System.IFormattable"/> interface. </para>
								<para> This method is implemented
      to support the <see cref="T:System.IFormattable"/> interface.</para>
							</block>
							<para>The following table lists the characters that are valid for the <see cref="T:System.UInt16"/> type.</para>
							<list type="table">
								<listheader>
									<term>Format Characters</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> "C", "c"</term>
									<description>Currency format.</description>
								</item>
								<item>
									<term> "D", "d"</term>
									<description>Decimal format.</description>
								</item>
								<item>
									<term> "E", "e"</term>
									<description>Exponential notation format.</description>
								</item>
								<item>
									<term> "F", "f"</term>
									<description>Fixed-point format.</description>
								</item>
								<item>
									<term> "G", "g"</term>
									<description>General format.</description>
								</item>
								<item>
									<term> "N", "n"</term>
									<description>Number format.</description>
								</item>
								<item>
									<term> "P", "p"</term>
									<description>Percent format.</description>
								</item>
								<item>
									<term> "X", "x"</term>
									<description>Hexadecimal
         format.</description>
								</item>
							</list>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using the general format specifier ("G"). The string takes into account the current system culture.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.UInt16.ToString"/> is equivalent to <see cref="M:System.UInt16.ToString"/>(<see langword="null"/>, 
<see langword="null"/>).</para>
							<para>
								<block subset="none" type="note">This method
   overrides <see cref="M:System.Object.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(string format)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format of the returned string. <block subset="none" type="note"> For a list of valid values, see <see cref="M:System.UInt16.ToString"/>(<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/>).</block>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the current system
   culture.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.UInt16.ToString"/>(<paramref name="format"/>, null).</para>
							<para>If <paramref name="format"/> is a null reference, the general
format specifier "G" is used.</para>
						</remarks>
						<example>
							<para>This example demonstrates converting a <see cref="T:System.UInt16"/> to a string.</para>
							<code lang="C#">using System;
public class UInt16ToStringExample {
   public static void Main() {
      UInt16 i = 16;
      Console.WriteLine(i);
      String[] formats = {"c", "d", "e", "f", "g", "n", "p", "x" };
      foreach(String str in formats)
         Console.WriteLine("{0}: {1}", str, i.ToString(str));
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>16</para>
								<para>c: $16.00</para>
								<para>d: 16</para>
								<para>e: 1.600000e+001</para>
								<para>f: 16.00</para>
								<para>g: 16</para>
								<para>n: 16.00</para>
								<para>p: 1,600.00 %</para>
								<para>x: 10</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="UInt32" FullName="System.UInt32" FullNameSP="System_UInt32">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable UInt32 extends System.ValueType implements System.IComparable, System.IFormattable"/>
			<TypeSignature Language="C#" Value="public struct UInt32 : IComparable, IFormattable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents a 32-bit unsigned integer.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.UInt32"/> data type represents integer values ranging from 0 to
   positive 4,294,967,295 (hexadecimal 0xFFFFFFFF).</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IFormattable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Attributes>
				<Attribute>
					<AttributeName>CLSCompliantAttribute(false)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared
      to the specified <see cref="T:System.Object"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   current instance as compared to <paramref name="value"/>. The following table defines the
   conditions under which the return value is a negative number, zero, or a
   positive number.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>Current instance &lt; <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>Current instance == <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>
										<para>Current instance &gt; <paramref name="value"/>, or
<paramref name="value"/> is a null reference.</para>
									</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is not a <see cref="T:System.UInt32"/> and is not a null reference.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is
      implemented to support the <see cref="T:System.IComparable"/>
      interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the specified <see cref="T:System.Object"/> represent the
   same type and value.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> represents the same
   type and value as the current instance. If <paramref name="obj"/> is a null reference or
   is not an instance of <see cref="T:System.UInt32"/>, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para>The algorithm used to
      generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxValue">
					<MemberSignature Language="ILASM" Value=".field public static literal unsigned int32 MaxValue = 4294967295"/>
					<MemberSignature Language="C#" Value="public const uint MaxValue = 4294967295;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>4294967295</MemberValue>
					<Docs>
						<summary>
							<para>Contains the maximum value for the <see cref="T:System.UInt32"/> type.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 4,294,967,295 (hexadecimal 
 0xFFFFFFFF).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinValue">
					<MemberSignature Language="ILASM" Value=".field public static literal unsigned int32 MinValue = 0"/>
					<MemberSignature Language="C#" Value="public const uint MinValue = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>0</MemberValue>
					<Docs>
						<summary>
							<para>Contains the minimum value for the <see cref="T:System.UInt32"/> type.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 0.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 Parse(string s)"/>
					<MemberSignature Language="C#" Value="public static uint Parse(string s);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.UInt32"/>
value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<returns>
							<para>The <see cref="T:System.UInt32"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<para>
								<paramref name="s"/> represents a number greater than <see cref="F:System.UInt32.MaxValue"/> or less than <see cref="F:System.UInt32.MinValue"/>. </para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.UInt32.Parse(System.String)"/> is equivalent to <see cref="M:System.UInt32.Parse(System.String)"/>(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/>, <see langword="null"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system culture. <block subset="none" type="note">For more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.</block>
							</para>
							<para>This method is not CLS-compliant. For a CLS-compliant
   alternative use <see cref="M:System.Int64.Parse(System.String)"/>(<see cref="T:System.String"/>).</para>
						</remarks>
						<example>
							<para>This example demonstrates parsing a string to a <see cref="T:System.UInt32"/>.</para>
							<code lang="C#">using System;
public class UInt32ParseClass {
  public static void Main() {
    string str = "  100   ";
    Console.WriteLine("String: \"{0}\" &lt;UInt32&gt; {1}",str,UInt32.Parse(str));
  }
}
</code>
							<para>The output is</para>
							<para>
								<c>String: "
   100 " &lt;UInt32&gt; 100</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 Parse(string s, valuetype System.Globalization.NumberStyles style)"/>
					<MemberSignature Language="C#" Value="public static uint Parse(string s, NumberStyles style);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.UInt32"/>
value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/>.</param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<returns>
							<para>The <see cref="T:System.UInt32"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<para>
								<paramref name="s"/> represents a number greater than <see cref="F:System.UInt32.MaxValue"/> or less than <see cref="F:System.UInt32.MinValue"/>.</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.UInt32.Parse(System.String)"/> is equivalent to <see cref="M:System.UInt32.Parse(System.String)"/>(<paramref name="s"/>, <paramref name="style"/>, <see langword="null"/>).</para>
							<para>The string is parsed using the formatting information in
   a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current
   system culture. <block subset="none" type="note">For more information, see
<see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.</block>
							</para>
							<para>This method is not CLS-compliant. For a CLS-compliant
   alternative use <see cref="M:System.Int64.Parse(System.String)"/>(<see cref="T:System.String"/>, <see cref="T:System.Globalization.NumberStyles"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 Parse(string s, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static uint Parse(string s, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.UInt32"/> value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.UInt32"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.UInt32.MaxValue"/> or less than <see cref="F:System.UInt32.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.UInt32.Parse(System.String)"/> is equivalent to <see cref="M:System.UInt32.Parse(System.String)"/>(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/>, <paramref name="provider"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the
culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> 
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
							<para>This method is not CLS-compliant. For a CLS-compliant 
   alternative use <see cref="M:System.Int64.Parse(System.String)"/>
   (<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/>).</para>
							<paramref name=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 Parse(string s, valuetype System.Globalization.NumberStyles style, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static uint Parse(string s, NumberStyles style, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.UInt32"/> value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/>.</param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.UInt32"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<para>
								<paramref name="s"/> represents a number greater than <see cref="F:System.UInt32.MaxValue"/> or less than <see cref="F:System.UInt32.MinValue"/>.</para>
						</exception>
						<remarks>
							<para>The string <paramref name="s"/> is parsed using the
   culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
   instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> 
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
							<para>This method is not CLS-compliant. For a CLS-compliant
   alternative use <see cref="M:System.Int64.Parse(System.String)"/>(<see cref="T:System.String"/>, <see cref="T:System.Globalization.NumberStyles"/>, <see cref="T:System.IFormatProvider"/>).</para>
							<paramref name=""/>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string takes into account the
   formatting information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by
<paramref name="provider"/>.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.UInt32.ToString"/> is equivalent to <see cref="M:System.UInt32.ToString"/>("G",
<paramref name="provider"/>).</para>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
be obtained from <paramref name="provider"/>, the formatting information for the current
system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(string format, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of
   the current instance. </para>
						</summary>
						<param name=" format">A <see cref="T:System.String"/> containing a character that specifies the format of the returned string.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the formatting
   information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
   be obtained from <paramref name="provider"/>, the formatting information for the current system
   culture is used.</para>
							<para>If <paramref name="format"/> is a null reference the general format
specifier "G" is used.</para>
							<block subset="none" type="note">
								<para>For a detailed
      description of formatting, see the <see cref="T:System.IFormattable"/>
      interface.</para>
								<para> This method is implemented
      to support the <see cref="T:System.IFormattable"/>
      interface.</para>
							</block>
							<para>The following table lists the characters that are valid for the <see cref="T:System.UInt32"/> type.</para>
							<list type="table">
								<listheader>
									<term>Format Characters</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> "C", "c"</term>
									<description>Currency format.</description>
								</item>
								<item>
									<term> "D", "d"</term>
									<description>Decimal format.</description>
								</item>
								<item>
									<term> "E", "e"</term>
									<description>Exponential notation format.</description>
								</item>
								<item>
									<term> "F", "f"</term>
									<description>Fixed-point format.</description>
								</item>
								<item>
									<term> "G", "g"</term>
									<description>General format.</description>
								</item>
								<item>
									<term> "N", "n"</term>
									<description>Number format.</description>
								</item>
								<item>
									<term> "P", "p"</term>
									<description>Percent format.</description>
								</item>
								<item>
									<term> "X", "x"</term>
									<description>Hexadecimal
         format.</description>
								</item>
							</list>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/>
representation of the current instance formatted using the general format
specifier, ("G"). The string takes into account the current system culture.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.UInt32.ToString"/> is equivalent to <see cref="M:System.UInt32.ToString"/> (<see langword="null"/>, 
<see langword="null"/>).</para>
							<para>
								<block subset="none" type="note">This method
   overrides <see cref="M:System.Object.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(string format)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format of the returned string. <block subset="none" type="note">For a list of valid values, see <see cref="M:System.UInt32.ToString"/>(<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/> ).</block>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the current system culture.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.UInt32.ToString"/>
(<paramref name="format"/>,
<see langword="null"/>).</para>
							<para>If <paramref name="format"/> is a null reference, the general
format specifier "G" is used.</para>
						</remarks>
						<example>
							<para>This example demonstrates converting a <see cref="T:System.UInt32"/> to a string.</para>
							<code lang="C#">using System;
public class UInt32ToStringExample {
   public static void Main() {
      UInt32 i = 32;
      Console.WriteLine(i);
      String[] formats = {"c", "d", "e", "f", "g", "n", "p", "x" };
      foreach(String str in formats)
         Console.WriteLine("{0}: {1}", str, i.ToString(str));
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>32</para>
								<para>c: $32.00</para>
								<para>d: 32</para>
								<para>e: 3.200000e+001</para>
								<para>f: 32.00</para>
								<para>g: 32</para>
								<para>n: 32.00</para>
								<para>p: 3,200.00 %</para>
								<para>x: 20</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="UInt64" FullName="System.UInt64" FullNameSP="System_UInt64">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable UInt64 extends System.ValueType implements System.IComparable, System.IFormattable"/>
			<TypeSignature Language="C#" Value="public struct UInt64 : IComparable, IFormattable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents a 64-bit unsigned integer.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.UInt64"/> data type represents integer values ranging from
   0 to positive 18,446,744,073,709,551,615 (hexadecimal 0xFFFFFFFFFFFFFFFF). </para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IFormattable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Attributes>
				<Attribute>
					<AttributeName>CLSCompliantAttribute(false)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared
      to the specified <see cref="T:System.Object"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort
   order of the current instance as compared to <paramref name="value"/>. The following table
   defines the conditions under which the return value is a negative number, zero,
   or a positive number.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>Current instance &lt; <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>Current instance == <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>
										<para>Current instance &gt; <paramref name="value"/>, or
   <paramref name="value"/> is a null reference. </para>
									</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is not a <see cref="T:System.UInt64"/> and is not a null reference.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method is
      implemented to support the <see cref="T:System.IComparable"/>
      interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the specified <see cref="T:System.Object"/> represent the
   same value and type.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> represents the same
   value and type as the current instance. If <paramref name="obj"/> is a null reference or
   is not an instance of <see cref="T:System.UInt64"/>, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para>The algorithm used to
      generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxValue">
					<MemberSignature Language="ILASM" Value=".field public static literal unsigned int64 MaxValue = 18446744073709551615"/>
					<MemberSignature Language="C#" Value="public const ulong MaxValue = 18446744073709551615;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>18446744073709551615</MemberValue>
					<Docs>
						<summary>
							<para>Contains the maximum value for the <see cref="T:System.UInt64"/>
type.</para>
						</summary>
						<remarks>
							<para> The value of this constant is 18,446,744,073,709,551,615 (hexadecimal 0xFFFFFFFFFFFFFFFF).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinValue">
					<MemberSignature Language="ILASM" Value=".field public static literal unsigned int64 MinValue = 0"/>
					<MemberSignature Language="C#" Value="public const ulong MinValue = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>0</MemberValue>
					<Docs>
						<summary>
							<para>Contains the minimum value for the <see cref="T:System.UInt64"/>
type.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 0.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 Parse(string s)"/>
					<MemberSignature Language="C#" Value="public static ulong Parse(string s);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.UInt64"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<returns>
							<para>The <see cref="T:System.UInt64"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<para>
								<paramref name="s"/> represents a number greater than <see cref="F:System.UInt64.MaxValue"/> or less than <see cref="F:System.UInt64.MinValue"/>. </para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.UInt64.Parse(System.String)"/> is equivalent to <see cref="M:System.UInt64.Parse(System.String)"/>(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/>, <see langword="null"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system
culture. <block subset="none" type="note"> For
more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.</block>
							</para>
							<para>This method is not CLS-compliant. For a CLS-compliant
   alternative use <see cref="M:System.Single.Parse(System.String)"/>(<see cref="T:System.String"/>).</para>
						</remarks>
						<example>
							<para>This example demonstrates parsing a string to a <see cref="T:System.UInt64"/>.</para>
							<code lang="C#">using System;
public class UInt64ParseClass {
  public static void Main() {
    string str = "  100   ";
    Console.WriteLine("String: \"{0}\" &lt;UInt64&gt; {1}",str,UInt64.Parse(str));
  }
}
</code>
							<para>The output is</para>
							<para>
								<c>String: "
   100 " &lt;UInt64&gt; 100</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 Parse(string s, valuetype System.Globalization.NumberStyles style)"/>
					<MemberSignature Language="C#" Value="public static ulong Parse(string s, NumberStyles style);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.UInt64"/>
value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/>.</param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<returns>
							<para>The <see cref="T:System.UInt64"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<para>
								<paramref name="s"/> represents a number greater than <see cref="F:System.UInt64.MaxValue"/> or less than <see cref="F:System.UInt64.MinValue"/>.</para>
						</exception>
						<remarks>
							<para>This version of <see cref="M:System.UInt64.Parse(System.String)"/> is equivalent to <see cref="M:System.UInt64.Parse(System.String)"/>(<paramref name="s"/>,
<paramref name="style"/>, <see langword="null"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system culture. <block subset="none" type="note">For more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.</block>
							</para>
							<para>This method is not CLS-compliant. For a CLS-compliant
   alternative use <see cref="M:System.Single.Parse(System.String)"/>(<see cref="T:System.String"/>, <see cref="T:System.Globalization.NumberStyles"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 Parse(string s, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static ulong Parse(string s, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.UInt64"/>
value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.UInt64"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.UInt64.MaxValue"/> or less than <see cref="F:System.UInt64.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.UInt64.Parse(System.String)"/> is equivalent to <see cref="M:System.UInt64.Parse(System.String)"/>(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Integer"/>, <paramref name="provider"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the
culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> 
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
							<para>This method is not CLS-compliant. For a CLS-compliant
   alternative use <see cref="M:System.Single.Parse(System.String)"/>(<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 Parse(string s, valuetype System.Globalization.NumberStyles style, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static ulong Parse(string s, NumberStyles style, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.UInt64"/> value.</para>
						</summary>
						<param name=" s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/>.</param>
						<param name=" style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Integer"/> style.</param>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.UInt64"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<para>
								<paramref name="s"/> represents a number greater than <see cref="F:System.UInt64.MaxValue"/> or less than <see cref="F:System.UInt64.MinValue"/>.</para>
						</exception>
						<remarks>
							<para>The string <paramref name="s"/> is parsed using the
   culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
   instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> 
cannot be obtained from <paramref name="provider"/>, the formatting information for the
current system culture is used.</para>
							<para>This method is not CLS-compliant. For a CLS-compliant
   alternative use <see cref="M:System.Single.Parse(System.String)"/>(<see cref="T:System.String"/>, <see cref="T:System.Globalization.NumberStyles"/>, <see cref="T:System.IFormatProvider"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the
   current instance. </para>
						</summary>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string takes into account the
   formatting information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by
<paramref name="provider"/>.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.UInt64.ToString"/> is equivalent to <see cref="M:System.UInt64.ToString"/> ("G",
<paramref name="provider"/>).</para>
							<para>If <paramref name="provider"/> is
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
be obtained from <paramref name="provider"/>, the formatting information for the current
system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(string format, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<param name=" format">A <see cref="T:System.String"/> containing a character that specifies the format of the returned string.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the formatting
   information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
   be obtained from <paramref name="provider"/>, the formatting information for the current
   system culture is used.</para>
							<para>If <paramref name="format"/> is a null reference, the general
format specifier "G" is used.</para>
							<block subset="none" type="note">
								<para>For a detailed
      description of formatting, see the <see cref="T:System.IFormattable"/> interface. </para>
								<para> This method is implemented
      to support the <see cref="T:System.IFormattable"/> interface.</para>
							</block>
							<para>The following table lists the characters that are valid for the <see cref="T:System.UInt64"/> type.</para>
							<list type="table">
								<listheader>
									<term>Format Characters</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> "C", "c"</term>
									<description>Currency format.</description>
								</item>
								<item>
									<term> "D", "d"</term>
									<description>Decimal format.</description>
								</item>
								<item>
									<term> "E", "e"</term>
									<description>Exponential notation format.</description>
								</item>
								<item>
									<term> "F", "f"</term>
									<description>Fixed-point format.</description>
								</item>
								<item>
									<term> "G", "g"</term>
									<description>General format.</description>
								</item>
								<item>
									<term> "N", "n"</term>
									<description>Number format.</description>
								</item>
								<item>
									<term> "P", "p"</term>
									<description>Percent format.</description>
								</item>
								<item>
									<term> "X", "x"</term>
									<description>Hexadecimal
         format.</description>
								</item>
							</list>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using the general format specifier, ("G"). The string takes into account the current system culture.</para>
						</returns>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.UInt64.ToString"/>(<see langword="null"/>,
<see langword="null"/>).</para>
							<para>
								<block subset="none" type="note">This method
   overrides <see cref="M:System.Object.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(string format)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format of the returned string. <block subset="none" type="note">For a list of valid values, see <see cref="M:System.UInt64.ToString"/>(<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/> ).</block>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the current system
   culture.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.UInt64.ToString"/>(<paramref name="format"/>, 
<see langword="null"/>).</para>
							<para>If <paramref name="format"/> is a null reference, the general format specifier "G" is
used.</para>
						</remarks>
						<example>
							<para>This example demonstrates converting a <see cref="T:System.UInt64"/> to a string.</para>
							<code lang="C#">using System;
public class UInt64ToStringExample {
   public static void Main() {
      UInt64 i = 64;
      Console.WriteLine(i);
      String[] formats = {"c", "d", "e", "f", "g", "n", "p", "x" };
      foreach(String str in formats)
         Console.WriteLine("{0}: {1}", str, i.ToString(str));
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>64</para>
								<para>c: $64.00</para>
								<para>d: 64</para>
								<para>e: 6.400000e+001</para>
								<para>f: 64.00</para>
								<para>g: 64</para>
								<para>n: 64.00</para>
								<para>p: 6,400.00 %</para>
								<para>x: 40</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="UnauthorizedAccessException" FullName="System.UnauthorizedAccessException" FullNameSP="System_UnauthorizedAccessException">
			<TypeSignature Language="ILASM" Value=".class public serializable UnauthorizedAccessException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class UnauthorizedAccessException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
   Represents the error that occurs when an I/O operation
   cannot be performed because of incompatible file access levels.
</summary>
				<remarks>
					<para>
						<see cref="T:System.UnauthorizedAccessException"/> is typically thrown when a request is 
   made to write to a read-only file, or a file I/O
   operation is requested on a directory.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public UnauthorizedAccessException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.UnauthorizedAccessException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.UnauthorizedAccessException.Message"/>
property of the new instance to a system-supplied message
that describes the error, such as "Attempted to perform an unauthorized
operation." This message takes into account the current system culture.</para>
							<para>The <see cref="!:System.UnauthorizedAccessException.InnerException"/>
property of the new instance is initialized to <see langword="null"/>
.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public UnauthorizedAccessException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.UnauthorizedAccessException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.UnauthorizedAccessException.Message"/> property of the new instance using <paramref name="message"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.UnauthorizedAccessException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments.</para>
							<para>The <see cref="!:System.UnauthorizedAccessException.InnerException"/> property of the new
instance is initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception inner)"/>
					<MemberSignature Language="C#" Value="public UnauthorizedAccessException(string message, Exception inner);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="inner" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.UnauthorizedAccessException"/> class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="inner">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="inner"/> is non-null, then the current Exception was raised in a catch block handling <paramref name="inner"/>.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.UnauthorizedAccessException.Message"/> property of
   the new instance using <paramref name="message"/> and the <see cref="!:System.UnauthorizedAccessException.InnerException"/> property using <paramref name="inner"/>. If <paramref name="message"/> is <see langword="null"/>, the
<see cref="!:System.UnauthorizedAccessException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For more
   information on inner exceptions, see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="UnicodeCategory" FullName="System.Globalization.UnicodeCategory" FullNameSP="System_Globalization_UnicodeCategory">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable UnicodeCategory extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum UnicodeCategory"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Designates the general Unicode category of a <see cref="T:System.Char"/> .</para>
				</summary>
				<remarks>
					<para>These categories conform to Version 3.1 of the Unicode
      Standard.
      </para>
					<para>
						<block subset="none" type="note">For information on mapping specific 
      Unicode characters to categories, see the UnicodeData.txt file in the
      Unicode Character Database at http://www.unicode.org/Public/UNIDATA/UnicodeCharacterDatabase.html. The
      UnicodeData.txt file format is described at http://www.unicode.org/Public/3.1-Update/UnicodeData-3.1.0.html.</block>
					</para>
					<para>This enumeration
      is used to support <see cref="T:System.Char"/> methods such as
   <see cref="M:System.Char.IsLetter(System.Char)"/>,
   <see cref="M:System.Char.IsUpper(System.Char)"/>
   , etc.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="ClosePunctuation">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory ClosePunctuation = 21"/>
					<MemberSignature Language="C#" Value="ClosePunctuation = 21;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ClosePunctuation</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Pe' (punctuation, close).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ConnectorPunctuation">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory ConnectorPunctuation = 18"/>
					<MemberSignature Language="C#" Value="ConnectorPunctuation = 18;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ConnectorPunctuation</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Pc' (punctuation, connector).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Control">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory Control = 14"/>
					<MemberSignature Language="C#" Value="Control = 14;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Control</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Cc' (other, control).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CurrencySymbol">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory CurrencySymbol = 26"/>
					<MemberSignature Language="C#" Value="CurrencySymbol = 26;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>CurrencySymbol</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Sc' (symbol, currency).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DashPunctuation">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory DashPunctuation = 19"/>
					<MemberSignature Language="C#" Value="DashPunctuation = 19;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>DashPunctuation</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Pd' (punctuation, dash).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DecimalDigitNumber">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory DecimalDigitNumber = 8"/>
					<MemberSignature Language="C#" Value="DecimalDigitNumber = 8;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>DecimalDigitNumber</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Nd' (number, decimal digit).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EnclosingMark">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory EnclosingMark = 7"/>
					<MemberSignature Language="C#" Value="EnclosingMark = 7;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>EnclosingMark</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Me' (mark, enclosing).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FinalQuotePunctuation">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory FinalQuotePunctuation = 23"/>
					<MemberSignature Language="C#" Value="FinalQuotePunctuation = 23;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>FinalQuotePunctuation</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Pf' (punctuation, final quote).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Format">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory Format = 15"/>
					<MemberSignature Language="C#" Value="Format = 15;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Format</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Cf' (other, format).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="InitialQuotePunctuation">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory InitialQuotePunctuation = 22"/>
					<MemberSignature Language="C#" Value="InitialQuotePunctuation = 22;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>InitialQuotePunctuation</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Pi' (punctuation, initial quote).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LetterNumber">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory LetterNumber = 9"/>
					<MemberSignature Language="C#" Value="LetterNumber = 9;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>LetterNumber</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Nl' (number, letter).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LineSeparator">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory LineSeparator = 12"/>
					<MemberSignature Language="C#" Value="LineSeparator = 12;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>LineSeparator</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Zl' (separator, line).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LowercaseLetter">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory LowercaseLetter = 1"/>
					<MemberSignature Language="C#" Value="LowercaseLetter = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>LowercaseLetter</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Ll' (letter, lowercase).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MathSymbol">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory MathSymbol = 25"/>
					<MemberSignature Language="C#" Value="MathSymbol = 25;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>MathSymbol</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Sm' (symbol, math).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ModifierLetter">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory ModifierLetter = 3"/>
					<MemberSignature Language="C#" Value="ModifierLetter = 3;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ModifierLetter</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Lm' (letter, modifier).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ModifierSymbol">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory ModifierSymbol = 27"/>
					<MemberSignature Language="C#" Value="ModifierSymbol = 27;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ModifierSymbol</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Sk' (symbol, modifier).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NonSpacingMark">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory NonSpacingMark = 5"/>
					<MemberSignature Language="C#" Value="NonSpacingMark = 5;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NonSpacingMark</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Mn' (mark, non-spacing).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OpenPunctuation">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory OpenPunctuation = 20"/>
					<MemberSignature Language="C#" Value="OpenPunctuation = 20;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>OpenPunctuation</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Ps' (punctuation, open).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OtherLetter">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory OtherLetter = 4"/>
					<MemberSignature Language="C#" Value="OtherLetter = 4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>OtherLetter</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Lo' (letter, other: not an 
      uppercase letter, a lowercase letter, a titlecase letter, or a modifier letter).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OtherNotAssigned">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory OtherNotAssigned = 29"/>
					<MemberSignature Language="C#" Value="OtherNotAssigned = 29;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>OtherNotAssigned</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Cn' (other, not assigned).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OtherNumber">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory OtherNumber = 10"/>
					<MemberSignature Language="C#" Value="OtherNumber = 10;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>OtherNumber</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'No' (number, other: not a decimal 
      digit number or a letter number).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OtherPunctuation">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory OtherPunctuation = 24"/>
					<MemberSignature Language="C#" Value="OtherPunctuation = 24;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>OtherPunctuation</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Po' (punctuation, other: not 
      connector, dash, open, close, initial quote, or final quote punctuation).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OtherSymbol">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory OtherSymbol = 28"/>
					<MemberSignature Language="C#" Value="OtherSymbol = 28;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>OtherSymbol</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'So' (symbol, other: not a math, 
      currency, or modifier symbol).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ParagraphSeparator">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory ParagraphSeparator = 13"/>
					<MemberSignature Language="C#" Value="ParagraphSeparator = 13;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ParagraphSeparator</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Zp' (separator, paragraph).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PrivateUse">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory PrivateUse = 17"/>
					<MemberSignature Language="C#" Value="PrivateUse = 17;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>PrivateUse</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Co' (other, private use).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SpaceSeparator">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory SpaceSeparator = 11"/>
					<MemberSignature Language="C#" Value="SpaceSeparator = 11;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>SpaceSeparator</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Zs' (separator, space).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SpacingCombiningMark">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory SpacingCombiningMark = 6"/>
					<MemberSignature Language="C#" Value="SpacingCombiningMark = 6;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>SpacingCombiningMark</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Mc' (mark, spacing combining).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Surrogate">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory Surrogate = 16"/>
					<MemberSignature Language="C#" Value="Surrogate = 16;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Surrogate</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Cs' (other, surrogate).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TitlecaseLetter">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory TitlecaseLetter = 2"/>
					<MemberSignature Language="C#" Value="TitlecaseLetter = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>TitlecaseLetter</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Lt' (letter, titlecase).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="UppercaseLetter">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Globalization.UnicodeCategory UppercaseLetter = 0"/>
					<MemberSignature Language="C#" Value="UppercaseLetter = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Globalization.UnicodeCategory</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>UppercaseLetter</MemberValue>
					<Docs>
						<summary>
							<para>Designates a Unicode 'Lu' (letter, uppercase).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="UnicodeEncoding" FullName="System.Text.UnicodeEncoding" FullNameSP="System_Text_UnicodeEncoding">
			<TypeSignature Language="ILASM" Value=".class public serializable UnicodeEncoding extends System.Text.Encoding"/>
			<TypeSignature Language="C#" Value="public class UnicodeEncoding : Encoding"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents a Unicode implementation of <see cref="T:System.Text.Encoding"/>.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Text.UnicodeEncoding"/> encodes each Unicode character in UTF-16, i.e. as
   two consecutive bytes. Both little-endian and big-endian encodings are
   supported.</para>
					<block subset="none" type="note">
						<para> On little-endian platforms such as Intel
      machines, it is generally more efficient to store Unicode characters in
      little-endian. However, many other platforms can store Unicode characters in
      big-endian. Unicode files can be distinguished by the presence of the byte order
      mark (U+FEFF), which is written as either 0xfe 0xff or 0xff 0xfe. </para>
						<para> This <see cref="T:System.Text.Encoding"/> implementation can detect a byte order mark automatically
   and switch byte orders, based on a parameter specified in the constructor.</para>
						<para> ISO/IEC 10646 defines UCS-2 and UCS-4. UCS-4 is a four-byte (32-bit)
   encoding containing 2<sup>31</sup> code positions, divided into 128
groups of 256 planes. Each plane contains 2<sup>16</sup> code
positions. UCS-2 is a two-byte (16-bit) encoding containing the
2<sup>16</sup> code positions of UCS-4 for which the upper two bytes
are zero, known as Plane Zero or the Basic Multilingual Plane (BMP).
For example, the code position for LATIN CAPITAL LETTER A in UCS-4
is 0x00000041 whereas in UCS-2 it is 0x0041.</para>
						<para> ISO/IEC 10646 also defines UTF-16, which stands for "UCS
   Transformation Format for 16 Planes of Group 00". UTF-16 is a two
   byte encoding that uses an extension mechanism to represent
   2<sup>21</sup> code positions. UTF-16 represents code
positions in Plane Zero by its UCS-2 code value and code positions in
Planes 1 through 16 by a pair of special code values,
called surrogates. UTF-16 is equivalent to the Unicode Standard. For a
detailed description of UTF-16 and surrogates, see "The Unicode Standard Version 3.0"
Appendix C.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Text.Encoding</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public UnicodeEncoding();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs and initializes
      a new instance of the <see cref="T:System.Text.UnicodeEncoding"/>
      class.
      </para>
						</summary>
						<remarks>
							<para> The new instance uses little-endian encoding and includes the Unicode byte-order
      mark in conversions.
      </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(bool bigEndian, bool byteOrderMark)"/>
					<MemberSignature Language="C#" Value="public UnicodeEncoding(bool bigEndian, bool byteOrderMark);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="bigEndian" Type="System.Boolean"/>
						<Parameter Name="byteOrderMark" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Text.UnicodeEncoding"/> class using the specified Boolean
   flags.</para>
						</summary>
						<param name="bigEndian">A <see cref="T:System.Boolean"/> value that specifies the byte-ordering to use for the new instance. Specify <see langword="true"/> to use big-endian ordering; specify <see langword="false"/> to use little-endian ordering. </param>
						<param name="byteOrderMark">A <see cref="T:System.Boolean"/> value that specifies whether to include the Unicode byte order mark in translated strings. Specify <see langword="true"/> to include the Unicode byte-order mark; otherwise, specify <see langword="false"/> . </param>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object value)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the
      specified <see cref="T:System.Object"/> represent the
      same type and value.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> represents the same type and value as the
   current instance. If <paramref name="value"/> is a null reference or is not an
   instance of <see cref="T:System.Text.UnicodeEncoding"/>, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Object.Equals(System.Object)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetByteCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetByteCount(class System.Char[] chars, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public override int GetByteCount(char[] chars, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines the exact number of bytes required to encode the specified range
      of the specified array of characters as Unicode-encoded characters. </para>
						</summary>
						<param name="chars"> A <see cref="T:System.Char"/> array to encode as Unicode-encoded characters. </param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="chars"/> to encode. </param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of elements in <paramref name="chars"/> to encode. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> whose
   value equals the number of bytes required to encode the range in <paramref name="chars"/>
   from <paramref name="index"/> to <paramref name="index"/> + <paramref name="count"/> - 1 as Unicode-encoded
   characters.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="chars "/> is <see langword="null"/> . </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="count"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> and<paramref name=" count "/>do not specify a valid range in <paramref name="chars"/> (i.e. (<paramref name=" index"/> + <paramref name="count"/>) &gt; <paramref name="chars"/>.Length).</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetByteCount(System.Char[])" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetByteCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetByteCount(string s)"/>
					<MemberSignature Language="C#" Value="public override int GetByteCount(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the number of bytes required to encode the
      specified string as Unicode-encoded characters. </para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> to encode as Unicode-encoded characters.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing the number of bytes needed to encode <paramref name="s"/> as Unicode-encoded
characters. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Text.Encoding.GetByteCount(System.Char[])" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetBytes(string s, int32 charIndex, int32 charCount, class System.Byte[] bytes, int32 byteIndex)"/>
					<MemberSignature Language="C#" Value="public override int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="charIndex" Type="System.Int32"/>
						<Parameter Name="charCount" Type="System.Int32"/>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Encodes the specified range of the specified string into the specified range
      of the specified array of bytes as Unicode-encoded characters.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> to encode as Unicode-encoded characters. </param>
						<param name="charIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="s"/> from which to encode. </param>
						<param name="charCount">A <see cref="T:System.Int32"/> that specifies the number of elements in <paramref name="s"/> to encode. </param>
						<param name="bytes">A <see cref="T:System.Byte"/> array to encode into. </param>
						<param name="byteIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="bytes"/> to encode into. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> whose
   value equals the number of bytes encoded into <paramref name="bytes"/> as Unicode-encoded
   characters. </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="bytes"/> does not contain sufficient space to store the encoded characters.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="s"/> is <see langword="null"/>. </para>
							<para>-or-</para>
							<para>
								<paramref name="bytes "/>is <see langword="null"/>. </para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="charIndex"/> &lt; 0. </para>
							<para>-or-</para>
							<para>
								<paramref name="charCount "/> &lt; 0. </para>
							<para>-or-</para>
							<para>
								<paramref name="byteIndex "/> &lt; 0. </para>
							<para>-or-</para>
							<para>
								<paramref name="charIndex "/>and <paramref name="charCount"/> do not specify a valid range in <paramref name="s"/> (i.e. (<paramref name="charIndex"/> + <paramref name="charCount"/>) &gt; <paramref name="s"/>.Length).</para>
							<para>-or-</para>
							<para>
								<paramref name="byteIndex"/> &gt;= <paramref name="bytes"/>.Length.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetBytes(System.Char[])" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Byte[] GetBytes(string s)"/>
					<MemberSignature Language="C#" Value="public override byte[] GetBytes(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Encodes the specified string as Unicode-encoded characters. </para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> to encode as Unicode-encoded characters. </param>
						<returns>
							<para> A <see cref="T:System.Byte"/> array containing the encoded representation of
<paramref name="s"/> as Unicode-encoded characters.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetBytes(System.Char[])" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetBytes(class System.Char[] chars, int32 charIndex, int32 charCount, class System.Byte[] bytes, int32 byteIndex)"/>
					<MemberSignature Language="C#" Value="public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="charIndex" Type="System.Int32"/>
						<Parameter Name="charCount" Type="System.Int32"/>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Encodes the specified range of the specified character array into
      the specified range of the specified byte array as Unicode-encoded characters. </para>
						</summary>
						<param name="chars">A <see cref="T:System.Char"/> array of characters to encode as Unicode-encoded characters. </param>
						<param name="charIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="chars"/> to encode. </param>
						<param name="charCount">A <see cref="T:System.Int32"/> that specifies the number of elements in <paramref name="chars"/> to encode. </param>
						<param name="bytes">A <see cref="T:System.Byte"/> array to encode into. </param>
						<param name="byteIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="bytes"/> to encode into. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing the number of bytes encoded into <paramref name="bytes"/> as Unicode-encoded
characters. </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="bytes"/> does not contain sufficient space to store the encoded characters.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="chars "/>is <see langword="null"/>. </para>
							<para>-or- </para>
							<para>
								<paramref name="bytes "/> is <see langword="null"/>. </para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="charIndex"/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="charCount "/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="byteIndex "/> &lt; 0. </para>
							<para> -or- </para>
							<para>
								<paramref name="charIndex"/> and <paramref name="charCount"/> do not specify a valid range in <paramref name="chars"/> (i.e. ( <paramref name="charIndex "/>+ <paramref name="charCount "/>) &gt; <paramref name="chars"/>.Length).</para>
							<para>-or-</para>
							<para>
								<paramref name="byteIndex"/> &gt; <paramref name="bytes"/>.Length.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para> This method overrides <see cref="M:System.Text.Encoding.GetBytes(System.Char[])" qualify="true"/>.</para>
								<para>
									<see cref="M:System.Text.UnicodeEncoding.GetByteCount(System.Char[],System.Int32,System.Int32)"/> can be used to determine the exact number of
   bytes that will be produced for a given range of characters. Alternatively,
<see cref="M:System.Text.UnicodeEncoding.GetMaxByteCount(System.Int32)"/>
can be used to determine the maximum number of bytes that will be produced for
a given number of characters, regardless of the actual character values.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetCharCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetCharCount(class System.Byte[] bytes, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public override int GetCharCount(byte[] bytes, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines the exact number of characters that will be produced by decoding
      the specified range of the specified array of bytes as Unicode-encoded
      characters. </para>
						</summary>
						<param name="bytes">A <see cref="T:System.Byte"/> array to decode as Unicode-encoded characters. </param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the first index in <paramref name="bytes"/> to decode. </param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of elements in <paramref name="bytes"/> to decode. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/>
whose value equals the number of characters a call to <see cref="M:System.Text.UnicodeEncoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/> will produce if presented with the
specified range of <paramref name="bytes"/> as Unicode-encoded characters.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="bytes "/> is <see langword="null"/>. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index"/> &lt; 0.</para>
							<para> -or-</para>
							<para>
								<paramref name="count"/> &lt; 0.</para>
							<para> -or-</para>
							<para>
								<paramref name=" index"/> and <paramref name="count"/> do not specify a valid range in <paramref name=" bytes"/> (i.e. (<paramref name="index"/> + <paramref name="count"/>) &gt; <paramref name=" bytes"/>.Length).</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetCharCount(System.Byte[])" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetChars">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetChars(class System.Byte[] bytes, int32 byteIndex, int32 byteCount, class System.Char[] chars, int32 charIndex)"/>
					<MemberSignature Language="C#" Value="public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
						<Parameter Name="byteCount" Type="System.Int32"/>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="charIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Decodes the specified range of the specified array of bytes into the
      specified range of the specified array of characters as Unicode-encoded
      characters. </para>
						</summary>
						<param name="bytes">A <see cref="T:System.Byte"/> array to decode as Unicode-encoded characters. </param>
						<param name="byteIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="bytes"/> from which to decode. </param>
						<param name="byteCount">A <see cref="T:System.Int32"/> that specifies the number of elements in <paramref name="bytes"/> to decode. </param>
						<param name="chars">A <see cref="T:System.Char"/> array to decode into. </param>
						<param name="charIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="chars"/> to store the decoded bytes. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing the number of characters decoded into <paramref name="chars"/> as
Unicode-encoded characters. </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="chars"/> does not contain sufficient space to store the decoded characters.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="chars "/>is <see langword="null"/>. </para>
							<para>-or-</para>
							<para>
								<paramref name="bytes "/>is <see langword="null"/>. </para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="byteIndex"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="byteCount"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="charIndex"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="byteIndex"/> and <paramref name="byteCount"/> do not specify a valid range in <paramref name="bytes"/> (i.e. (<paramref name="byteIndex "/>+ <paramref name="byteCount "/>) &gt; <paramref name="bytes"/>.Length). </para>
							<para>-or-</para>
							<para>
								<paramref name="charIndex"/> &gt; <paramref name="chars"/>.Length.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para> This method overrides <see cref="M:System.Text.Encoding.GetChars(System.Byte[])" qualify="true"/>.</para>
								<para>
									<see cref="M:System.Text.UnicodeEncoding.GetCharCount(System.Byte[],System.Int32,System.Int32)"/> can be used to determine the exact number of
   characters that will be produced for a given range of bytes. Alternatively,
<see cref="M:System.Text.UnicodeEncoding.GetMaxCharCount(System.Int32)"/>
can be used to determine the maximum number of characters that will be
produced for a given number of bytes, regardless of the actual byte values.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetDecoder">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Text.Decoder GetDecoder()"/>
					<MemberSignature Language="C#" Value="public override Decoder GetDecoder();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.Decoder</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Text.Decoder"/> object
   for the current instance.</para>
						</summary>
						<returns>
							<para> A <see cref="T:System.Text.Decoder"/> object for
   the current
   instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para> This method overrides <see cref="M:System.Text.Encoding.GetDecoder" qualify="true"/>. </para>
								<para> Unlike the <see cref="M:System.Text.UnicodeEncoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/> method, the <see cref="M:System.Text.Decoder.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/>
method provided by a <see cref="T:System.Text.Decoder"/>
object can convert partial sequences of bytes into
partial sequences of characters by maintaining the appropriate state between
the conversions.</para>
								<para> This implementation returns a decoder that
   simply forwards calls to <see cref="M:System.Text.UnicodeEncoding.GetCharCount(System.Byte[],System.Int32,System.Int32)"/> and <see cref="M:System.Text.UnicodeEncoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/> to the corresponding methods of the
   current instance. It is recommended that
   encoding implementations that requires state to be maintained between successive
   conversions override this method and return an instance of an appropriate decoder
   implementation.
   </para>
							</block>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para>The algorithm used to generate the hash code is
      unspecified.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Object.GetHashCode" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetMaxByteCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetMaxByteCount(int32 charCount)"/>
					<MemberSignature Language="C#" Value="public override int GetMaxByteCount(int charCount);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="charCount" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the maximum number of bytes required to encode the specified number of characters as Unicode-encoded characters, regardless
      of the actual character values. </para>
						</summary>
						<param name="charCount">A <see cref="T:System.Int32"/> whose value represents a number of characters to encode as Unicode-encoded characters. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing the maximum number of bytes required to encode <paramref name="charCount"/>
characters as Unicode-encoded characters.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="charCount"/> &lt; 0.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para> This method overrides <see cref="M:System.Text.Encoding.GetMaxByteCount(System.Int32)" qualify="true"/>.</para>
								<para> Use this method to determine an appropriate minimum
      buffer size for byte arrays passed to <see cref="M:System.Text.UnicodeEncoding.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32)"/> or <see cref="M:System.Text.Encoder.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32,System.Boolean)"/>
      for the
      current instance. Using this minimum buffer size can help ensure that buffer overflow exceptions do
      not occur.
      </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetMaxCharCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetMaxCharCount(int32 byteCount)"/>
					<MemberSignature Language="C#" Value="public override int GetMaxCharCount(int byteCount);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="byteCount" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the maximum number of characters produced by decoding the specified number of bytes
      as Unicode-encoded characters, regardless of the actual byte values.
      </para>
						</summary>
						<param name="byteCount">A <see cref="T:System.Int32"/> specifies the number of bytes to decode as Unicode-encoded characters. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing the maximum number of characters that would be produced by
decoding <paramref name="byteCount"/> bytes as Unicode-encoded characters. </para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="byteCount"/> &lt; 0.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para> This method overrides <see cref="M:System.Text.Encoding.GetMaxCharCount(System.Int32)" qualify="true"/>.</para>
								<para> Use this method to determine an appropriate
      minimum buffer size for byte arrays passed to <see cref="M:System.Text.UnicodeEncoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/> or <see cref="M:System.Text.Encoding.GetChars(System.Byte[])"/>
      for the current instance. Using
      this minimum buffer size can help ensure that no buffer overflow exceptions will
      occur.
      </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetPreamble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Byte[] GetPreamble()"/>
					<MemberSignature Language="C#" Value="public override byte[] GetPreamble();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the bytes used at the beginning of a <see cref="T:System.IO.Stream"/> instance to
   determine which <see cref="T:System.Text.Encoding"/> implementation the stream was created with. </para>
						</summary>
						<returns>
							<para> A <see cref="T:System.Byte"/> array that identifies the <see cref="T:System.Text.Encoding"/>
implementation used to create a <see cref="T:System.IO.Stream"/> . </para>
						</returns>
						<remarks>
							<para>
								<see cref="M:System.Text.UnicodeEncoding.GetPreamble"/> returns the Unicode byte order mark (U+FEFF) in
   either big-endian or little-endian order, according the ordering that the current
   instance was initialized with.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetPreamble" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="UTF8Encoding" FullName="System.Text.UTF8Encoding" FullNameSP="System_Text_UTF8Encoding">
			<TypeSignature Language="ILASM" Value=".class public serializable UTF8Encoding extends System.Text.Encoding"/>
			<TypeSignature Language="C#" Value="public class UTF8Encoding : Encoding"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents a UTF8 character <see cref="T:System.Text.Encoding"/>.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Text.UTF8Encoding"/>
encodes Unicode characters
using the UTF-8 encoding (UCS Transformation Format, 8-bit form). This encoding supports
all Unicode character values.</para>
					<block subset="none" type="note">
						<para>UTF-8 encodes Unicode characters with a variable number of bytes per
      character. This encoding is optimized for the lower 127 ASCII characters,
      yielding an efficient mechanism to encode English in an internationalizable way.
      The UTF-8 identifier is the Unicode byte order mark (0xFEFF) written in UTF-8
      (0xEF 0xBB 0xBF). The byte order mark is used to distinguish UTF-8 text from
      other encodings.</para>
						<para>This class offers an error-checking feature that can be
      turned on when an instance of the class is constructed. Certain methods in this
      class check for invalid sequences of surrogate pairs. If error-checking is
      turned on and an invalid sequence is detected, <see cref="T:System.ArgumentException"/> is
      thrown. If error-checking is not turned on and an invalid sequence is
      detected, no exception is thrown and execution continues in a method-defined
      manner. For more information regarding surrogate pairs, see <see cref="T:System.Globalization.UnicodeCategory"/>
      
      .</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Text.Encoding</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(bool encoderShouldEmitUTF8Identifier, bool throwOnInvalidBytes)"/>
					<MemberSignature Language="C#" Value="public UTF8Encoding(bool encoderShouldEmitUTF8Identifier, bool throwOnInvalidBytes);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="encoderShouldEmitUTF8Identifier" Type="System.Boolean"/>
						<Parameter Name="throwOnInvalidBytes" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs a new instance of the 
   <see cref="T:System.Text.UTF8Encoding"/> class using the specified <see cref="T:System.Boolean"/> flags.</para>
						</summary>
						<param name="encoderShouldEmitUTF8Identifier">A <see cref="T:System.Boolean"/> that indicates whether the Unicode byte order mark in UTF-8 is recognized or emitted when reading from or writing to a <see cref="T:System.IO.Stream"/> .</param>
						<param name=" throwOnInvalidBytes">A <see cref="T:System.Boolean"/> that indicates whether error-checking is turned on for the current instance.</param>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(bool encoderShouldEmitUTF8Identifier)"/>
					<MemberSignature Language="C#" Value="public UTF8Encoding(bool encoderShouldEmitUTF8Identifier);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="encoderShouldEmitUTF8Identifier" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs a new instance of the 
   <see cref="T:System.Text.UTF8Encoding"/> class with the specified <see cref="T:System.Boolean"/> that
      indicates whether the Unicode byte order mark in UTF-8 is recognized or emitted
      when reading from or writing to a <see cref="T:System.IO.Stream"/>.</para>
						</summary>
						<param name="encoderShouldEmitUTF8Identifier">A <see cref="T:System.Boolean"/> that indicates whether the Unicode byte order mark in UTF-8 is recognized or emitted when reading from or writing to a <see cref="T:System.IO.Stream"/> .</param>
						<remarks>
							<para>This constructor is equivalent to <see cref="T:System.Text.UTF8Encoding"/>
(<paramref name="encoderShouldEmitUTF8Identifier"/>,
<see langword="false"/> ).</para>
							<para>
								<block subset="none" type="note">By default, this constructor turns
   error-checking off for the new instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public UTF8Encoding();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs a new instance of the 
   <see cref="T:System.Text.UTF8Encoding"/>
   class.</para>
						</summary>
						<remarks>
							<para>This constructor is equivalent to <see cref="T:System.Text.UTF8Encoding"/>
(<see langword="false"/>, <see langword="false"/> ).</para>
							<para>
								<block subset="none" type="note">By default, this constructor turns
   error-checking off for the new instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object value)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the
      specified <see cref="T:System.Object"/> represent the
      same type and value.</para>
						</summary>
						<param name="value">A <see cref="T:System.Object"/> to compare with the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if value is a <see cref="T:System.Text.UTF8Encoding"/> and represents the same type and value as the 
   current instance; otherwise, <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Object.Equals(System.Object)" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetByteCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetByteCount(string chars)"/>
					<MemberSignature Language="C#" Value="public override int GetByteCount(string chars);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines the number of bytes required to encode the 
      characters in the specified <see cref="T:System.String"/> as
      a <see cref="T:System.Text.UTF8Encoding"/>.</para>
						</summary>
						<param name="chars">
							<para>A <see cref="T:System.String"/> to encode as a <see cref="T:System.Text.UTF8Encoding"/>.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that specifies the number of bytes necessary to encode <paramref name="chars"/> as a <see cref="T:System.Text.UTF8Encoding"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="chars "/>is <see langword="null"/>. </exception>
						<exception cref="T:System.ArgumentException">
							<para>Error-checking is turned on for the current instance and <paramref name="chars"/> contains an invalid surrogate sequence.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>The return value is greater than <see cref="F:System.Int32.MaxValue"/>.</para>
						</exception>
						<remarks>
							<para>If error-checking is turned off and an invalid surrogate sequence is detected, the invalid characters are
      ignored and do not affect the return value, and no exception is
      thrown.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetByteCount(System.Char[])"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetByteCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetByteCount(class System.Char[] chars, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public override int GetByteCount(char[] chars, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines the number of bytes required to encode the specified
      range of characters in the specified Unicode character array as a <see cref="T:System.Text.UTF8Encoding"/>.
      </para>
						</summary>
						<param name="chars">The <see cref="T:System.Char"/> array to encode as a <see cref="T:System.Text.UTF8Encoding"/> . </param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="chars"/> to encode. </param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of characters to encode. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the number of bytes necessary to encode the range in <paramref name="chars"/> from
<paramref name="index"/> to <paramref name="index"/> + <paramref name="count"/> - 1 as a <see cref="T:System.Text.UTF8Encoding"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="chars "/> is <see langword="null"/> . </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>The return value is greater than <see cref="F:System.Int32.MaxValue"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> or <paramref name="count"/> is less than zero. </para>
							<para>-or-</para>
							<para>
								<paramref name="index"/> and <paramref name="count"/> do not specify a valid range in <paramref name="chars"/> (i.e. (<paramref name="index"/> + <paramref name="count"/>) &gt; <paramref name="chars"/>.Length).</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>Error-checking is turned on for the current instance and <paramref name="chars"/> contains an invalid surrogate sequence.</para>
						</exception>
						<remarks>
							<para>If error-checking is turned off and an invalid surrogate sequence is detected, the invalid
      characters are ignored and do not affect the return value, and no exception
      is thrown.</para>
							<block subset="none" type="note">
								<para>This method overrides
      <see cref="M:System.Text.Encoder.GetByteCount(System.Char[],System.Int32,System.Int32,System.Boolean)"/>
      .
      </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetBytes(string s, int32 charIndex, int32 charCount, class System.Byte[] bytes, int32 byteIndex)"/>
					<MemberSignature Language="C#" Value="public override int GetBytes(string s, int charIndex, int charCount, byte[] bytes, int byteIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="charIndex" Type="System.Int32"/>
						<Parameter Name="charCount" Type="System.Int32"/>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Encodes the specified range of the specified <see cref="T:System.String"/>
								<see langword=" "/>into the specified
   range of the specified <see cref="T:System.Byte"/> array as a <see cref="T:System.Text.UTF8Encoding"/> . </para>
						</summary>
						<param name=" s">The <see cref="T:System.String"/> to encode as a <see cref="T:System.Text.UTF8Encoding"/> .</param>
						<param name=" charIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="s"/> to encode.</param>
						<param name=" charCount">A <see cref="T:System.Int32"/> that specifies the number of characters to encode.</param>
						<param name=" bytes">The <see cref="T:System.Byte"/> array to encode into.</param>
						<param name=" byteIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="bytes"/> to encode into.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that indicates the number of bytes encoded into <paramref name="bytes"/> as a <see cref="T:System.Text.UTF8Encoding"/> . </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="bytes"/> does not contain sufficient space to store the encoded characters.</para>
							<para>-or-</para>
							<para>Error-checking is turned on for the current instance and <paramref name="chars"/> contains an invalid surrogate sequence.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="chars "/> or <paramref name="bytes "/>is <see langword="null"/> . </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="charIndex"/>, <paramref name="charCount"/>, or <paramref name="byteIndex"/> is less than zero.</para>
							<para>-or-</para>
							<para>(<paramref name="s"/>.Length - <paramref name="charIndex"/>) &lt; <paramref name="charCount"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="byteIndex"/> &gt;= <paramref name="bytes"/>.Length.</para>
						</exception>
						<remarks>
							<para>If error-checking is turned off and an invalid surrogate sequence is
      detected, the invalid characters are ignored and are not encoded into
   <paramref name="bytes"/>, and no exception is thrown.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetBytes(System.Char[])"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Byte[] GetBytes(string s)"/>
					<MemberSignature Language="C#" Value="public override byte[] GetBytes(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Encodes the specified <see cref="T:System.String"/> as a <see cref="T:System.Text.UTF8Encoding"/>.</para>
						</summary>
						<param name="s">The <see cref="T:System.String"/> to encode as a <see cref="T:System.Text.UTF8Encoding"/>.</param>
						<returns>
							<para>A <see cref="T:System.Byte"/> array
   containing the values encoded from <paramref name="s"/> as a <see cref="T:System.Text.UTF8Encoding"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>Error-checking is turned on for the current instance and <paramref name="s"/> contains an invalid surrogate sequence.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>If error-checking is turned off and an invalid surrogate
      sequence is detected, the invalid characters are ignored and are not encoded
      into the returned <see cref="T:System.Byte"/> array, and no exception is
      thrown.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetBytes(System.Char[])"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBytes">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetBytes(class System.Char[] chars, int32 charIndex, int32 charCount, class System.Byte[] bytes, int32 byteIndex)"/>
					<MemberSignature Language="C#" Value="public override int GetBytes(char[] chars, int charIndex, int charCount, byte[] bytes, int byteIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="charIndex" Type="System.Int32"/>
						<Parameter Name="charCount" Type="System.Int32"/>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Encodes the specified range of the specified <see cref="T:System.Char"/> array into the specified range of the
   specified <see cref="T:System.Byte"/> array as a <see cref="T:System.Text.UTF8Encoding"/>.</para>
						</summary>
						<param name="chars">The <see cref="T:System.Char"/> array to encode as a <see cref="T:System.Text.UTF8Encoding"/> . </param>
						<param name="charIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="chars"/> to encode. </param>
						<param name="charCount">A <see cref="T:System.Int32"/> that specifies the number of characters to encode. </param>
						<param name="bytes">The <see cref="T:System.Byte"/> array to encode into. </param>
						<param name="byteIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="bytes"/> to encode into. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that indicates the number of bytes encoded into <paramref name="bytes"/> as a <see cref="T:System.Text.UTF8Encoding"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="bytes"/> does not contain sufficient space to store the encoded characters.</para>
							<para>-or-</para>
							<para>Error-checking is turned on for the current instance and <paramref name="chars"/> contains an invalid surrogate sequence.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="chars"/> or <paramref name="bytes"/> is <see langword="null"/>. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="charIndex"/>, <paramref name="charCount"/>, or <paramref name="byteIndex"/> is less than zero.</para>
							<para>-or-</para>
							<para>(<paramref name="chars"/>.Length - <paramref name="charIndex"/>) &lt; <paramref name="charCount"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="byteIndex"/> &gt; <paramref name="bytes"/>.Length.</para>
						</exception>
						<remarks>
							<para>If error-checking is turned off and an invalid surrogate sequence is
      detected, the invalid characters are ignored and are not encoded into
   <paramref name="bytes"/>, and no exception is thrown.</para>
							<block subset="none" type="note">
								<para> This method overrides <see cref="M:System.Text.Encoding.GetBytes(System.Char[])"/>.</para>
								<para>
									<see cref="M:System.Text.UTF8Encoding.GetByteCount(System.Char[],System.Int32,System.Int32)"/> can be used to determine the exact number of bytes that will be
   produced for a given range of characters. Alternatively, <see cref="M:System.Text.UTF8Encoding.GetMaxByteCount(System.Int32)"/> can be used to determine the maximum
   number of bytes that will be produced for a specified number of characters,
   regardless of the actual character values.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetCharCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetCharCount(class System.Byte[] bytes, int32 index, int32 count)"/>
					<MemberSignature Language="C#" Value="public override int GetCharCount(byte[] bytes, int index, int count);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="index" Type="System.Int32"/>
						<Parameter Name="count" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the number of characters produced by decoding the specified range of
      the specified <see cref="T:System.Byte"/> array as a <see cref="T:System.Text.UTF8Encoding"/> . </para>
						</summary>
						<param name="bytes">The <see cref="T:System.Byte"/> array to decode as a <see cref="T:System.Text.UTF8Encoding"/> . </param>
						<param name="index">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="bytes"/> to decode. </param>
						<param name="count">A <see cref="T:System.Int32"/> that specifies the number of bytes to decode. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that indicates the number of characters produced by decoding the range in <paramref name="bytes "/>from
<paramref name="index "/>to <paramref name="index "/>+ <paramref name="count"/> - 1 as a <see cref="T:System.Text.UTF8Encoding"/> . </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="bytes "/> is <see langword="null"/>. </exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="index "/> or <paramref name="count "/> is less than zero.</para>
							<para>-or-</para>
							<para>
								<paramref name="index "/> and <paramref name="count "/> do not specify a valid range in <paramref name="bytes"/> (i.e. (<paramref name="index"/> + <paramref name="count"/>) &gt; <paramref name="bytes"/>.Length).</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>Error-checking is turned on for the current instance and <paramref name="bytes"/> contains an invalid surrogate sequence.</para>
						</exception>
						<remarks>
							<para>If error-checking is turned off and an invalid surrogate sequence is detected, the invalid bytes are
      ignored and do not affect the return value, and no exception is
      thrown.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Text.Encoding.GetCharCount(System.Byte[])"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetChars">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetChars(class System.Byte[] bytes, int32 byteIndex, int32 byteCount, class System.Char[] chars, int32 charIndex)"/>
					<MemberSignature Language="C#" Value="public override int GetChars(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="bytes" Type="System.Byte[]"/>
						<Parameter Name="byteIndex" Type="System.Int32"/>
						<Parameter Name="byteCount" Type="System.Int32"/>
						<Parameter Name="chars" Type="System.Char[]"/>
						<Parameter Name="charIndex" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Decodes the specified range of the specified <see cref="T:System.Byte"/> array into the specified range of the
   specified <see cref="T:System.Char"/> array as a <see cref="T:System.Text.UTF8Encoding"/>
   . </para>
						</summary>
						<param name="bytes">The <see cref="T:System.Byte"/> array to decode as a <see cref="T:System.Text.UTF8Encoding"/> . </param>
						<param name="byteIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="bytes"/> to decode. </param>
						<param name="byteCount">A <see cref="T:System.Int32"/> that specifies the number of bytes to decode. </param>
						<param name="chars">The <see cref="T:System.Char"/> array to decode into. </param>
						<param name="charIndex">A <see cref="T:System.Int32"/> that specifies the first index of <paramref name="chars"/> to decode into. </param>
						<returns>
							<para>The number of characters decoded into <paramref name="chars"/> as a <see cref="T:System.Text.UTF8Encoding"/> . </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="chars"/> does not contain sufficient space to store the decoded characters.</para>
							<para>-or-</para>
							<para>Error-checking is turned on for the current instance and <paramref name="bytes"/> contains an invalid surrogate sequence.</para>
						</exception>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="bytes "/> or <paramref name="chars "/> is <see langword="null"/>. </para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="byteIndex"/>, <paramref name="byteCount"/>, or <paramref name="charIndex "/> is less than zero.</para>
							<para> -or-</para>
							<para> (<paramref name="bytes"/>.Length - <paramref name="byteIndex"/>) &lt; <paramref name="byteCount"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="charIndex"/> &gt; <paramref name="chars"/>.Length.</para>
						</exception>
						<remarks>
							<para>If error-checking is turned off and an invalid surrogate sequence is
      detected, the invalid bytes are ignored and are not encoded into <paramref name="chars"/>, and no exception is thrown.</para>
							<block subset="none" type="note">
								<para> This method overrides <see cref="M:System.Text.Encoding.GetChars(System.Byte[])"/> .</para>
								<para>
									<see cref="M:System.Text.UTF8Encoding.GetCharCount(System.Byte[],System.Int32,System.Int32)"/> can be used to determine the
   exact number of characters that will be produced for a specified range of bytes.
   Alternatively, <see cref="M:System.Text.UTF8Encoding.GetMaxCharCount(System.Int32)"/>
   can be used to determine the maximum number of characters that will be produced
   for a specified number of bytes, regardless of the actual byte values.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetDecoder">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Text.Decoder GetDecoder()"/>
					<MemberSignature Language="C#" Value="public override Decoder GetDecoder();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.Decoder</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Text.Decoder"/> for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Text.Decoder"/> for the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para> This method overrides <see cref="M:System.Text.Encoding.GetDecoder"/> .</para>
								<para>Contrary to <see cref="M:System.Text.UTF8Encoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/> , a decoder can convert partial
   sequences of bytes into partial sequences of characters by maintaining the
   appropriate state between the conversions.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEncoder">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Text.Encoder GetEncoder()"/>
					<MemberSignature Language="C#" Value="public override Encoder GetEncoder();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Text.Encoder</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Text.Encoder"/> for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Text.Encoder"/> for the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.Text.Encoding.GetEncoder" qualify="true"/>.</para>
								<para>Contrary to <see cref="M:System.Text.UTF8Encoding.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32)"/> , an encoder can convert partial
   sequences of characters into partial sequences of bytes by maintaining the
   appropriate state between the conversions.</para>
							</block>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/>
value containing a hash code for the current instance</para>
						</returns>
						<remarks>
							<para>The algorithm used to generate the hash code is
      unspecified.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Object.GetHashCode" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetMaxByteCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetMaxByteCount(int32 charCount)"/>
					<MemberSignature Language="C#" Value="public override int GetMaxByteCount(int charCount);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="charCount" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the maximum number of bytes required to encode
      the specified number of characters as a <see cref="T:System.Text.UTF8Encoding"/>, regardless of the actual character
      values. </para>
						</summary>
						<param name="charCount">A <see cref="T:System.Int32"/> that specifies the number of characters to encode as a <see cref="T:System.Text.UTF8Encoding"/> . </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that specifies the maximum number of bytes required to encode <paramref name="charCount"/> characters as a <see cref="T:System.Text.UTF8Encoding"/> . </para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="charCount"/> &lt; 0.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para> This method overrides <see cref="M:System.Text.Encoding.GetMaxByteCount(System.Int32)"/> .</para>
								<para> This method can be used to determine an appropriate
      buffer size for byte arrays passed to <see cref="M:System.Text.UTF8Encoding.GetBytes(System.Char[],System.Int32,System.Int32,System.Byte[],System.Int32)"/>. Using
      this minimum buffer size can help ensure that no buffer overflow exceptions will
      occur.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetMaxCharCount">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 GetMaxCharCount(int32 byteCount)"/>
					<MemberSignature Language="C#" Value="public override int GetMaxCharCount(int byteCount);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="byteCount" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the maximum number of characters produced by
      decoding the specified number of bytes as a <see cref="T:System.Text.UTF8Encoding"/>, regardless of the actual byte
      values. </para>
						</summary>
						<param name="byteCount">A <see cref="T:System.Int32"/> that specifies the number of bytes to decode as a <see cref="T:System.Text.UTF8Encoding"/> . </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that specifies the maximum number of characters produced by decoding <paramref name="byteCount"/> bytes as a <see cref="T:System.Text.UTF8Encoding"/> . </para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="byteCount"/> &lt; 0.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para> This method overrides <see cref="M:System.Text.Encoding.GetMaxCharCount(System.Int32)"/> .</para>
								<para> This method can be used to determine an appropriate minimum
      buffer size for character arrays passed to <see cref="M:System.Text.UTF8Encoding.GetChars(System.Byte[],System.Int32,System.Int32,System.Char[],System.Int32)"/>
      . Using
      this minimum buffer size can help ensure that no buffer overflow exceptions will
      occur.
      </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetPreamble">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Byte[] GetPreamble()"/>
					<MemberSignature Language="C#" Value="public override byte[] GetPreamble();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the bytes used at the beginning of a stream to determine which
      encoding a file was created with. </para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Byte"/> array
   containing the UTF-8 encoding preamble.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para> This method overrides <see cref="M:System.Text.Encoding.GetPreamble" qualify="true"/> .</para>
								<para>
									<see cref="M:System.Text.UTF8Encoding.GetPreamble"/> returns the Unicode byte order mark
   (U+FEFF) written in UTF-8 (0xef, 0xbb, 0xbf) if this instance
   was constructed with a request to emit the UTF-8 identifier.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ValueType" FullName="System.ValueType" FullNameSP="System_ValueType">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable ValueType extends System.Object"/>
			<TypeSignature Language="C#" Value="public abstract class ValueType"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Provides support for value types. This class is the base class for all value types.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>Data types are separated into value types and reference
         types. Value types are either stack-allocated or allocated inline in a
         structure. Reference types are heap-allocated. Both reference and value types
         are derived from the ultimate base class <see cref="T:System.Object"/>. In cases where a value type needs to
         act like an object, a wrapper that makes the value type look like a reference
         object is allocated on the heap, and the value type's value is copied into it.
         The wrapper is marked so that the system knows that it contains a value type.
         This process is known as boxing, and the reverse process is known as unboxing.
         Boxing and unboxing allow any type to be treated as an object.</para>
					</block>
				</remarks>
				<example>
					<para>In the following example, the number 3 is boxed as a <see cref="T:System.Int32"/>, and <see cref="M:System.Int32.ToString"/> () is
   called.</para>
					<code lang="C#">using System;
class Boxer {
  public static void Main() {
   Console.WriteLine("Value is {0}.", 3.ToString());
  }
}
</code>
					<para>The output is</para>
					<c>
						<para>Value is 3.</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="protected ValueType();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>Constructs a new instance of the <see cref="T:System.ValueType"/> class.</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and a specified
   <see cref="T:System.Object"/> represent the same value.</para>
						</summary>
						<param name=" obj">The <see cref="T:System.Object"/> to compare the current instance to.</param>
						<returns>
							<para>
								<see langword="true "/>if <paramref name="obj"/> and the current
   instance are of the same type and represent the same value; otherwise,
<see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/>
      .</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para>The
      algorithm used to generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.GetHashCode"/>
      
      .</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the fully-qualified name of the type of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the fully-qualified name of
   the type of the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para> This method overrides <see cref="M:System.Object.ToString"/>.</para>
								<para> This method returns the <see cref="P:System.Type.FullName"/> property. </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="VerificationException" FullName="System.Security.VerificationException" FullNameSP="System_Security_VerificationException">
			<TypeSignature Language="ILASM" Value=".class public serializable VerificationException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class VerificationException : SystemException"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when the security system requires code to be type-safe and the verification process is unable to verify that the
      code is type-safe.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>The following IL instructions throw <see cref="T:System.Security.VerificationException"/>:</para>
						<list type="bullet">
							<item>
								<term>ldloc</term>
							</item>
							<item>
								<term>ldloca.&lt;length&gt;</term>
							</item>
						</list>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public VerificationException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Security.VerificationException"/>
class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.Security.VerificationException.Message"/> property
   of the new instance to a system-supplied message that describes the error, such
   as "Could not verify the code." This message takes into account the current
   system culture.</para>
							<para>The <see cref="!:System.Security.VerificationException.InnerException"/> property is initialized 
to <see langword="null"/>
.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public VerificationException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Security.VerificationException"/>
.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.Security.VerificationException.Message"/> property of the new 
   instance using <paramref name="message. "/>If <paramref name="message"/> is <see langword="null"/>,
   the <see cref="!:System.Security.VerificationException.Message"/> property is initialized to the system-supplied
   message provided by the constructor that takes no arguments. </para>
							<para> The <see cref="!:System.Security.VerificationException.InnerException"/>
property is initialized to <see langword="null"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public VerificationException(string message, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Security.VerificationException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current <see langword="Exception"/>. If <paramref name="innerException"/> is non-null, then the current <see langword="Exception"/> was raised in a catch block handling <paramref name="innerException"/> .</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.Security.VerificationException.Message"/> property of
   the new instance using <paramref name="message"/> and the <see cref="!:System.Security.VerificationException.InnerException"/> property using
<paramref name="innerException"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.Security.VerificationException.Message"/> property is initialized to the 
   system-supplied message provided by the constructor that takes no arguments.</para>
							<para>
								<block subset="none" type="note">For more information on inner
   exceptions, see <see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Version" FullName="System.Version" FullNameSP="System_Version">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable Version extends System.Object implements System.ICloneable, System.IComparable"/>
			<TypeSignature Language="C#" Value="public sealed class Version : ICloneable, IComparable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the version number of an assembly.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Version"/> numbers for an 
   assembly consist of two to four components: <paramref name="major"/>, <paramref name="minor"/>,
<paramref name="build"/>, and <paramref name="revision"/>. Components <paramref name="major"/> and <paramref name="minor"/> must 
   be defined. <paramref name="Build"/> and <paramref name="revision"/> components are optional. Component
<paramref name="revision"/> may be 
   used if and only if build is defined. All defined components must be
   a <see cref="T:System.Int32" qualify="true"/>
   greater than or equal to zero.</para>
					<block subset="none" type="note">
						<para>By convention, the components are used as follows:</para>
						<list type="bullet">
							<item>
								<term>
         
         Major: Assemblies with the same name but different
         major versions are not interchangeable. This would be appropriate, for
         example, for a major rewrite of a product where backwards compatibility cannot
         be assumed.</term>
							</item>
							<item>
								<term>
         
         Minor: If the name and major number on two assemblies
         are the same, but the minor number is different, this indicates significant
         enhancement with the intention of backwards compatibility. This would be
         appropriate, for example, on a "point release" of a product or a fully
         backward compatible new version of a product.</term>
							</item>
							<item>
								<term>
         
         Assemblies with the same name, major, and minor
         version numbers but different revisions are intended to be fully
         interchangeable. This would be appropriate, for example, to fix a security
         hole in a previously released assembly.</term>
							</item>
							<item>
								<term>
         
         A difference in build number is intended to represent a recompilation of
         the same source. This would be appropriate, for example, because of processor,
         platform, or compiler changes.</term>
							</item>
						</list>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.ICloneable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public Version();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of
      the <see cref="T:System.Version"/> class.</para>
						</summary>
						<remarks>
							<para>
								<see cref="P:System.Version.Major"/> and <see cref="P:System.Version.Minor"/> are set to zero. <see cref="P:System.Version.Build"/>
and <see cref="P:System.Version.Revision"/> are unspecified.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 major, int32 minor, int32 build, int32 revision)"/>
					<MemberSignature Language="C#" Value="public Version(int major, int minor, int build, int revision);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="major" Type="System.Int32"/>
						<Parameter Name="minor" Type="System.Int32"/>
						<Parameter Name="build" Type="System.Int32"/>
						<Parameter Name="revision" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Version"/> class with the
   specified major, minor, build, and revision numbers.</para>
						</summary>
						<param name=" major">A <see cref="T:System.Int32" qualify="true"/> specifying the major component.</param>
						<param name=" minor">A <see cref="T:System.Int32" qualify="true"/> specifying the minor component.</param>
						<param name=" build">A <see cref="T:System.Int32" qualify="true"/> specifying the build component.</param>
						<param name=" revision">A <see cref="T:System.Int32" qualify="true"/> specifying the revision component.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="major"/>, <paramref name="minor"/>, <paramref name="build"/>, or <paramref name="revision"/> is less than zero. </exception>
						<example>
							<para>The following example sets the version to "6.1.2.4" and writes the result to the console.</para>
							<code lang="C#">
using System;

public class Vers {
  public static void Main() {

    Version vers = new Version( 6, 1, 2, 4 );
    Console.WriteLine( "Version is {0}", vers.ToString() );
  }
}
   </code>
							<para>The output is</para>
							<para>
Version is 6.1.2.4</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 major, int32 minor, int32 build)"/>
					<MemberSignature Language="C#" Value="public Version(int major, int minor, int build);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="major" Type="System.Int32"/>
						<Parameter Name="minor" Type="System.Int32"/>
						<Parameter Name="build" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Version"/> class using the
   specified major, minor, and build values.</para>
						</summary>
						<param name=" major">A <see cref="T:System.Int32" qualify="true"/> specifying the major component.</param>
						<param name=" minor">A <see cref="T:System.Int32" qualify="true"/> specifying the minor component.</param>
						<param name=" build">A <see cref="T:System.Int32" qualify="true"/> specifying the build component.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="major"/>, <paramref name="minor"/>, or <paramref name="build"/> is less than zero. </exception>
						<example>
							<para>The following example sets the version to "6.1.2" and writes the result to the console.</para>
							<code lang="C#">
using System;

public class Vers {
  public static void Main() {

    Version vers = new Version( 6, 1, 2 );
    Console.WriteLine( "Version is {0}", vers.ToString() );
  }
}
   </code>
							<para>The output is</para>
							<para>
Version is 6.1.2</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 major, int32 minor)"/>
					<MemberSignature Language="C#" Value="public Version(int major, int minor);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="major" Type="System.Int32"/>
						<Parameter Name="minor" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Version"/> class using the
   specified major and minor values.</para>
						</summary>
						<param name=" major">A <see cref="T:System.Int32" qualify="true"/> specifying the major component.</param>
						<param name=" minor">A <see cref="T:System.Int32" qualify="true"/> specifying the minor component.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="major"/> or <paramref name="minor"/> is less than zero. </exception>
						<example>
							<para>The following example sets the version to "6.1" and writes the result to the console.</para>
							<code lang="C#">
using System;

public class Vers {
  public static void Main() {

    Version vers = new Version( 6, 1 );
    Console.WriteLine( "Version is {0}", vers.ToString() );
  }
}
   </code>
							<para>The output is</para>
							<para>
Version is 6.1</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string version)"/>
					<MemberSignature Language="C#" Value="public Version(string version);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="version" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Version"/> class using
   the values represented by the specified <see cref="T:System.String"/>.</para>
						</summary>
						<param name=" version">
							<para>A <see cref="T:System.String" qualify="true"/> that represents 2 to 4 <see cref="T:System.Int32" qualify="true"/> integers separated by period characters ('.'). Each component delineated by a period character will be parsed to a <see cref="T:System.Int32"/> with <see cref="M:System.Int32.Parse(System.String)"/>(<see cref="T:System.String" qualify="true"/>). The numbers will be processed in the following order: <paramref name="major"/>, <paramref name="minor"/>, <paramref name="build"/>, <paramref name="revision"/>. If the <paramref name="revision"/> or the <paramref name="revision"/> and the <paramref name="build"/> components are not represented by <paramref name="version"/>, their values will be undefined.</para>
							<block subset="none" type="note">
								<para>The formatting of <paramref name="version"/> must be as follows, with optional components shown in square brackets ('[' and']'): <paramref name="major"/>.<paramref name="minor"/>[.<paramref name="build"/>[.<paramref name="revision"/>]], where each component returns a <see cref="T:System.Int32" qualify="true"/> with <see cref="M:System.Int32.Parse(System.String)"/> (<see cref="T:System.String" qualify="true"/>).</para>
							</block>
						</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="version"/> has fewer than 2 components or more than 4 components (i.e. fewer than 1 or more than 3 period characters).</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="version"/> is a null reference.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="major"/>, <paramref name="minor"/>, <paramref name="build"/>, or <paramref name="revision "/> is less than zero.</exception>
						<exception cref="T:System.FormatException">At least one component of <paramref name="version"/> does not parse to a <see cref="T:System.Int32"/> with <see cref="M:System.Int32.Parse(System.String)"/> (<see cref="T:System.String"/>).</exception>
						<example>
							<para>The following example sets the version to "6.1.2.4" and writes the result to the console.</para>
							<code lang="C#">
using System;

public class Vers {
  public static void Main() {

    Version vers = new Version( "6.1.2.4" );
    Console.WriteLine( "Version is {0}", vers.ToString() );
  }
}
   </code>
							<para>The output is</para>
							<para>
Version is 6.1.2.4</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Build">
					<MemberSignature Language="ILASM" Value=".property int32 Build { public hidebysig specialname instance int32 get_Build() }"/>
					<MemberSignature Language="C#" Value="public int Build { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the value of the build component of the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32" qualify="true"/> specifying the build component, or -1 if the build component is undefined.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">If the version
      number is 6.1.2.4, the build component is 2. If the version number is 6.1, the build
      component is -1, which is considered to be undefined.</block>
							</para>
						</remarks>
						<example>
							<code lang="C#">using System;
class VersionBuildExample {
   public static void Main() {
      Version vers = new Version("6.1.2.4");
      Console.Write("The build component of ");
      Console.WriteLine("version vers = {0}.", vers.Build);
   }
}
   </code>
							<para>The output is</para>
							<para>
								<c>The build
      component of version vers = 2.</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Clone">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual object Clone()"/>
					<MemberSignature Language="C#" Value="public object Clone();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a new <see cref="T:System.Object"/> with values equal to the property values of the current
   instance.</para>
						</summary>
						<returns>
							<para>A new <see cref="T:System.Object"/>
whose values are equal to the property values of the current instance.</para>
						</returns>
						<remarks>
							<para>The <see cref="T:System.Object"/> returned by this method must be explicitly cast to a
<see cref="T:System.Version"/> before it may be used as 
   one.</para>
							<para>
								<block subset="none" type="note">This method is
   implemented to support the <see cref="T:System.ICloneable"/> interface.</block>
							</para>
						</remarks>
						<example>
							<para>The following example clones the version number and
      writes the result to the console.</para>
							<code lang="C#">using System;
class VersionCloneExample {
  public static void Main() {
    Version vers = new Version("6.1.2.4");
    Console.WriteLine("The string representation of the" +
                      " version is {0}.",
                      vers.ToString());
    Version clone = (Version) vers.Clone();
    Console.WriteLine("The original version was" +
                      " successfully cloned.");
    Console.Write("The string representation of the" +
                  " cloned version is {0}.",
                  clone.ToString());
  }
}
   </code>
							<para>The output is</para>
							<c>
								<para> The string representation of the version is 6.1.2.4.</para>
								<para> The original version was successfully cloned.</para>
								<para>The string representation of the cloned version is 6.1.2.4.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object version)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object version);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="version" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the sort order of the current instance compared
      to the specified <see cref="T:System.Object"/>.</para>
						</summary>
						<param name=" version">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/> containing a value that reflects the sort order of the
   current instance as compared to <paramref name="version"/>. The following table defines
   the conditions under which the returned value is a negative number, zero, or a
   positive number.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description> Current instance &lt; <paramref name="version"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>Current instance ==
   <paramref name="version"/>.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>
										<para> Current instance &gt;
      <paramref name="version"/>, or <paramref name="version"/> is a null
         reference.</para>
									</description>
								</item>
							</list>
							<list type="table"/>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="version"/> is not a <see cref="T:System.Version"/> and is not a null reference</exception>
						<remarks>
							<block subset="none" type="note">
								<para> The components of <see cref="T:System.Version"/> in decreasing order of importance are: <paramref name="major"/>,
   <paramref name="minor"/>, <paramref name="build"/>, and <paramref name="revision"/>. An undefined component
      is assumed to be older than any defined component.
      </para>
								<para> This method is implemented to support the <see cref="T:System.IComparable"/>
interface.</para>
							</block>
						</remarks>
						<example>
							<code lang="C#">using System;
class VersionTest {
   static string Test ( Version v1, Version v2 ) {
      int i = v1.CompareTo(v2);
      if ( i &lt; 0 )
         return "older than";
      else if ( i == 0 )
         return "the same as";
      else
         return "newer than";
   }
   public static void Main() {
      Version vers1 = new Version( "6.1.2.4" );
      Version vers2 = new Version( 6, 1 );
      Version vers3 = new Version( 6, 1, 3 );
      Console.Write("Version {0} is {1} ",
                    vers1, Test(vers1, vers2));
      Console.WriteLine("version {0}", vers2); 
      Console.Write("Version {0} is {1} ",
                    vers1, Test(vers1, vers3));
      Console.WriteLine("version {0}", vers3); 
      Console.Write("Version {0} is {1} ",
                    vers3, Test(vers3, vers3));
      Console.WriteLine("version {0}", vers3); 
      Console.Write("Version {0} is {1} ",
                    vers2, Test(vers2, vers1));
      Console.WriteLine("version {0}", vers1);
   }
}
   </code>
							<para>The output is</para>
							<c>
								<para>Version 6.1.2.4 is newer than version 6.1</para>
								<para>Version 6.1.2.4 is older than version 6.1.3</para>
								<para>Version 6.1.3 is the same as version 6.1.3</para>
								<para>Version 6.1 is older than version 6.1.2.4</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the
      specified <see cref="T:System.Object"/> represent the same type and
      value.</para>
						</summary>
						<param name=" obj">The <see cref="T:System.Object" qualify="true"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Boolean" qualify="true"/> where <see langword="true"/>
indicates <paramref name="obj"/> is
the same type as the current instance and has equal <see cref="P:System.Version.Major"/>, <see cref="P:System.Version.Minor"/>, <see cref="P:System.Version.Build"/>, and <see cref="P:System.Version.Revision"/> properties as the current
instance. If <paramref name="obj"/> is a null reference or is not an instance of <see cref="T:System.Version"/>, returns <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
						<example>
							<code lang="C#">using System;
class VersionEqualsExample {
   static void testEquals(Version v1, Version v2) {
      Console.Write("It is {0} that version ",
                    v1.Equals(v2));
      Console.WriteLine("{0} is equal to {1}.",
                    v1, v2);
   }
   public static void Main() {
      Version vers1 = new Version( "6.1.2.4" );
      Version vers2 = new Version( 6, 1 );
      testEquals( vers1, vers1 );
      testEquals( vers1, vers2 );
   }
}
   </code>
							<para>The output is</para>
							<c>
								<para>It is True that version 6.1.2.4 is equal to 6.1.2.4.</para>
								<para>It is False that version 6.1.2.4 is equal to 6.1.</para>
							</c>
						</example>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> 
containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para>The algorithm used to generate the hash code is
      unspecified.</para>
							<para>
								<block subset="none" type="note">This method
   overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Major">
					<MemberSignature Language="ILASM" Value=".property int32 Major { public hidebysig specialname instance int32 get_Major() }"/>
					<MemberSignature Language="C#" Value="public int Major { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the value of the major component of the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32" qualify="true"/>
specifying the major component. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="example">If the version number is 6.1, the major version is 6.</block>
							</para>
						</remarks>
						<example>
							<code lang="C#">using System;
class VersionMajorExample {
   public static void Main() {
      Version vers = new Version("6.1.2.4");
      Console.Write("The major component ");
      Console.WriteLine("of version vers = {0}.",
                        vers.Major);
   }
}
   </code>
							<para>The output is</para>
							<c>
								<para>The major component of version vers = 6.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Minor">
					<MemberSignature Language="ILASM" Value=".property int32 Minor { public hidebysig specialname instance int32 get_Minor() }"/>
					<MemberSignature Language="C#" Value="public int Minor { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the value of the minor component of the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32" qualify="true"/>
specifying the minor component. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="example">If the version number is 6.1, the minor component is 1.</block>
							</para>
						</remarks>
						<example>
							<code lang="C#">using System;
class VersionMinorExample {
   public static void Main() {
      Version vers = new Version("6.1.2.4");
      Console.Write("The minor component ");
      Console.WriteLine("of version vers = {0}.",
                        vers.Minor);
   }
}
   </code>
							<para>The output is</para>
							<para>
								<c>The minor
      component of version vers = 1.</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Equality">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_Equality(class System.Version v1, class System.Version v2)"/>
					<MemberSignature Language="C#" Value="public static bool operator ==(Version v1, Version v2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="v1" Type="System.Version"/>
						<Parameter Name="v2" Type="System.Version"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether two instances of <see cref="T:System.Version"/>
are equal.</para>
						</summary>
						<param name="v1">An instance of the <see cref="T:System.Version"/> class. </param>
						<param name="v2">An instance of the <see cref="T:System.Version"/> class. </param>
						<returns>
							<para>A <see cref="T:System.Boolean" qualify="true"/> where
<see langword="true"/> 
indicates <paramref name="v1"/> and <paramref name="v2"/> have equal <see cref="P:System.Version.Major"/>, <see cref="P:System.Version.Minor"/>, <see cref="P:System.Version.Build"/>, and <see cref="P:System.Version.Revision"/> properties, or both <paramref name="v1"/> and
<paramref name="v2"/> are <see langword="null"/>; otherwise <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>The parts of the version number are compared 
      independently starting with the <see cref="P:System.Version.Major"/> property and then the <see cref="P:System.Version.Minor"/>, <see cref="P:System.Version.Build"/>, and <see cref="P:System.Version.Revision"/> properties, in order. This method returns
      as soon as one of the properties is determined not to be equal.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_GreaterThan">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_GreaterThan(class System.Version v1, class System.Version v2)"/>
					<MemberSignature Language="C#" Value="public static bool operator &gt;(Version v1, Version v2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="v1" Type="System.Version"/>
						<Parameter Name="v2" Type="System.Version"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the first instance of 
   <see cref="T:System.Version"/> is greater than 
      the second instance of <see cref="T:System.Version"/>.
      </para>
						</summary>
						<param name="v1">An instance of the <see cref="T:System.Version"/> class. </param>
						<param name="v2">An instance of the <see cref="T:System.Version"/> class. </param>
						<returns>
							<para>A <see cref="T:System.Boolean" qualify="true"/> where <see langword="true"/> indicates <paramref name="v1 "/>is greater
   than <paramref name="v2"/>; otherwise <see langword="false"/>. If <paramref name="v1"/> is
<see langword="null"/>, <see langword="false"/> is returned.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="v2"/> is a <see langword="null"/> reference.</exception>
						<remarks>
							<para>The parts of the version number are compared independently starting with the 
   <see cref="P:System.Version.Major"/> 
   property and then the <see cref="P:System.Version.Minor"/>, <see cref="P:System.Version.Build"/>, and <see cref="P:System.Version.Revision"/> properties, in order. This
   method returns as soon as one of the properties is determined not to be
   equal.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_GreaterThanOrEqual">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_GreaterThanOrEqual(class System.Version v1, class System.Version v2)"/>
					<MemberSignature Language="C#" Value="public static bool operator &gt;=(Version v1, Version v2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="v1" Type="System.Version"/>
						<Parameter Name="v2" Type="System.Version"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the first instance of 
   <see cref="T:System.Version"/> is greater than or 
      equal to the second instance of <see cref="T:System.Version"/>.
      </para>
						</summary>
						<param name="v1">An instance of the <see cref="T:System.Version"/> class. </param>
						<param name="v2">An instance of the <see cref="T:System.Version"/> class. </param>
						<returns>
							<para>A <see cref="T:System.Boolean" qualify="true"/> where <see langword="true"/> indicates <paramref name="v1 "/>is greater
   than or equal to <paramref name="v2"/>; otherwise <see langword="false"/>. If <paramref name="v1"/>
   is <see langword="null"/>, <see langword="false"/> is returned.</para>
							<see langword=""/>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="v2"/> is a <see langword="null"/> reference.</exception>
						<remarks>
							<para>The parts of the version number are compared independently starting with the 
   <see cref="P:System.Version.Major"/> 
   property and then the <see cref="P:System.Version.Minor"/>, <see cref="P:System.Version.Build"/>, and <see cref="P:System.Version.Revision"/> properties, in order. This
   method returns as soon as one of the properties is determined not to be
   equal.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Inequality">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_Inequality(class System.Version v1, class System.Version v2)"/>
					<MemberSignature Language="C#" Value="public static bool operator !=(Version v1, Version v2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="v1" Type="System.Version"/>
						<Parameter Name="v2" Type="System.Version"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether two instances of <see cref="T:System.Version"/> are
   not equal. </para>
						</summary>
						<param name="v1">An instance of the <see cref="T:System.Version"/> class. </param>
						<param name="v2">An instance of the <see cref="T:System.Version"/> class. </param>
						<returns>
							<para>A <see cref="T:System.Boolean" qualify="true"/>
where <see langword="true"/> indicates <paramref name="v1"/> and <paramref name="v2"/> have at least
one unequal property; otherwise
<see langword="false"/>. If 
<paramref name="v1"/> and <paramref name="v2"/> are 
both <see langword="null"/>, returns false; if one is
<see langword="null"/> 
but not the other, returns <see langword="true"/>.</para>
						</returns>
						<remarks>
							<para>The parts of the version number are compared independently starting with the 
   <see cref="P:System.Version.Major"/> 
   property and then the <see cref="P:System.Version.Minor"/>, <see cref="P:System.Version.Build"/>, and <see cref="P:System.Version.Revision"/> properties, in order. This
   method returns as soon as one of the properties is determined not to be
   equal.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_LessThan">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_LessThan(class System.Version v1, class System.Version v2)"/>
					<MemberSignature Language="C#" Value="public static bool operator  &lt;(Version v1, Version v2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="v1" Type="System.Version"/>
						<Parameter Name="v2" Type="System.Version"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the first instance of 
   <see cref="T:System.Version"/> is less than the 
      second instance of <see cref="T:System.Version"/>.
      </para>
						</summary>
						<param name="v1">An instance of the <see cref="T:System.Version"/> class. </param>
						<param name="v2">An instance of the <see cref="T:System.Version"/> class. </param>
						<returns>
							<para>A <see cref="T:System.Boolean" qualify="true"/> where <see langword="true"/> indicates <paramref name="v1 "/>is less than
<paramref name="v2"/>; otherwise <see langword="false"/>. If <paramref name="v2"/> is <see langword="null"/>, 
<see langword="false"/> is returned.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="v1"/> is a <see langword="null"/> reference.</exception>
						<remarks>
							<para>The parts of the version number are compared independently starting with the 
   <see cref="P:System.Version.Major"/> 
   property and then the <see cref="P:System.Version.Minor"/>, <see cref="P:System.Version.Build"/>, and <see cref="P:System.Version.Revision"/> properties, in order. This
   method returns as soon as one of the properties is determined not to be
   equal.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_LessThanOrEqual">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_LessThanOrEqual(class System.Version v1, class System.Version v2)"/>
					<MemberSignature Language="C#" Value="public static bool operator &lt;=(Version v1, Version v2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="v1" Type="System.Version"/>
						<Parameter Name="v2" Type="System.Version"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the first instance of 
   <see cref="T:System.Version"/> is less than or 
      equal to the second instance of <see cref="T:System.Version"/>.
      </para>
						</summary>
						<param name="v1">An instance of the <see cref="T:System.Version"/> class. </param>
						<param name="v2">An instance of the <see cref="T:System.Version"/> class. </param>
						<returns>
							<para>A <see cref="T:System.Boolean" qualify="true"/> where <see langword="true"/> indicates <paramref name="v1 "/>is less than or
   equal to <paramref name="v2"/>; otherwise <see langword="false"/>. If <paramref name="v2"/> is
<see langword="null"/>, <see langword="false"/> is returned.</para>
							<see langword=""/>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="v1"/> is a <see langword="null"/> reference.</exception>
						<remarks>
							<para>The parts of the version number are compared independently starting with the 
   <see cref="P:System.Version.Major"/> 
   property and then the <see cref="P:System.Version.Minor"/>, <see cref="P:System.Version.Build"/>, and <see cref="P:System.Version.Revision"/> properties, in order. This
   method returns as soon as one of the properties is determined not to be
   equal.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Revision">
					<MemberSignature Language="ILASM" Value=".property int32 Revision { public hidebysig specialname instance int32 get_Revision() }"/>
					<MemberSignature Language="C#" Value="public int Revision { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the value of the revision component of the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32" qualify="true"/>
specifying the revision component, or -1 if the revision component is
undefined.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="example">If the version number is 6.1.2.4, the revision component is 4. If the version number
      is 6.1, the revision component is considered to be undefined.</block>
							</para>
						</remarks>
						<example>
							<code lang="C#">using System;
class VersionRevisionExample {
   public static void Main() {
      Version vers = new Version("6.1.2.4");
      Console.Write("The revision component of ");
      Console.WriteLine("version vers = {0}.",
                        vers.Revision);
   }
}
   </code>
							<para>The output is</para>
							<c>
								<para>The revision component of version vers = 4.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="WaitHandle" FullName="System.Threading.WaitHandle" FullNameSP="System_Threading_WaitHandle">
			<TypeSignature Language="ILASM" Value=".class public abstract WaitHandle extends System.MarshalByRefObject implements System.IDisposable"/>
			<TypeSignature Language="C#" Value="public abstract class WaitHandle : MarshalByRefObject, IDisposable"/>
			<MemberOfLibrary>BCL</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Encapsulates operating-system 
 specific objects that wait for exclusive access
 to shared resources.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para> This class is typically used as a base class for
 synchronization objects. Classes derived from <see cref="T:System.Threading.WaitHandle"/> define a signaling mechanism to indicate
 taking or releasing exclusive access to a shared
 resource, but use the inherited <see cref="T:System.Threading.WaitHandle"/>
 
 methods to block while waiting for access to shared
 resources.
 </para>
						<para> The static methods of this class are used to block a
 <see cref="T:System.Threading.Thread"/>
 until one or more synchronization objects receive a
 signal.
 </para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.MarshalByRefObject</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IDisposable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public WaitHandle();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Threading.WaitHandle"/>
class.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Close">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Close()"/>
					<MemberSignature Language="C#" Value="public virtual void Close();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Releases all resources held by the current instance.</para>
						</summary>
						<remarks>
							<para>This method is the public version of the <see cref="M:System.IDisposable.Dispose"/> method implemented to 
 support the <see cref="T:System.IDisposable"/> interface.</para>
							<para>
								<block subset="none" type="behaviors">
 This method releases any unmanaged resources held by the current instance. This method can, but is not required to,
 suppress finalization during garbage collection by calling the <see cref="M:System.GC.SuppressFinalize(System.Object)" qualify="true"/> method. </block>
							</para>
							<para>
								<block subset="none" type="default"> As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this property to release resources allocated in subclasses.
</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to
 release all resources held by an instance of <see langword=" WaitHandle"/>. Once this method is called, references
 to the current instance cause undefined behavior. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Dispose">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Dispose(bool explicitDisposing)"/>
					<MemberSignature Language="C#" Value="protected virtual void Dispose(bool explicitDisposing);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="explicitDisposing" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Releases the unmanaged resources used by the <see cref="T:System.Threading.WaitHandle"/> and
   optionally releases the managed resources.</para>
						</summary>
						<param name="explicitDisposing">
							<see langword="true"/> to release both managed and unmanaged resources; <see langword="false"/> to release only unmanaged resources.</param>
						<remarks>
							<para>
								<block subset="none" type="behaviors">This method
      releases all unmanaged resources held by the current instance. When the <paramref name="explicitDisposing"/> parameter is <see langword="true"/>, this method releases all resources held by
      any managed objects referenced by the current
      instance. This method invokes the <see langword="Dispose()"/> method of each referenced
      object.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this method to dispose of resources allocated by
      types derived from <see cref="T:System.Threading.WaitHandle"/>. When overriding
      <see langword="Dispose"/>(<see cref="T:System.Boolean"/>), be careful not to
      reference objects that have been previously disposed in an earlier call to
      <see langword="Dispose"/> or <see langword="Close"/> . <see langword="Dispose"/> can be called multiple
      times by other objects. </block>
							</para>
							<para>
								<block subset="none" type="usage">This method is called by the public <see cref="M:System.Threading.WaitHandle.Dispose(System.Boolean)"/> method and the <see cref="M:System.Object.Finalize"/> method.
<see langword="Dispose()"/> invokes this method with the 
<paramref name="explicitDisposing"/> parameter 
set to <see langword="true"/>. <see cref="M:System.Object.Finalize"/> invokes <see langword="Dispose"/> with
<paramref name="explicitDisposing"/> set to <see langword="false"/> 
.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Finalize">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Finalize()"/>
					<MemberSignature Language="C#" Value="~WaitHandle();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Releases the resources held by the current instance.</para>
						</summary>
						<remarks>
							<block subset="none" type="note">
								<para> Application code does not call this method; it
         is automatically invoked during garbage collection unless finalization by the
         garbage collector has been disabled. For more information, see <see cref="M:System.GC.SuppressFinalize(System.Object)" qualify="true"/>,
         and <see cref="M:System.Object.Finalize" qualify="true"/>.</para>
								<para> This method overrides <see cref="M:System.Object.Finalize" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.IDisposable.Dispose">
					<MemberSignature Language="ILASM" Value=".method private final hidebysig virtual void System.IDisposable.Dispose()"/>
					<MemberSignature Language="C#" Value="void IDisposable.Dispose();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.IDisposable"/> interface. [Note: For more information, see <see cref="M:System.IDisposable.Dispose"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WaitAll">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool WaitAll(class System.Threading.WaitHandle[] waitHandles)"/>
					<MemberSignature Language="C#" Value="public static bool WaitAll(WaitHandle[] waitHandles);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="waitHandles" Type="System.Threading.WaitHandle[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Waits for all of the
      elements in the specified array to receive a signal.</para>
						</summary>
						<param name="waitHandles">A <see cref="T:System.Threading.WaitHandle"/> array containing the objects for which the current instance will wait. This array cannot contain multiple references to the same object (duplicates).</param>
						<returns>
							<para>Returns <see langword="true"/> when
   every element in <paramref name="waitHandles"/> has received a
   signal. If the current
   thread receives a request to abort before the signals are received, this method
   returns <see langword="false"/>. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="waitHandles "/>is <see langword="null"/> or one or more elements in the <paramref name="waitHandles "/> array is <see langword="null"/>.</exception>
						<exception cref="T:System.DuplicateWaitObjectException">
							<paramref name="waitHandles "/>contains elements that are duplicates.</exception>
						<exception cref="T:System.NotSupportedException">The number of objects in <paramref name="waitHandles "/>is greater than the system permits.</exception>
						<remarks>
							<para>
								<SPAN>The maximum number of objects specified in the
   <paramref name="waitHandles"/> array is system defined.</SPAN>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WaitAny">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 WaitAny(class System.Threading.WaitHandle[] waitHandles)"/>
					<MemberSignature Language="C#" Value="public static int WaitAny(WaitHandle[] waitHandles);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="waitHandles" Type="System.Threading.WaitHandle[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Waits for any of the
      elements in the specified array to receive a signal.</para>
						</summary>
						<param name="waitHandles">A <see cref="T:System.Threading.WaitHandle"/> array containing the objects for which the current instance will wait. This array cannot contain multiple references to the same object (duplicates).</param>
						<returns>
							<para>Returns a <see cref="T:System.Int32"/> set to the index of
   the element in <paramref name="waitHandles"/> that received a signal.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="waitHandles "/>is <see langword="null"/> or one or more elements in the <paramref name="waitHandles "/> array is <see langword="null"/>.</exception>
						<exception cref="T:System.DuplicateWaitObjectException">
							<paramref name="waitHandles "/>contains elements that are duplicates.</exception>
						<exception cref="T:System.NotSupportedException">The number of objects in <paramref name="waitHandles "/>is greater than the system permits.</exception>
						<remarks>
							<para>
								<SPAN>The maximum number of objects specified in the
   <paramref name="waitHandles"/> array is system defined.</SPAN>
							</para>
							<para>
								<SPAN>
									<SPAN/>
								</SPAN>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="WaitOne">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool WaitOne()"/>
					<MemberSignature Language="C#" Value="public virtual bool WaitOne();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Blocks the current thread until the current instance receives a signal.</para>
						</summary>
						<returns>
							<para>Returns <see langword="true"/>
when the
current instance receives a signal.</para>
						</returns>
						<exception cref="T:System.ObjectDisposedException">The current instance has already been disposed.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">The caller
      of this method blocks indefinitely until a signal is received by the current
      instance. </block>
							</para>
							<para>
								<block subset="none" type="overrides">Override
      this method to customize the behavior of types derived from <see cref="T:System.Threading.WaitHandle"/> .</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to
      block until a <see langword=" WaitHandle"/>
      receives a signal from another thread, such as is
      generated when an asynchronous operation completes. For more information, see
      the <see cref="T:System.IAsyncResult"/> interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
	</Types>
	<Types Library="ExtendedNumerics">
		<Type Name="Decimal" FullName="System.Decimal" FullNameSP="System_Decimal">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable Decimal extends System.ValueType implements System.IComparable, System.IFormattable"/>
			<TypeSignature Language="C#" Value="public struct Decimal : IComparable, IFormattable"/>
			<MemberOfLibrary>ExtendedNumerics</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is not guaranteed to be safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents a floating-point decimal data type with up to 29 significant
      digits, suitable for financial and commercial calculations.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Decimal"/> type can represent
   values from approximately -7.9 x 10<sup>28</sup> to 7.9 x 10<sup>28</sup>, with 28 or 29 significant
digits. The <see cref="T:System.Decimal"/> data type is ideally suited
to financial calculations that require a large number of significant digits and
no round-off errors.</para>
					<para>The finite set of values of type decimal are of the form
   -1<sup>
							<i>s</i>
						</sup> x c x 10<sup>
							<i>-f</i>
						</sup>, where the sign <paramref name="s"/> is 0 or
1, the coefficient c is given by 0 &lt;= <paramref name="c"/> &lt; 2<sup>96</sup> , and the scale f is such that 0 &lt;= <paramref name="f"/> &lt;=
28.</para>
					<para>A <see cref="T:System.Decimal"/> is represented as a 96-bit integer scaled by a power of
ten. For a <see cref="T:System.Decimal"/> with an absolute value less than 1.0, the value is exact
to the 28<sup>th</sup>
decimal place, but no further. For a <see cref="T:System.Decimal"/> with an absolute value greater than or
equal to 1.0, the value is exact to 28 or 29 digits.</para>
					<para>The result of an operation on values of type <see cref="T:System.Decimal"/> is that which would result
from calculating an exact result
(preserving scale, as defined for each operator) and then rounding to fit the representation. That is, results
are exact to 28 or 29 digits, but to no more than
28 decimal places. A zero result has a sign of 0 and a
scale of 0.</para>
					<para> Results are rounded to the nearest representable
   value, and, when a result is equally close to two representable values,
   to the value that has an even number in the least significant digit
   position (banker's rounding).</para>
					<block subset="none" type="note">
						<para> Unlike the <see cref="T:System.Single"/> and <see cref="T:System.Double"/> data types,
   decimal fractional numbers such as 0.1 can be represented exactly in the <see cref="T:System.Decimal"/> representation.
   In the <see cref="T:System.Single"/> and <see cref="T:System.Double"/>
   representations, such numbers are often infinite fractions, making
   those representations prone to round-off errors.</para>
						<para>Further, the <see cref="T:System.Decimal"/> representation preserves scale, so that 1.23 + 1.27 will give the answer 2.50, not 2.5. </para>
					</block>
					<para>If a <see cref="T:System.Decimal"/> arithmetic operation produces a value that is too small
for the <see cref="T:System.Decimal"/>
format after rounding, the result of the operation is zero. If a <see cref="T:System.Decimal"/> arithmetic
operation produces a result that is too large for the <see cref="T:System.Decimal"/> format, a
<see cref="T:System.OverflowException"/> is thrown.</para>
					<block subset="none" type="note">
						<para>The <see cref="T:System.Decimal"/> class implements implicit conversions from the <see cref="T:System.SByte"/>, <see cref="T:System.Byte"/>, <see cref="T:System.Int16"/>, <see cref="T:System.UInt16"/>, <see cref="T:System.Int32"/>, <see cref="T:System.UInt32"/>, <see cref="T:System.Int64"/>, and <see cref="T:System.UInt64"/> types to <see cref="T:System.Decimal"/>. These implicit
   conversions never lose information and never throw exceptions. The <see cref="T:System.Decimal"/> class also
   implements explicit conversions from <see cref="T:System.Decimal"/> to <see cref="T:System.Byte"/>, <see cref="T:System.SByte"/>, <see cref="T:System.Int16"/>, <see cref="T:System.UInt16"/>, <see cref="T:System.Int32"/>, <see cref="T:System.UInt32"/>, <see cref="T:System.Int64"/>, and <see cref="T:System.UInt64"/>. These explicit conversions round the
<see cref="T:System.Decimal"/> value 
   towards zero to the nearest integer, and then convert that integer to the
   destination type. A <see cref="T:System.OverflowException"/> is thrown if the result is not within the range of the
   destination type.</para>
						<para>The <see cref="T:System.Decimal"/> class provides narrowing conversions to and from the
<see cref="T:System.Single"/> and 
<see cref="T:System.Double"/> types. A 
conversion from <see cref="T:System.Decimal"/> to <see cref="T:System.Single"/> or <see cref="T:System.Double"/> may lose precision, but will not lose information about
the overall magnitude of the numeric value, and will never throw an exception. A
conversion from <see cref="T:System.Single"/> or <see cref="T:System.Double"/> to <see cref="T:System.Decimal"/> throws a <see cref="T:System.OverflowException"/> if the value is not within the range of
the <see cref="T:System.Decimal"/>
type.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IFormattable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 value)"/>
					<MemberSignature Language="C#" Value="public Decimal(int value);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new <see cref="T:System.Decimal"/>
value.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int32"/> value used to initialize the new <see cref="T:System.Decimal"/>. </param>
						<remarks>
							<para>This constructor initializes the new <see cref="T:System.Decimal"/> to the value
   specified by <paramref name="value"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public Decimal(uint value);"/>
					<MemberType>Constructor</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new <see cref="T:System.Decimal"/>
value.</para>
						</summary>
						<param name="value">The <see cref="T:System.UInt32"/> value used to initialize the new <see cref="T:System.Decimal"/>. </param>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use the 
   <see cref="T:System.Decimal"/>(<see cref="T:System.Int64"/>) constructor.</para>
							<para>This constructor initializes the new <see cref="T:System.Decimal"/> to the value
   specified by <paramref name="value"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int64 value)"/>
					<MemberSignature Language="C#" Value="public Decimal(long value);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new <see cref="T:System.Decimal"/>
value.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int64"/> value used to initialize the new <see cref="T:System.Decimal"/>.</param>
						<remarks>
							<para>This constructor initializes the new <see cref="T:System.Decimal"/> to the value
   specified by <paramref name="value"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public Decimal(ulong value);"/>
					<MemberType>Constructor</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new <see cref="T:System.Decimal"/>
value.</para>
						</summary>
						<param name="value">The <see cref="T:System.UInt64"/> value used to initialize the new <see cref="T:System.Decimal"/>. </param>
						<remarks>
							<para>This constructor initializes the new <see cref="T:System.Decimal"/> to the value
   specified by <paramref name="value"/>.</para>
							<para>This member is not CLS-compliant. For a CLS-compliant alternative, use the 
<see cref="T:System.Decimal"/>(<see cref="T:System.Int64"/>) constructor.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(float32 value)"/>
					<MemberSignature Language="C#" Value="public Decimal(float value);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new <see cref="T:System.Decimal"/>
value.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value used to initialize the new <see cref="T:System.Decimal"/>. </param>
						<exception cref="T:System.OverflowException">
							<para>
								<paramref name="value"/> is one of the following:</para>
							<para>greater than <see cref="F:System.Decimal.MaxValue"/>
							</para>
							<para>less than <see cref="F:System.Decimal.MinValue"/>
							</para>
							<para>equal to <see cref="F:System.Single.NaN"/>
							</para>
							<para>equal to <see cref="F:System.Single.PositiveInfinity"/>
							</para>
							<para>equal to <see cref="F:System.Single.NegativeInfinity"/>
							</para>
						</exception>
						<remarks>
							<para>This constructor initializes the new <see cref="T:System.Decimal"/> to the value
   specified by <paramref name="value"/>. This constructor rounds <paramref name="value"/> to 7
   significant digits using banker's rounding.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(float64 value)"/>
					<MemberSignature Language="C#" Value="public Decimal(double value);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new <see cref="T:System.Decimal"/>
value.</para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value used to initialize the new <see cref="T:System.Decimal"/>. </param>
						<exception cref="T:System.OverflowException">
							<para>
								<paramref name="value"/> is one of the following:</para>
							<para>greater than <see cref="F:System.Decimal.MaxValue"/>
							</para>
							<para>less than <see cref="F:System.Decimal.MinValue"/>
							</para>
							<para>equal to <see cref="F:System.Double.NaN"/>
							</para>
							<para>equal to <see cref="F:System.Double.PositiveInfinity"/>
							</para>
							<para>equal to <see cref="F:System.Double.NegativeInfinity"/>
							</para>
						</exception>
						<remarks>
							<para>This constructor initializes the new <see cref="T:System.Decimal"/> to the value
   specified by <paramref name="value"/>. This constructor rounds <paramref name="value"/> to 15
   significant digits using banker's rounding.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Int32[] bits)"/>
					<MemberSignature Language="C#" Value="public Decimal(int[] bits);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="bits" Type="System.Int32[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new <see cref="T:System.Decimal"/> value. </para>
						</summary>
						<param name="bits">
							<para>A <see cref="T:System.Int32"/> array containing a bit representation of a <see cref="T:System.Decimal"/>. <paramref name="bits"/> contains the following four elements: </para>
							<para> Index 0 (bits 0-31) contains the low-order 32 bits of the decimal's coefficient. </para>
							<para> Index 1 (bits 32-63) contains the middle 32 bits of the decimal's coefficient.</para>
							<para> Index 2 (bits 64-95) contains the high-order 32 bits of the decimal's coefficient.</para>
							<para> Index 3 (bits 96-127) contains the sign bit and scale. See below.</para>
						</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="bits"/> is a null reference. </exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="bits"/> does not contain four elements. </para>
						</exception>
						<remarks>
							<para> This constructor initializes the new <see cref="T:System.Decimal"/> to the value represented by the elements of
<paramref name="bits"/>
. </para>
							<para>
								<block subset="none" type="note"> The elements of
<paramref name=" bits"/> represent a
<see cref="T:System.Decimal"/> as 
   a coefficient <paramref name="c"/> , a scale <paramref name="f"/>, and sign bit <paramref name="s"/>. The decimal value is computed as
   -1<sup>s</sup> x <paramref name="c"/> x 10<sup>-f</sup>. The
coefficient <paramref name="c "/>is divided into three 32-bit integer values.</block>
							</para>
							<para> The sign and scale occupy a total of 32 bits as follows:</para>
							<list type="table">
								<listheader>
									<term>Bit Positions</term>
									<description>Name</description>
									<description>Description</description>
								</listheader>
								<item>
									<term> 0-15</term>
									<description>(None.)</description>
									<description>Zero.</description>
								</item>
								<item>
									<term> 16-23 </term>
									<description> Scale</description>
									<description>Contains a value between 0 and 28.</description>
								</item>
								<item>
									<term> 24-30 </term>
									<description>(None.)</description>
									<description>Zero.</description>
								</item>
								<item>
									<term> 31 </term>
									<description>Sign</description>
									<description>0 (positive) or 1 (negative).</description>
								</item>
							</list>
							<para>
								<block subset="none" type="note"> A numeric
   value may have several possible binary representations; they are numerically equal
   but have different scales. Also, the bit representation differentiates between
   -0, 0.00, and 0; these are all treated as 0 in operations, and any zero result will
   have a sign of 0 and a scale of
   0.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="T:System.Decimal"/> (Int32 [])
   constructor.</para>
							<code lang="C#">using System;
class ConstructDecimal {
 public static void Main() {
 int negativeBitValue = unchecked ((int)0x80000000);
 int [] parts0 = {0,0,0,0}; //Positive Zero.
 int [] parts1 = {1,0,0,0};
 int [] parts2 = {0,1,0,0};
 int [] parts3 = {0,0,1,0};
 int [] parts4 = {0,0,0,negativeBitValue}; // Negative zero.
 int [] parts5 = {1,1,1,0};
 int [] partsMaxValue = {-1,-1,-1,0};
 int [] partsMinValue = {-1,-1,-1,negativeBitValue};

 decimal d = new Decimal(parts0);
 Console.WriteLine("{{0,0,0,0}} = {0}",d);
 d = new Decimal(parts1);
 Console.WriteLine("{{1,0,0,0}} = {0}",d);
 d = new Decimal(parts2);
 Console.WriteLine("{{0,1,0,0}} = {0}",d);
 d = new Decimal(parts3);
 Console.WriteLine("{{0,0,1,0}} = {0}",d);
 d = new Decimal(parts4);
 Console.WriteLine("{{0,0,0,{0}}} = {1}",parts4[3],d);
 d = new Decimal(parts5);
 Console.WriteLine("{{1,1,1,0}} = {0}",d);
 d = new Decimal(partsMaxValue );
 Console.WriteLine("{{-1,-1,-1,0}} = {0}",d);
 d = new Decimal(partsMinValue);
 Console.WriteLine("{{-1,-1,-1,{0}}} = {1}",partsMinValue [3],d);
 }
}
</code>
							<para>The output is</para>
							<c>
								<para>{0,0,0,0} = 0</para>
								<para>{1,0,0,0} = 1</para>
								<para>{0,1,0,0} = 4294967296</para>
								<para>{0,0,1,0} = 18446744073709551616</para>
								<para>{0,0,0,-2147483648} = 0</para>
								<para>{1,1,1,0} = 18446744078004518913</para>
								<para>{-1,-1,-1,0} = 79228162514264337593543950335</para>
								<para>{-1,-1,-1,-2147483648} = -79228162514264337593543950335</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Add">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Add(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static decimal Add(decimal d1, decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds two <see cref="T:System.Decimal"/> values
   together.</para>
						</summary>
						<param name="d1">The first value to add..</param>
						<param name="d2">The second value to add.</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/> containing the sum of <paramref name="d1"/> and <paramref name="d2"/>. The 
   scale of the result, before any rounding, is the larger of the scales of d1 and
   d2. For example, 1.1 + 2.22 gives 3.32, and 2.50 + 1 gives 3.50.</para>
						</returns>
						<exception cref="T:System.OverflowException">The sum of <paramref name="d1"/> and <paramref name="d2"/> is less than <see cref="F:System.Decimal.MinValue"/> or greater than <see cref="F:System.Decimal.MaxValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Compare">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Compare(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static int Compare(decimal d1, decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Compares the values of two <see cref="T:System.Decimal"/> values and returns
   sort order information.</para>
						</summary>
						<param name="d1">The first value to compare. </param>
						<param name="d2">The second value to compare. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of
<paramref name="d1"/> and <paramref name="d2"/>.  The exact value 
   returned by this method is implementation defined. The following table
defines the conditions under which the returned value is a
negative number, zero, or a positive number. Each comparison compares the
numerical values of d1 and d2.</para>
							<list type="table">
								<listheader>
									<term> Return Value</term>
									<description> Meaning</description>
								</listheader>
								<item>
									<term> Any
         negative
         number</term>
									<description>
										<paramref name="d1"/>&lt; <paramref name="d2"/>
									</description>
								</item>
								<item>
									<term> Zero</term>
									<description>
										<paramref name="d1"/> == <paramref name="d2"/>
									</description>
								</item>
								<item>
									<term> Any positive
      number</term>
									<description>
										<paramref name="d1"/>&gt;<paramref name="d2"/>
									</description>
								</item>
							</list>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the sort order of the current instance compared
      to the specified <see cref="T:System.Object"/>
      .
      </para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to compare to the current instance. </param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   current instance as compared to <paramref name="value"/>. The following table defines the conditions under
   which the returned value is a negative number, zero,
   or a positive number. Each comparison compares the numerical values of d1
   and d2.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any negative number</term>
									<description>Current instance &lt; <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Zero</term>
									<description>Current instance == <paramref name="value"/>.</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>current instance &gt; <paramref name="value"/>, or <paramref name="value"/> is
   a null reference.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is not a <see cref="T:System.Decimal"/> and is not a null reference. </exception>
						<remarks>
							<para>
								<block subset="none" type="note"> This method is
      implemented to support the <see cref="T:System.IComparable"/> interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Divide">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Divide(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static decimal Divide(decimal d1, decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Divides the value of one <see cref="T:System.Decimal"/> by
   another.</para>
						</summary>
						<param name="d1">The dividend. </param>
						<param name="d2">The divisor. </param>
						<returns>
							<para> A <see cref="T:System.Decimal"/> containing the result of dividing <paramref name="d1"/> by
<paramref name="d2"/> . The scale of the result, before any rounding, is 
   the smallest scale that will preserve a result equal to the exact result. For
   example, 2.22 / 2 gives 1.11.</para>
						</returns>
						<exception cref="T:System.DivideByZeroException">
							<paramref name="d2"/> is zero. </exception>
						<exception cref="T:System.OverflowException">The result is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object value)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the
      specified <see cref="T:System.Object"/>
      have the same type and value.</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to compare to the current instance. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="value"/> has the same type and is numerically equal to
   (has the same value as) the current instance. If <paramref name="value"/> is a null
   reference or is not an instance of <see cref="T:System.Decimal"/>, returns
<see langword="false"/>. </para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method
      overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool Equals(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static bool Equals(decimal d1, decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether two <see cref="T:System.Decimal"/> values have the same value.</para>
						</summary>
						<param name="d1">The first <see cref="T:System.Decimal"/> to compare. </param>
						<param name="d2">The second <see cref="T:System.Decimal"/> to compare. </param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="d1"/> and <paramref name="d2"/> are numerically
   equal
   (have the same value), otherwise <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Floor">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Floor(decimal d)"/>
					<MemberSignature Language="C#" Value="public static decimal Floor(decimal d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Rounds a <see cref="T:System.Decimal"/> value to the closest integer towards negative infinity.</para>
						</summary>
						<param name="d">The <see cref="T:System.Decimal"/> to round downward. </param>
						<returns>
							<para> A <see cref="T:System.Decimal"/> value <paramref name="v"/> such that <paramref name="v"/> is a whole
   number and <paramref name="d"/>
   - 1 &lt; <paramref name="v"/>
   &lt;=
   
<paramref name="d"/> . The scale of the result will be zero.
   </para>
						</returns>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Decimal.Floor(System.Decimal)"/> method.</para>
							<code lang="C#">using System;
class DecimalTest {
 public static void Main() {
   Console.WriteLine("floor {0} is {1}", 3.14159m, Decimal.Floor(3.14159m));
   Console.WriteLine("floor {0} is {1}", -3.9m, Decimal.Floor(-3.9m));
   Console.WriteLine("floor {0} is {1}", 3.0m, Decimal.Floor(3.0m));
 }
}
</code>
							<para>The output is</para>
							<c>
								<para>floor 3.14159 is 3</para>
								<para>floor -3.9 is -4</para>
								<para>floor 3.0 is 3</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetBits">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Int32[] GetBits(decimal d)"/>
					<MemberSignature Language="C#" Value="public static int[] GetBits(decimal d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a binary representation of the specified <see cref="T:System.Decimal"/>
value.</para>
						</summary>
						<param name="d">The <see cref="T:System.Decimal"/> value for which a binary representation is returned. </param>
						<returns>
							<para> An array of type <see cref="T:System.Int32"/> containing the following four
   elements:
   </para>
							<list type="table">
								<listheader>
									<term>Index</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> 0 </term>
									<description> Low-order 32 bits of the decimal's
         coefficient, <paramref name="c"/>.</description>
								</item>
								<item>
									<term> 1 </term>
									<description>Middle 32 bits of <paramref name="c"/>.</description>
								</item>
								<item>
									<term> 2 </term>
									<description>High-order 32 bits of <paramref name="c"/>.</description>
								</item>
								<item>
									<term> 3 </term>
									<description> Sign bit and scale. See below.</description>
								</item>
							</list>
							<para> The sign bit and scale occupy 32 bits as
   follows:
   </para>
							<para>
								<list type="table">
									<listheader>
										<term>Bit Positions</term>
										<description>Description</description>
									</listheader>
									<item>
										<term> 0-15</term>
										<description>Unused.</description>
									</item>
									<item>
										<term> 16-23 </term>
										<description>Contains the scale <paramref name="f"/>, a value between 0 and 28 which indicates the power of 10 to divide
   <paramref name="c"/> by, to produce the <see cref="T:System.Decimal"/> value.</description>
									</item>
									<item>
										<term> 24-30 </term>
										<description>Unused.</description>
									</item>
									<item>
										<term> 31 </term>
										<description>The sign, <paramref name="s"/> , of the <see cref="T:System.Decimal"/> value. 0 (zero or positive) or 1
   (negative).</description>
									</item>
								</list>
							</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para> The elements of the returned array contain a binary
         representation of <paramref name="d"/>
         as a coefficient <paramref name="c"/> a scale <paramref name="f"/> and
         sign bit <paramref name="s"/>. The value of <paramref name="d"/> is computed as -1<sup>s</sup> x <paramref name="c"/> x 10<sup>-f</sup>
      
      .</para>
								<para>
									<paramref name="c"/> occupies the first three elements of the
   returned array. The fourth element contains <paramref name="f"/> and <paramref name="s"/>
   .</para>
							</block>
							<PRE/>
							<para> A numeric value may have several possible binary
   representations; they are numerically equal but have different scales. Also, the
   bit representation differentiates between -0, 0.00, and 0; these are all
   treated as 0 in operations, and any zero result will have a
   sign of 0 and a scale of 0.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the different
      representations of 1.00 and 1.</para>
							<code lang="C#">using System;
public class Class1  {
    public static void Print (int [] bs) {
        foreach (int b in bs) {
            Console.Write (b+" ");
        }
    }
public static void Main () {
   decimal d = 1.00m;
    decimal d1 = 1;
    Console.Write (d);
    Console.Write (" - bits: "); 
    Print (decimal.GetBits(d));
    Console.WriteLine();
    Console.Write (d1);
    Console.Write (" - bits: "); 
    Print (decimal.GetBits(d1));
    Console.WriteLine();
    Console.WriteLine ("d1.CompareTo(d) == {0}", d1.CompareTo(d));
    Console.WriteLine ("d1 == d {0}", d1 == d);
}
}
   </code>
							<para>The output is</para>
							<c>
								<para>1.00 - bits: 100 0 0 512</para>
								<para>1 - bits: 1 0 0 0</para>
								<para>d1.CompareTo(d) == 0</para>
								<para>d1 == d True</para>
							</c>
						</example>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for this instance.</para>
						</returns>
						<remarks>
							<para>The algorithm used to
      generate the hash code value is unspecified.</para>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Object.GetHashCode"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxValue">
					<MemberSignature Language="ILASM" Value=".field public static initOnly decimal MaxValue"/>
					<MemberSignature Language="C#" Value="public static readonly decimal MaxValue;"/>
					<MemberType>Field</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>DecimalConstantAttribute(79228162514264337593543950335, 79228162514264337593543950335, 79228162514264337593543950335, 79228162514264337593543950335, 79228162514264337593543950335)</AttributeName>
							<Excluded>1</Excluded>
							<ExcludedTypeName>System.Runtime.CompilerServices.DecimalConstantAttribute</ExcludedTypeName>
							<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>79228162514264337593543950335</MemberValue>
					<Docs>
						<summary>
							<para>Contains the maximum positive value for the <see cref="T:System.Decimal"/> type.</para>
						</summary>
						<remarks>
							<para> The value of this constant is
 79228162514264337593543950335.</para>
							<para> This field is
 read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinusOne">
					<MemberSignature Language="ILASM" Value=".field public static initOnly decimal MinusOne"/>
					<MemberSignature Language="C#" Value="public static readonly decimal MinusOne;"/>
					<MemberType>Field</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>DecimalConstantAttribute(-1, -1, -1, -1, -1)</AttributeName>
							<Excluded>1</Excluded>
							<ExcludedTypeName>System.Runtime.CompilerServices.DecimalConstantAttribute</ExcludedTypeName>
							<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Contains negative one (-1).</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinValue">
					<MemberSignature Language="ILASM" Value=".field public static initOnly decimal MinValue"/>
					<MemberSignature Language="C#" Value="public static readonly decimal MinValue;"/>
					<MemberType>Field</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>DecimalConstantAttribute(-79228162514264337593543950335, -79228162514264337593543950335, -79228162514264337593543950335, -79228162514264337593543950335, -79228162514264337593543950335)</AttributeName>
							<Excluded>1</Excluded>
							<ExcludedTypeName>System.Runtime.CompilerServices.DecimalConstantAttribute</ExcludedTypeName>
							<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Contains the minimum (most negative) value for the
 <see cref="T:System.Decimal"/> type.</para>
						</summary>
						<remarks>
							<para> The value of this constant
 is -79228162514264337593543950335.</para>
							<para> This field
 is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Multiply">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Multiply(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static decimal Multiply(decimal d1, decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the result of multiplying two <see cref="T:System.Decimal"/>
values.</para>
						</summary>
						<param name="d1">The first value to multiply. </param>
						<param name="d2">The second value to multiply. </param>
						<returns>
							<para> The result of multiplying <paramref name="d1"/> and
<paramref name="d2"/> . The scale of the result, before any 
   rounding, is the sum of the scales of d1 and
   d2.</para>
							<para>For example, 123 x 3 gives 369, and 2.2 x 1.35 gives 2.970.</para>
						</returns>
						<exception cref="T:System.OverflowException">The result is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Negate">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Negate(decimal d)"/>
					<MemberSignature Language="C#" Value="public static decimal Negate(decimal d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the result of multiplying a <see cref="T:System.Decimal"/> value by
   negative
   one.
   </para>
						</summary>
						<param name="d">The value to negate. </param>
						<returns>
							<para> The negated value of <paramref name="d"/>. If <paramref name="d"/> is zero then zero is returned (with 0 sign and 
   scale); otherwise the scale of the result is the same as the scale of
<paramref name="d"/>
.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="One">
					<MemberSignature Language="ILASM" Value=".field public static initOnly decimal One"/>
					<MemberSignature Language="C#" Value="public static readonly decimal One;"/>
					<MemberType>Field</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>DecimalConstantAttribute(1, 1, 1, 1, 1)</AttributeName>
							<Excluded>1</Excluded>
							<ExcludedTypeName>System.Runtime.CompilerServices.DecimalConstantAttribute</ExcludedTypeName>
							<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>1</MemberValue>
					<Docs>
						<summary>
							<para> Contains one (1).</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Addition">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Addition(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static Decimal operator +(Decimal d1, Decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Adds two <see cref="T:System.Decimal"/> values together. </para>
						</summary>
						<param name="d1">The first value to add. </param>
						<param name="d2">The second value to add. </param>
						<returns>
							<para>The value returned by <see cref="M:System.Decimal.Add(System.Decimal,System.Decimal)"/>
(<paramref name="d1"/>,<paramref name="d2"/>).</para>
						</returns>
						<exception cref="T:System.OverflowException">The sum of <paramref name="d1"/> and <paramref name="d2"/> is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Decrement">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Decrement(decimal d)"/>
					<MemberSignature Language="C#" Value="public static Decimal operator --(Decimal d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified value decremented by
      one.</para>
						</summary>
						<param name="d">A <see cref="T:System.Decimal"/> value.</param>
						<returns>
							<para>The value returned by <see cref="M:System.Decimal.Subtract(System.Decimal,System.Decimal)"/> (<paramref name="d"/> , <see cref="F:System.Decimal.One"/> ).</para>
						</returns>
						<exception cref="T:System.OverflowException">The result is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/> .</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Division">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Division(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static Decimal operator /(Decimal d1, Decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Divides one <see cref="T:System.Decimal"/> value by another <see cref="T:System.Decimal"/> . </para>
						</summary>
						<param name="d1">The dividend. </param>
						<param name="d2">The divisor. </param>
						<returns>
							<para> The value returned by <see cref="M:System.Decimal.Divide(System.Decimal,System.Decimal)"/> (<paramref name="d1"/>,
<paramref name="d2"/>). </para>
						</returns>
						<exception cref="T:System.DivideByZeroException">The divisor is zero. </exception>
						<exception cref="T:System.OverflowException">The result is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Equality">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_Equality(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static bool operator ==(Decimal d1, Decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether two decimals have the
      same value.</para>
						</summary>
						<param name="d1">The first <see cref="T:System.Decimal"/> to compare. </param>
						<param name="d2">The second <see cref="T:System.Decimal"/> to compare.</param>
						<returns>
							<para>
								<see langword="true"/> if <see cref="M:System.Decimal.Compare(System.Decimal,System.Decimal)"/>
(<paramref name="d1"/>, <paramref name="d2"/> ) returns
zero; otherwise <see langword="false"/>. </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Explicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname float64 op_Explicit(decimal value)"/>
					<MemberSignature Language="C#" Value="public static explicit operator double(Decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an explicit conversion of a <see cref="T:System.Decimal"/> value to <see cref="T:System.Double"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to convert to <see cref="T:System.Double"/> .</param>
						<returns>
							<para> A <see cref="T:System.Double"/> with the specified value. </para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This operation can
      produce round-off errors due to the fact that <see cref="T:System.Double"/> has fewer significant digits than
   <see cref="T:System.Decimal"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Explicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname float32 op_Explicit(decimal value)"/>
					<MemberSignature Language="C#" Value="public static explicit operator float(Decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an explicit conversion of a <see cref="T:System.Decimal"/> value to <see cref="T:System.Single"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to convert to <see cref="T:System.Single"/> .</param>
						<returns>
							<para> A <see cref="T:System.Single"/> with the specified value. </para>
							<para>
								<block subset="none" type="note"> This operation can
   produce round-off errors due to the fact that <see cref="T:System.Single"/> has fewer significant digits than
<see cref="T:System.Decimal"/>.</block>
							</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Explicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname unsigned int64 op_Explicit(decimal value)"/>
					<MemberSignature Language="C#" Value="public static explicit operator ulong(Decimal value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an explicit conversion of a <see cref="T:System.Decimal"/> value to <see cref="T:System.UInt64"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to convert to <see cref="T:System.UInt64"/> .</param>
						<returns>
							<para>A <see cref="T:System.UInt64"/> containing
<paramref name="value"/> rounded towards zero to the nearest
   integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">The resulting integer value is greater than <see cref="F:System.UInt64.MaxValue"/> or less than <see cref="F:System.UInt64.MinValue"/>.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant
      alternative to <see cref="T:System.UInt64"/>, use <see cref="T:System.Int64"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Explicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname int64 op_Explicit(decimal value)"/>
					<MemberSignature Language="C#" Value="public static explicit operator long(Decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an explicit conversion of a <see cref="T:System.Decimal"/> value to <see cref="T:System.Int64"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to convert to <see cref="T:System.Int64"/> .</param>
						<returns>
							<para>A <see cref="T:System.Int64"/> containing
<paramref name="value"/> rounded towards zero to the nearest
   integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">The resulting integer value is greater than <see cref="F:System.Int64.MaxValue"/> or less than <see cref="F:System.Int64.MinValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Explicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname unsigned int32 op_Explicit(decimal value)"/>
					<MemberSignature Language="C#" Value="public static explicit operator uint(Decimal value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an explicit conversion of a <see cref="T:System.Decimal"/> value to <see cref="T:System.UInt32"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to convert to <see cref="T:System.UInt32"/> .</param>
						<returns>
							<para>A <see cref="T:System.UInt32"/> containing <paramref name="value"/> rounded towards zero to the
   nearest integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">The resulting integer value is greater than <see cref="F:System.UInt32.MaxValue"/> or less than <see cref="F:System.UInt32.MinValue"/>.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant 
      alternative to <see cref="T:System.UInt32"/>, use <see cref="T:System.Int64"/> ). </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Explicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname int32 op_Explicit(decimal value)"/>
					<MemberSignature Language="C#" Value="public static explicit operator int(Decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an explicit conversion of a <see cref="T:System.Decimal"/> value to <see cref="T:System.Int32"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to convert to <see cref="T:System.Int32"/> .</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing
<paramref name="value"/> rounded towards zero to the nearest
   integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">The resulting integer value is greater than <see cref="F:System.Int32.MaxValue"/> or less than <see cref="F:System.Int32.MinValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Explicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname int8 op_Explicit(decimal value)"/>
					<MemberSignature Language="C#" Value="public static explicit operator sbyte(Decimal value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an explicit conversion of a <see cref="T:System.Decimal"/> value to <see cref="T:System.SByte"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to convert to <see cref="T:System.SByte"/>.</param>
						<returns>
							<para>A <see cref="T:System.SByte"/> containing
<paramref name="value"/> rounded towards zero to the nearest
   integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">The resulting integer value is greater than <see cref="F:System.SByte.MaxValue"/> or less than <see cref="F:System.SByte.MinValue"/>.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant 
      alternative to <see cref="T:System.SByte"/>, use <see cref="T:System.Int16"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Explicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname unsigned int8 op_Explicit(decimal value)"/>
					<MemberSignature Language="C#" Value="public static explicit operator byte(Decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an explicit conversion of a <see cref="T:System.Decimal"/> value to <see cref="T:System.Byte"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to convert to <see cref="T:System.Byte"/> .</param>
						<returns>
							<para>A <see cref="T:System.Byte"/> containing
<paramref name="value"/> rounded towards zero to the nearest
   integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">The resulting integer value is greater than <see cref="F:System.Byte.MaxValue"/> or less than <see cref="F:System.Byte.MinValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Explicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Explicit(float64 value)"/>
					<MemberSignature Language="C#" Value="public static explicit operator Decimal(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an explicit conversion of a <see cref="T:System.Double"/> value to <see cref="T:System.Decimal"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.Double"/> value to convert to <see cref="T:System.Decimal"/> .</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/>
with the
specified value.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<para>
								<paramref name="value"/> is one of the following:</para>
							<para>greater than <see cref="F:System.Decimal.MaxValue"/>
							</para>
							<para>less than <see cref="F:System.Decimal.MinValue"/>
							</para>
							<para>equal to <see cref="F:System.Double.NaN"/>
							</para>
							<para>equal to <see cref="F:System.Double.PositiveInfinity"/>
							</para>
							<para>equal to <see cref="F:System.Double.NegativeInfinity"/>
							</para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Explicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Explicit(float32 value)"/>
					<MemberSignature Language="C#" Value="public static explicit operator Decimal(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an explicit conversion of a <see cref="T:System.Single"/> value to <see cref="T:System.Decimal"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.Single"/> value to convert to <see cref="T:System.Decimal"/> .</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/>
with the
specified value.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<para>
								<paramref name="value"/> is one of the following:</para>
							<para>greater than <see cref="F:System.Decimal.MaxValue"/>
							</para>
							<para>less than <see cref="F:System.Decimal.MinValue"/>
							</para>
							<para>equal to <see cref="F:System.Single.NaN"/>
							</para>
							<para>equal to <see cref="F:System.Single.PositiveInfinity"/>
							</para>
							<para>equal to <see cref="F:System.Single.NegativeInfinity"/>
							</para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Explicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname valuetype System.Char op_Explicit(decimal value)"/>
					<MemberSignature Language="C#" Value="public static explicit operator char(Decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an explicit conversion of a <see cref="T:System.Decimal"/> value to <see cref="T:System.Char"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to convert to <see cref="T:System.Char"/> .</param>
						<returns>
							<para> A <see cref="T:System.Char"/> containing
<paramref name="value"/> rounded towards zero to the nearest
   integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">The resulting integer value is greater than <see cref="F:System.Char.MaxValue"/> or less than <see cref="F:System.Char.MinValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Explicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname unsigned int16 op_Explicit(decimal value)"/>
					<MemberSignature Language="C#" Value="public static explicit operator ushort(Decimal value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an explicit conversion of a <see cref="T:System.Decimal"/> value to <see cref="T:System.UInt16"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to convert to <see cref="T:System.UInt16"/> .</param>
						<returns>
							<para>A <see cref="T:System.UInt16"/> containing
<paramref name="value"/> rounded towards zero to the nearest
   integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">The resulting integer value is greater than <see cref="F:System.UInt16.MaxValue"/> or less than <see cref="F:System.UInt16.MinValue"/>.</exception>
						<remarks>
							<para>This member is not CLS-compliant. For a CLS-compliant 
      alternative to <see cref="T:System.UInt16"/>, use <see cref="T:System.Int32"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Explicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname int16 op_Explicit(decimal value)"/>
					<MemberSignature Language="C#" Value="public static explicit operator short(Decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an explicit conversion of a <see cref="T:System.Decimal"/> value to <see cref="T:System.Int16"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Decimal"/> value to convert to <see cref="T:System.Int16"/> .</param>
						<returns>
							<para>A <see cref="T:System.Int16"/> containing
<paramref name="value"/> rounded towards zero to the nearest
   integer. </para>
						</returns>
						<exception cref="T:System.OverflowException">The resulting integer value is greater than <see cref="F:System.Int16.MaxValue"/> or less than <see cref="F:System.Int16.MinValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_GreaterThan">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_GreaterThan(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static bool operator &gt;(Decimal d1, Decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether one <see cref="T:System.Decimal"/> value is greater than another
<see cref="T:System.Decimal"/> value.</para>
						</summary>
						<param name="d1">The first <see cref="T:System.Decimal"/> to compare. </param>
						<param name="d2">The second <see cref="T:System.Decimal"/> to compare. </param>
						<returns>
							<para>
								<see langword="true"/> if <see cref="M:System.Decimal.Compare(System.Decimal,System.Decimal)"/> (<paramref name="d1"/>,
<paramref name="d2"/>) returns a value that is greater than zero; otherwise 
<see langword="false"/>. </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_GreaterThanOrEqual">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_GreaterThanOrEqual(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static bool operator &gt;=(Decimal d1, Decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether one <see cref="T:System.Decimal"/> value is greater than or equal to
   another <see cref="T:System.Decimal"/>
   value.</para>
						</summary>
						<param name="d1">The first <see cref="T:System.Decimal"/> to compare. </param>
						<param name="d2">The second <see cref="T:System.Decimal"/> to compare. </param>
						<returns>
							<para>
								<see langword="true"/> if <see cref="M:System.Decimal.Compare(System.Decimal,System.Decimal)"/> (<paramref name="d1"/>,
<paramref name="d2"/>) returns a value that is greater than or equal to zero; otherwise 
<see langword="false"/>. </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Implicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Implicit(unsigned int8 value)"/>
					<MemberSignature Language="C#" Value="public static implicit operator Decimal(byte value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an implicit conversion of a <see cref="T:System.Byte"/> value to <see cref="T:System.Decimal"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.Byte"/> value to convert to <see cref="T:System.Decimal"/> .</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/>
with the
specified value.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Implicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Implicit(int8 value)"/>
					<MemberSignature Language="C#" Value="public static implicit operator Decimal(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an implicit conversion of a <see cref="T:System.SByte"/> value to <see cref="T:System.Decimal"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.SByte"/> value to convert to <see cref="T:System.Decimal"/> .</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/>
with the
specified value.</para>
						</returns>
						<remarks>
							<para>
   This member is not CLS-compliant. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Implicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Implicit(int16 value)"/>
					<MemberSignature Language="C#" Value="public static implicit operator Decimal(short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an implicit conversion of a <see cref="T:System.Int16"/> value to <see cref="T:System.Decimal"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int16"/> value to convert to <see cref="T:System.Decimal"/>.</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/>
with the
specified value.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Implicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Implicit(unsigned int16 value)"/>
					<MemberSignature Language="C#" Value="public static implicit operator Decimal(ushort value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an implicit conversion of a <see cref="T:System.UInt16"/> value to <see cref="T:System.Decimal"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.UInt16"/> value to convert to <see cref="T:System.Decimal"/> .</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/>
with the
specified value.</para>
						</returns>
						<remarks>
							<para> This member is not CLS-compliant.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Implicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Implicit(valuetype System.Char value)"/>
					<MemberSignature Language="C#" Value="public static implicit operator Decimal(char value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an implicit conversion of a <see cref="T:System.Char"/> value to <see cref="T:System.Decimal"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.Char"/> value to convert to <see cref="T:System.Decimal"/> .</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/>
with the
specified value.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Implicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Implicit(int32 value)"/>
					<MemberSignature Language="C#" Value="public static implicit operator Decimal(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an implicit conversion of a <see cref="T:System.Int32"/> value to <see cref="T:System.Decimal"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int32"/> value to convert to <see cref="T:System.Decimal"/> .</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/>
with the
specified value.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Implicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Implicit(unsigned int32 value)"/>
					<MemberSignature Language="C#" Value="public static implicit operator Decimal(uint value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an implicit conversion of a <see cref="T:System.UInt32"/> value to <see cref="T:System.Decimal"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.UInt32"/> value to convert to <see cref="T:System.Decimal"/> .</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/>
with the
specified value.</para>
						</returns>
						<remarks>
							<para>
   This member is not CLS-compliant. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Implicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Implicit(int64 value)"/>
					<MemberSignature Language="C#" Value="public static implicit operator Decimal(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an implicit conversion of a <see cref="T:System.Int64"/> value to <see cref="T:System.Decimal"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.Int64"/> value to convert to <see cref="T:System.Decimal"/> .</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/>
with the
specified value.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Implicit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Implicit(unsigned int64 value)"/>
					<MemberSignature Language="C#" Value="public static implicit operator Decimal(ulong value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Perform an implicit conversion of a <see cref="T:System.UInt64"/> value to <see cref="T:System.Decimal"/>.</para>
						</summary>
						<param name="value">The <see cref="T:System.UInt64"/> value to convert to <see cref="T:System.Decimal"/> .</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/>
with the
specified value.</para>
						</returns>
						<remarks>
							<para>This member is not CLS-compliant.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Increment">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Increment(decimal d)"/>
					<MemberSignature Language="C#" Value="public static Decimal operator ++(Decimal d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified value incremented by one.</para>
						</summary>
						<param name="d">A <see cref="T:System.Decimal"/> value.</param>
						<returns>
							<para>The value returned by <see cref="M:System.Decimal.Add(System.Decimal,System.Decimal)"/> (<paramref name="d"/> ,
<see cref="F:System.Decimal.One"/> ).</para>
						</returns>
						<exception cref="T:System.OverflowException">The result is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/> .</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Inequality">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_Inequality(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static bool operator !=(Decimal d1, Decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether two decimals do not have
      the same value.</para>
						</summary>
						<param name="d1">The first <see cref="T:System.Decimal"/> to compare. </param>
						<param name="d2">The second <see cref="T:System.Decimal"/> to compare. </param>
						<returns>
							<para>
								<see langword="true"/> if <see cref="M:System.Decimal.Compare(System.Decimal,System.Decimal)"/> (<paramref name="d1"/>,
<paramref name="d2"/>) does not return zero; otherwise <see langword="false"/>. </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_LessThan">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_LessThan(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static bool operator  &lt;(Decimal d1, Decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether one <see cref="T:System.Decimal"/> value is less than another
<see cref="T:System.Decimal"/> 
value.</para>
						</summary>
						<param name="d1">The first <see cref="T:System.Decimal"/> to compare. </param>
						<param name="d2">The first <see cref="T:System.Decimal"/> to compare.</param>
						<returns>
							<para>
								<see langword="true"/> if <see cref="M:System.Decimal.Compare(System.Decimal,System.Decimal)"/> (<paramref name="d1"/>,
<paramref name="d2"/>) returns a value that is less than zero; otherwise 
<see langword="false"/>. </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_LessThanOrEqual">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname bool op_LessThanOrEqual(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static bool operator &lt;=(Decimal d1, Decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether one <see cref="T:System.Decimal"/> value is less than or equal to another
<see cref="T:System.Decimal"/> 
value.</para>
						</summary>
						<param name="d1">The first <see cref="T:System.Decimal"/> to compare. </param>
						<param name="d2">The second <see cref="T:System.Decimal"/> to compare. </param>
						<returns>
							<para>
								<see langword="true"/> if <see cref="M:System.Decimal.Compare(System.Decimal,System.Decimal)"/> (<paramref name="d1"/>,
<paramref name="d2"/>) returns a value that is less than or equal to zero; otherwise 
<see langword="false"/>. </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Modulus">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Modulus(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static Decimal operator %(Decimal d1, Decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Divides one <see cref="T:System.Decimal"/> value by another <see cref="T:System.Decimal"/> and returns the
   remainder.</para>
						</summary>
						<param name="d1">The dividend. </param>
						<param name="d2">The divisor. </param>
						<returns>
							<para>The value returned by <see cref="M:System.Decimal.Remainder(System.Decimal,System.Decimal)"/> (<paramref name="d1"/>,
<paramref name="d2"/>).</para>
						</returns>
						<exception cref="T:System.DivideByZeroException">
							<paramref name="d2"/> is zero. </exception>
						<exception cref="T:System.OverflowException">
							<paramref name="d1"/> divided by <paramref name="d2"/> is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Multiply">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Multiply(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static Decimal operator *(Decimal d1, Decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the result of multiplying two <see cref="T:System.Decimal"/>
values.</para>
						</summary>
						<param name="d1">The first operand. </param>
						<param name="d2">The second operand. </param>
						<returns>
							<para> The value returned by <see cref="M:System.Decimal.Multiply(System.Decimal,System.Decimal)"/> (<paramref name="d1"/>,
<paramref name="d2"/>). </para>
						</returns>
						<exception cref="T:System.OverflowException">The result is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_Subtraction">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_Subtraction(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static Decimal operator -(Decimal d1, Decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Subtracts one <see cref="T:System.Decimal"/> value from
   another.</para>
						</summary>
						<param name="d1">The left-side operand. </param>
						<param name="d2">The right-side operand. </param>
						<returns>
							<para> The value returned by <see cref="M:System.Decimal.Subtract(System.Decimal,System.Decimal)"/> (<paramref name="d1"/>,
<paramref name="d2"/>
).</para>
						</returns>
						<exception cref="T:System.OverflowException">The result is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_UnaryNegation">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_UnaryNegation(decimal d)"/>
					<MemberSignature Language="C#" Value="public static Decimal operator -(Decimal d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified value multiplied by negative one
      (-1).</para>
						</summary>
						<param name="d">A <see cref="T:System.Decimal"/> value.</param>
						<returns>
							<para>The value returned by <see cref="M:System.Decimal.Negate(System.Decimal)"/> (<paramref name="d"/>).</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="op_UnaryPlus">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static specialname decimal op_UnaryPlus(decimal d)"/>
					<MemberSignature Language="C#" Value="public static Decimal operator +(Decimal d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>
 Returns the specified value.</para>
						</summary>
						<param name="d">A <see cref="T:System.Decimal"/> value.</param>
						<returns>
							<para>Returns <paramref name="d"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Parse(string s)"/>
					<MemberSignature Language="C#" Value="public static decimal Parse(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Decimal"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Number"/> style, preserving scale.</param>
						<returns>
							<para>The <see cref="T:System.Decimal"/> value obtained from <paramref name="s"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s "/>is not in the correct format.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Decimal.Parse(System.String)"/> is equivalent to <see cref="M:System.Decimal.Parse(System.String)"/>
(<paramref name="s"/> , <see cref="F:System.Globalization.NumberStyles.Number"/> , <see langword="null"/> ).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting information
in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system
culture. <block subset="none" type="note"> For more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/> .</block>
							</para>
							<para>If necessary, the value of s is rounded using banker's 
   rounding. Any scale apparent in the string s is preserved unless the value
   is rounded or the value is zero (in which latter case the sign and scale will be
   0). Hence the string "2.900" will be parsed to form the decimal with sign
   0, coefficient 2900, and scale 3.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Decimal.Parse(System.String)"/> method.</para>
							<code lang="C#">using System;
using System.Globalization;
class DecimalParseClass {
  public static void Main() {
    string s1 = " -1.001  ";
    string s2 = "+1,000,111.99";     
    string s3 = "2.900";
    Console.WriteLine("String: {0} (decimal) {1}",s1,Decimal.Parse(s1));
    Console.WriteLine("String: {0} (decimal) {1}",s2,Decimal.Parse(s2));
    Console.WriteLine("String: {0} (decimal) {1}",s3,Decimal.Parse(s3));
  }
}
</code>
							<para>The output is</para>
							<c>
								<para>String: -1.001 (decimal) -1.001</para>
								<para>String: +1,000,111.99 (decimal) 1000111.99</para>
								<para>String: 2.900 (decimal) 2.900</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Parse(string s, valuetype System.Globalization.NumberStyles style)"/>
					<MemberSignature Language="C#" Value="public static decimal Parse(string s, NumberStyles style);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Decimal"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/> , preserving scale.</param>
						<param name="style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Number"/> style.</param>
						<returns>
							<para>The <see cref="T:System.Decimal"/> value obtained from <paramref name="s"/>
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Decimal.Parse(System.String)"/> is equivalent to <see cref="M:System.Decimal.Parse(System.String)"/>
(<paramref name="s"/>, <paramref name="style"/> , <see langword="null"/> ).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system
culture. <block subset="none" type="note"> For more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/> .</block>
							</para>
							<para>If necessary, the value of <paramref name="s"/> is rounded using banker's rounding.</para>
						</remarks>
						<example>
							<para>The following example demonstrates supplying <see cref="T:System.Globalization.NumberStyles"/> values to the <see cref="M:System.Decimal.Parse(System.String)"/>
method to allow for a symbol separating groups
of digits, and a decimal separator. This example uses the symbols from the U.S.
English culture, namely a comma and a decimal point.</para>
							<code lang="C#">using System;
using System.Globalization;
class DecimalParseClass {
public static void Main() {
 string s = "1,000,111.99"; 
 NumberStyles ns = NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint;
 decimal d = Decimal.Parse(s,ns);
 Console.WriteLine("{0} parsed to decimal {1}",s,d);
}
}
</code>
							<para>The output is</para>
							<c>
								<para>1,000,111.99 parsed to decimal 1000111.99</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Parse(string s, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static decimal Parse(string s, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Decimal"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The <see cref="T:System.String"/> is interpreted using the <see cref="F:System.Globalization.NumberStyles.Number"/> style, preserving scale.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.Decimal"/> value obtained from <paramref name="s"/>
.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Decimal.Parse(System.String)"/> is equivalent to <see cref="M:System.Decimal.Parse(System.String)"/>
(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Number"/> , <paramref name="provider"/> ).</para>
							<para>The string <paramref name="s"/> is parsed using the
culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the formatting information for the current system culture is 
used.</para>
							<para>If necessary, the value of s is rounded using banker's
   rounding. Any scale apparent in the string s is preserved unless the value
   is rounded or the value is zero (in which latter case the sign and scale will be
   0). Hence the string "2.900" will be parsed to form the decimal with sign
   0, coefficient 2900, and
   scale 3.</para>
						</remarks>
						<example>
							<para>The following example demonstrates supplying a <see cref="T:System.IFormatProvider"/> to the
<see cref="M:System.Decimal.Parse(System.String)"/> 
method to allow a decimal point, and commas separating groups of digits.</para>
							<code lang="C#">using System;
using System.Globalization;
class DecimalParseClass {
public static void Main() {
 string s = "1,000,111.99"; 
 //Get the default formatting symbols.
 NumberFormatInfo nfi = new NumberFormatInfo();
 // Default group separator is ','
 // Default decimal separator is '.'
 decimal d = Decimal.Parse(s,nfi);
 Console.WriteLine("{0} parsed to decimal {1}",s,d);
}
}
</code>
							<para>The output is</para>
							<para>
								<c>1,000,111.99
   parsed to decimal 1000111.99</c>
							</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Parse(string s, valuetype System.Globalization.NumberStyles style, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static decimal Parse(string s, NumberStyles style, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Decimal"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/> , preserving scale.</param>
						<param name="style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Number"/> style.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.Decimal"/> value obtained from <paramref name="s"/>
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="s"/> is a null reference. </para>
						</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="s"/> represents a number greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>.</exception>
						<remarks>
							<para>The string <paramref name="s"/> is parsed using the
   culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the formatting information for the current system culture is used.</para>
							<para>If necessary, the value of <paramref name="s"/> is rounded using banker's rounding.</para>
						</remarks>
						<example>
							<para>The following example demonstrates supplying <see cref="T:System.Globalization.NumberStyles"/> values and a <see cref="T:System.IFormatProvider"/> to the
<see cref="M:System.Decimal.Parse(System.String)"/> 
method to allow colons separating
groups of digits, and a decimal point.</para>
							<code lang="C#">using System;
using System.Globalization;
class DecimalParseClass {
public static void Main() {
 string s = "1:000:111.99"; 
 NumberStyles ns = NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint;
 NumberFormatInfo nfi = new NumberFormatInfo();
 //Change the format info to separate digit groups using a colon.
 nfi.NumberGroupSeparator = ":";
 decimal d = Decimal.Parse(s,ns,nfi);
 Console.WriteLine("{0} parsed to decimal {1}",s,d);
}
}
</code>
							<para>The output is</para>
							<c>
								<para>1:000:111.99 parsed to decimal 1000111.99</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Remainder">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Remainder(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static decimal Remainder(decimal d1, decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Computes the remainder after dividing two <see cref="T:System.Decimal"/> values.</para>
						</summary>
						<param name="d1">The dividend.</param>
						<param name=" d2">The divisor.</param>
						<returns>
							<para>The remainder after dividing d1 by d2 to give an integer
      result. The sign of the result, if non-zero, is the same as the sign of d1, and
      the scale of the result is the larger of the scales of d1 and d2.</para>
							<para>For example, -10 % 3 gives -1, and 3.6 % 1.3 gives 1.0 (where % indicates the
      remainder operation).</para>
						</returns>
						<exception cref="T:System.DivideByZeroException">
							<paramref name="d2"/> is zero.</exception>
						<exception cref="T:System.OverflowException">
							<paramref name="d1"/> divided by <paramref name="d2"/> is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Round">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Round(decimal d, int32 decimals)"/>
					<MemberSignature Language="C#" Value="public static decimal Round(decimal d, int decimals);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Decimal"/>
						<Parameter Name="decimals" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Rounds a <see cref="T:System.Decimal"/> value
   to a specified number of decimal places.</para>
						</summary>
						<param name="d">The <see cref="T:System.Decimal"/> to round. </param>
						<param name="decimals">The number of decimal places to round to. 0 &lt;= <paramref name="decimals"/> &lt;= 28. </param>
						<returns>
							<para>The <see cref="T:System.Decimal"/> result of rounding <paramref name="d"/> to <paramref name="decimals"/>
decimal places.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="decimals"/> is not between 0 and 28, inclusive. </exception>
						<remarks>
							<para>When <paramref name="d"/> is exactly half way
   between two rounded values, the result is the rounded value that has an even
   digit in the rightmost decimal position. For example, when rounded to two
   decimals, the value 2.345 becomes 2.34 and the value 2.355 becomes 2.36.
   <block subset="none" type="note">This process is known as rounding half towards even, or banker's
      rounding.</block>
							</para>
							<para>The scale of the result will be the smaller of 
   <paramref name="decimals"/> and the scale of
      d.</para>
							<para>
								<block subset="none" type="note">The scale of <paramref name="d"/> is never
   increased, so <see cref="M:System.Decimal.Round(System.Decimal,System.Int32)"/> cannot cause overflow.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Decimal.Round(System.Decimal,System.Int32)"/> method.</para>
							<code lang="C#">using System;
class MyClass {
public static void Main() {
 decimal d1 = 2.5m;
 decimal d2 = 3.5m;
 decimal d3 = 2.98765432m;
 decimal d4 = 2.18765432m;
 Console.WriteLine("Rounding to 0 places...");
 Console.WriteLine("round {0} = {1}",d1, Decimal.Round(d1,0));
 Console.WriteLine("round {0} = {1}",d2, Decimal.Round(d2,0));
 Console.WriteLine("round {0} = {1}",d3, Decimal.Round(d3,0));
 Console.WriteLine("round {0} = {1}",d4, Decimal.Round(d4,0));
 Console.WriteLine("Rounding to 2 places...");
 Console.WriteLine("round {0} = {1}",d1, Decimal.Round(d1,2));
 Console.WriteLine("round {0} = {1}",d2, Decimal.Round(d2,2));
 Console.WriteLine("round {0} = {1}",d3, Decimal.Round(d3,2));
 Console.WriteLine("round {0} = {1}",d4, Decimal.Round(d4,2));
}
}
</code>
							<para>The output is</para>
							<c>
								<para>Rounding to 0 places...</para>
								<para>round 2.5 = 2</para>
								<para>round 3.5 = 4</para>
								<para>round 2.98765432 = 3</para>
								<para>round 2.18765432 = 2</para>
								<para>Rounding to 2 places...</para>
								<para>round 2.5 = 2.5</para>
								<para>round 3.5 = 3.5</para>
								<para>round 2.98765432 = 2.99</para>
								<para>round 2.18765432 = 2.19</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Subtract">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Subtract(decimal d1, decimal d2)"/>
					<MemberSignature Language="C#" Value="public static decimal Subtract(decimal d1, decimal d2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d1" Type="System.Decimal"/>
						<Parameter Name="d2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Subtracts one <see cref="T:System.Decimal"/> value from
   another.</para>
						</summary>
						<param name="d1">The left-side operand. </param>
						<param name="d2">The right-side operand. </param>
						<returns>
							<para> A <see cref="T:System.Decimal"/> containing the result of subtracting <paramref name="d2"/> from
<paramref name="d1"/> . The scale of the result, before any rounding, is 
   the larger of the scales of d1 and
   d2.</para>
							<para>For example, 1.1 - 2.22 gives -1.12, and 2.50 - 1 gives 1.50.</para>
						</returns>
						<exception cref="T:System.OverflowException">The result is greater than <see cref="F:System.Decimal.MaxValue"/> or less than <see cref="F:System.Decimal.MinValue"/>. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(string format)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current
   instance.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format of the returned string. <block subset="none" type="note"> For a list of valid values, see <see cref="M:System.Decimal.ToString"/> (<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/> ).</block>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the current system
   culture.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Decimal.ToString"/> is equivalent to <see cref="M:System.Decimal.ToString"/>
(<paramref name="format"/> ,
<see langword="null"/>
).</para>
							<para>If <paramref name="format"/>
is a null reference, the general format specifier "G" is used. </para>
						</remarks>
						<example>
							<para>The following example shows the effects of various
      formats on the string returned by <see cref="M:System.Decimal.ToString"/>.</para>
							<code lang="C#">using System;
class test {
 public static void Main() {
 decimal d = 1234.56789m;
 Console.WriteLine(d);
 string[] fmts = {"C","E","F","G","N","P"};
 for (int i=0;i&lt;fmts.Length;i++)
 Console.WriteLine("{0}: {1}", 
 fmts[i],d.ToString(fmts[i]));
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>1234.56789</para>
								<para>C: $1,234.57</para>
								<para>E: 1.234568E+003</para>
								<para>F: 1234.57</para>
								<para>G: 1234.56789</para>
								<para>N: 1,234.57</para>
								<para>P: 123,456.79 %</para>
							</c>
						</example>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a canonical <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of
   the current instance formatted using the general format specifier, ("G"). The string
   takes into account the current system culture and
   preserves the scale of the number.</para>
						</returns>
						<remarks>
							<para> This version of <see cref="M:System.Decimal.ToString"/> is equivalent to <see cref="M:System.Decimal.ToString"/> (<see langword="null"/>,
<see langword="null"/>
).</para>
							<block subset="none" type="note">
								<para> The general format specifier formats the number in either fixed-point or exponential notation form, preserving
      the scale of the number. For a detailed description of the
      general format, see the <see cref="T:System.IFormattable"/>
      interface.</para>
								<para> This method overrides <see cref="M:System.Object.ToString"/>
.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(string format, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current
   instance.</para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing a character that specifies the format of the returned string, optionally followed by a non-negative integer that specifies the precision of the number in the returned <see cref="T:System.String"/> .</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing culture-specific formatting information. </param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the information in
   the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>If <paramref name="provider"/> is
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
   be obtained from <paramref name="provider"/> , the formatting information for the current system culture is used.</para>
							<para>The following table lists the characters that are valid for the
<paramref name="format"/> parameter.</para>
							<list type="table">
								<listheader>
									<term>Format Characters</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> "C", "c"</term>
									<description>Currency format.</description>
								</item>
								<item>
									<term> "E", "e"</term>
									<description>Exponential notation format.</description>
								</item>
								<item>
									<term> "F", "f"</term>
									<description>Fixed-point format.</description>
								</item>
								<item>
									<term> "G", "g"</term>
									<description>General format.</description>
								</item>
								<item>
									<term> "N", "n"</term>
									<description>Number format.</description>
								</item>
								<item>
									<term> "P", "p"</term>
									<description>Percent format.</description>
								</item>
							</list>
							<para>If <paramref name="format"/> is a null reference, the general format specifier "G" is used.</para>
							<block subset="none" type="note">
								<para>For a detailed description of formatting, see the <see cref="T:System.IFormattable"/> interface.</para>
								<para>This method is implemented to support the <see cref="T:System.IFormattable"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current
   instance.</para>
						</summary>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information. </param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string takes into account the
   formatting information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Decimal.ToString"/> is equivalent to <see cref="M:System.Decimal.ToString"/> (<see langword="null"/>
, <paramref name="provider"/> ).</para>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or if a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot
be obtained from <paramref name="provider"/>, the formatting information for the current
system culture is used.</para>
							<para>
								<block subset="none" type="note"> The general format
   specifier formats the number in either fixed-point or exponential notation form.
   For a detailed description of the general format, see the <see cref="T:System.IFormattable"/> interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Truncate">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Truncate(decimal d)"/>
					<MemberSignature Language="C#" Value="public static decimal Truncate(decimal d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Rounds a <see cref="T:System.Decimal"/> value towards zero, to the closest integer value.</para>
						</summary>
						<param name="d">The <see cref="T:System.Decimal"/> to truncate.</param>
						<returns>
							<para>The <see cref="T:System.Decimal"/> result of truncating <paramref name="d"/> . the scale of the result is 
   0.</para>
						</returns>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.Decimal.Truncate(System.Decimal)"/> method.</para>
							<code lang="C#">using System;
class MyClass {
public static void Main() {
 decimal d1 = 1234.56789m;
 decimal d2 = -1234.56789m;
 Console.WriteLine("{0} truncated is {1}", d1, Decimal.Truncate(d1));
 Console.WriteLine("{0} truncated is {1}", d2, Decimal.Truncate(d2));
}
}
</code>
							<para>The output is</para>
							<c>
								<para>1234.56789 truncated is 1234</para>
								<para>-1234.56789 truncated is -1234</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Zero">
					<MemberSignature Language="ILASM" Value=".field public static initOnly decimal Zero"/>
					<MemberSignature Language="C#" Value="public static readonly decimal Zero;"/>
					<MemberType>Field</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>DecimalConstantAttribute(0, 0, 0, 0, 0)</AttributeName>
							<Excluded>1</Excluded>
							<ExcludedTypeName>System.Runtime.CompilerServices.DecimalConstantAttribute</ExcludedTypeName>
							<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>0</MemberValue>
					<Docs>
						<summary>
							<para> Contains zero (0).</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Double" FullName="System.Double" FullNameSP="System_Double">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable Double extends System.ValueType implements System.IComparable, System.IFormattable"/>
			<TypeSignature Language="C#" Value="public struct Double : IComparable, IFormattable"/>
			<MemberOfLibrary>ExtendedNumerics</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>This type is not guaranteed to be safe for multithreaded operations. </ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents a 64-bit double-precision floating-point number.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Double"/> is a 64-bit double 
   precision floating-point type that represents values ranging from approximately
   5.0E-324 to 1.7E+308 and from approximately -5.0E-324 to -1.7E+308
   with a precision of 15-16 decimal digits. The <see cref="T:System.Double"/> type conforms to
   standard IEC 60559:1989, Binary Floating-point Arithmetic for Microprocessor
   Systems. </para>
					<para>A <see cref="T:System.Double"/> can
represent the following values:</para>
					<list type="bullet">
						<item>
							<term>
      The finite set of non-zero values of the form <paramref name="s * m"/> * 2<sup>e</sup>, where
<paramref name="s"/> is 1 or -1, and 0 &lt; <paramref name="m"/> 
&lt; 2<sup>53</sup> and -1075 &lt;= <paramref name="e"/> &lt;= 970.</term>
						</item>
						<item>
							<term>
      Positive infinity and negative infinity. Infinities
      are produced by operations that produce results with a magnitude greater than
      that which can be represented by a <see cref="T:System.Double"/>, such as dividing a non-zero number
      by zero. For example, using <see cref="T:System.Double"/>
      operands<c>, 1.0 / 0.0</c> yields
   positive infinity, and <c>-1.0 /
   0.0</c> yields negative infinity. Operations
include passing parameters and returning values.</term>
						</item>
						<item>
							<term>
      The <paramref name="Not-a-Number"/> value (NaN). NaN values are produced by
      invalid floating-point operations, such
      as dividing zero by zero.</term>
						</item>
					</list>
					<para> When performing binary operations, if one of the
   operands is a <see cref="T:System.Double"/>, then the other operand is required to be an integral
   type or a floating-point type (<see cref="T:System.Double"/> or <see cref="T:System.Single"/>). Prior to
   performing the operation, if the other operand is not a <see cref="T:System.Double"/>, it is converted
   to <see cref="T:System.Double"/>, and
   the operation is performed using at least <see cref="T:System.Double"/> range and precision. If the operation
   produces a numeric result, the type of the result is <see cref="T:System.Double"/> .</para>
					<para>The floating-point operators, including the assignment operators, do not
   throw exceptions. Instead, in exceptional situations, the result of a
   floating-point operation is zero, infinity, or NaN, as described below:</para>
					<list type="bullet">
						<item>
							<term>
      If the result of a floating-point operation is too
      small for the destination format, the result of the operation is zero.</term>
						</item>
						<item>
							<term>
      If the magnitude of the result of a floating-point
      operation is too large for the destination format, the result of the operation
      is positive infinity or negative infinity, as appropriate for the sign of the
      result.</term>
						</item>
						<item>
							<term>
      If a floating-point operation is invalid, the result
      of the operation is NaN.</term>
						</item>
						<item>
							<term>
      If one or both operands of a floating-point operation are NaN, the result
      of the operation is NaN.</term>
						</item>
					</list>
					<para>Conforming implementations of the CLI are permitted to perform floating-point
   operations using a precision that is higher than that required by the <see cref="T:System.Double"/> type. For example, hardware
   architectures that support an "extended" or "long double" floating-point type
   with greater range and precision than the <see cref="T:System.Double"/> type could implicitly perform all floating-point
   operations using this higher precision type. Expressions evaluated using a
   higher precision may cause a finite result to be produced instead of an
   infinity.
</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IFormattable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared
      to the specified <see cref="T:System.Object"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   current instance as compared to <paramref name="value"/>. The following table defines the
   conditions under which the returned value is a negative number, zero, or a
   positive number.</para>
							<list type="table">
								<listheader>
									<term>Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any
         negative
         number</term>
									<description>
										<para>Current instance &lt; <paramref name="value"/>.</para>
										<para>Current instance is a NaN and <paramref name="value"/> is
      not a NaN and is not a null reference.</para>
									</description>
								</item>
								<item>
									<term> Zero</term>
									<description>
										<para> Current instance ==
      <paramref name="value"/>.</para>
										<para> Current instance and <paramref name="value"/>
   are both NaN, positive infinity, or negative
   infinity.</para>
									</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>
										<para>Current instance &gt; <paramref name="value"/>.</para>
										<para>
											<paramref name="value"/> is a null reference.</para>
										<para>Current instance is not a NaN and <paramref name="value"/>
is a NaN.</para>
									</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value "/>is not a null reference and is not of type <see cref="T:System.Double"/>.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This method is implemented to support the <see cref="T:System.IComparable"/> interface. Note that,
      although a NaN is not considered to be equal to another NaN (even itself), the
   <see cref="T:System.IComparable"/> interface requires that 
      A.<see langword="CompareTo"/>
      (A) return zero.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Epsilon">
					<MemberSignature Language="ILASM" Value=".field public static literal float64 Epsilon = 4.9406564584124654e-324"/>
					<MemberSignature Language="C#" Value="public const double Epsilon = 4.9406564584124654e-324;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Represents the smallest positive <see cref="T:System.Double"/> value
   greater than zero.</para>
						</summary>
						<remarks>
							<para>The value of this constant is
      4.9406564584124654E-324.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the
      specified <see cref="T:System.Object"/> represent the same type and value.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> is a <see cref="T:System.Double"/> 
with the same value as the current instance, otherwise <see langword="false"/>.
If <paramref name="obj"/> is a null reference or is not an instance of <see cref="T:System.Double"/>, returns
<see langword="false"/>. If 
either <paramref name="obj"/> or the current instance is a NaN and the other is not,
returns <see langword="false"/>. If <paramref name="obj"/> and the current instance are both
NaN, positive infinity, or negative infinity, returns <see langword="true"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> This method overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for this instance.</para>
						</returns>
						<remarks>
							<para>
 The algorithm used to generate the hash code is
 unspecified.</para>
							<para>
								<block subset="none" type="note">
 
This method overrides <see cref="M:System.Object.GetHashCode"/>.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsInfinity">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsInfinity(float64 d)"/>
					<MemberSignature Language="C#" Value="public static bool IsInfinity(double d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the specified <see cref="T:System.Double"/> represents an infinity,
   which can be either positive or negative.</para>
						</summary>
						<param name="d">The <see cref="T:System.Double"/> to be checked.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="d"/> represents a
   positive or negative infinity value; otherwise <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">
      Floating-point operations return positive or negative
      infinity values to signal an overflow condition.
      </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsNaN">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsNaN(float64 d)"/>
					<MemberSignature Language="C#" Value="public static bool IsNaN(double d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the value of the specified <see cref="T:System.Double"/>
is undefined (Not-a-Number).</para>
						</summary>
						<param name="d">The <see cref="T:System.Double"/> to be checked.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="d"/> represents a NaN
   value; otherwise <see langword="false."/>
							</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> Floating-point operations return NaN
      values to signal that the result of the operation is undefined. For example,
      dividing (Double) 0.0 by 0.0 results in a NaN value.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsNegativeInfinity">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsNegativeInfinity(float64 d)"/>
					<MemberSignature Language="C#" Value="public static bool IsNegativeInfinity(double d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified <see cref="T:System.Double"/>
represents a negative infinity value.</para>
						</summary>
						<param name="d">The <see cref="T:System.Double"/> to be checked.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="d"/> represents a negative
   infinity value; otherwise <see langword="false"/>
   .</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">
      Floating-point operations return negative infinity values
      to signal an overflow condition.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsPositiveInfinity">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsPositiveInfinity(float64 d)"/>
					<MemberSignature Language="C#" Value="public static bool IsPositiveInfinity(double d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified <see cref="T:System.Double"/>
represents a positive infinity value.</para>
						</summary>
						<param name="d">The <see cref="T:System.Double"/> to be checked.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="d "/>represents a positive
   infinity value; otherwise <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">
      Floating-point operations return positive infinity values
      to signal an overflow condition.
   </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxValue">
					<MemberSignature Language="ILASM" Value=".field public static literal float64 MaxValue = 1.7976931348623157e+308"/>
					<MemberSignature Language="C#" Value="public const double MaxValue = 1.7976931348623157e+308;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Contains the maximum positive value for the <see cref="T:System.Double"/> type.</para>
						</summary>
						<remarks>
							<para> The value of this constant is 
      1.7976931348623157E+308.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinValue">
					<MemberSignature Language="ILASM" Value=".field public static literal float64 MinValue = -1.7976931348623157e+308"/>
					<MemberSignature Language="C#" Value="public const double MinValue = -1.7976931348623157e+308;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Contains the minimum (most negative) value for the
   <see cref="T:System.Double"/> type.</para>
						</summary>
						<remarks>
							<para> The value of this constant is 
      -1.7976931348623157E+308.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NaN">
					<MemberSignature Language="ILASM" Value=".field public static literal float64 NaN = (double)0.0 / (double)0.0"/>
					<MemberSignature Language="C#" Value="public const double NaN = (double)0.0 / (double)0.0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NaN</MemberValue>
					<Docs>
						<summary>
							<para> Represents an undefined result of operations involving 
   <see cref="T:System.Double"/> 
   .</para>
						</summary>
						<remarks>
							<para> Not-a-Number (NaN) values are returned when the result of 
      a <see cref="T:System.Double"/>
      operation is
      undefined.</para>
							<para>A NaN value is not equal to any other value, including another NaN value. </para>
							<para>The value of this field is obtained by dividing <see cref="T:System.Double"/> zero
   by zero.</para>
							<para>
								<block subset="none" type="note">
									<see cref="F:System.Double.NaN"/> 
represents one of many possible NaN values. To test whether a
<see cref="T:System.Double"/> value is 
a NaN, use the <see cref="M:System.Double.IsNaN(System.Double)"/> method.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NegativeInfinity">
					<MemberSignature Language="ILASM" Value=".field public static literal float64 NegativeInfinity = (double)-1.0 / (double)(0.0)"/>
					<MemberSignature Language="C#" Value="public const double NegativeInfinity = (double)-1.0 / (double)(0.0);"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Represents a negative infinity of type <see cref="T:System.Double"/> .</para>
						</summary>
						<remarks>
							<para>The value of this constant is obtained by dividing a
      negative <see cref="T:System.Double"/> by zero. </para>
							<para>
								<block subset="none" type="note">To test whether a <see cref="T:System.Double"/> value is a negative infinity value, use the <see cref="M:System.Double.IsNegativeInfinity(System.Double)"/> method.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Parse(string s)"/>
					<MemberSignature Language="C#" Value="public static double Parse(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Double"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Float"/> and/or <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> style.</param>
						<returns>
							<para>The <see cref="T:System.Double"/> value obtained from <paramref name="s"/>. If the parsed value is
   less than <see cref="F:System.Double.MinValue"/>, this method returns
<see cref="F:System.Double.NegativeInfinity"/> . If the parsed
   value is greater than <see cref="F:System.Double.MaxValue"/>, this method returns <see cref="F:System.Double.PositiveInfinity"/> . If
<paramref name="s"/> equals
<see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol"/>, this method returns 
<see cref="F:System.Double.NaN"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Double.Parse(System.String)"/> is equivalent to <see cref="M:System.Double.Parse(System.String)"/> (<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Float"/>| <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> , <see langword="null"/>
).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting
information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system
culture. <block subset="none" type="note">For more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/> .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Parse(string s, valuetype System.Globalization.NumberStyles style)"/>
					<MemberSignature Language="C#" Value="public static double Parse(string s, NumberStyles style);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Double"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/> . </param>
						<param name="style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Float"/> and <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> styles. </param>
						<returns>
							<para>The <see cref="T:System.Double"/> value obtained from <paramref name="s"/>. If the parsed value is
   less than <see cref="F:System.Double.MinValue"/>, this method returns
<see cref="F:System.Double.NegativeInfinity"/> . If the parsed
   value is greater than <see cref="F:System.Double.MaxValue"/>, this method returns <see cref="F:System.Double.PositiveInfinity"/> . If <paramref name="s"/>
   equals <see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol"/>, this method returns
<see cref="F:System.Double.NaN"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Double.Parse(System.String)"/> is equivalent to <see cref="M:System.Double.Parse(System.String)"/> (<paramref name="s"/>, <paramref name="style"/>, <see langword="null"/> ).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting information in a <see cref="T:System.Globalization.NumberFormatInfo"/> initialized for the current system
culture. <block subset="none" type="note"> For more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>
.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Parse(string s, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static double Parse(string s, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Double"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Float"/> and/or <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> style.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.Double"/> value obtained from <paramref name="s"/>. If the parsed value is
   less than <see cref="F:System.Double.MinValue"/>, this method returns
<see cref="F:System.Double.NegativeInfinity"/> . If the parsed
   value is greater than <see cref="F:System.Double.MaxValue"/>, this method returns <see cref="F:System.Double.PositiveInfinity"/> . If <paramref name="s"/>
   equals <see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol"/>, this method returns
<see cref="F:System.Double.NaN"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Double.Parse(System.String)"/> is equivalent to <see cref="M:System.Double.Parse(System.String)"/>(<paramref name="s"/>,
<see cref="F:System.Globalization.NumberStyles.Float"/>| <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> 
, <paramref name="provider"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the culture-specific formatting
information from the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be 
obtained from <paramref name="provider"/> , the
formatting information for the current system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Parse(string s, valuetype System.Globalization.NumberStyles style, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static double Parse(string s, NumberStyles style, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Double"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/> .</param>
						<param name="style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Float"/> and <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> styles.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>. </param>
						<returns>
							<para>The <see cref="T:System.Double"/> value obtained from <paramref name="s"/>. If the parsed value is
   less than <see cref="F:System.Double.MinValue"/>, this method returns
<see cref="F:System.Double.NegativeInfinity"/> . If the parsed
   value is greater than <see cref="F:System.Double.MaxValue"/>, this method returns
<see cref="F:System.Double.PositiveInfinity"/> 
. If <paramref name="s"/> equals
<see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol"/>, this method returns 
<see cref="F:System.Double.NaN"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<remarks>
							<para>The string <paramref name="s"/> is parsed using
   the culture-specific formatting information from the <see cref="T:System.Globalization.NumberFormatInfo"/>
   instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from 
<paramref name="provider"/>, the formatting information for the current system culture is 
   used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PositiveInfinity">
					<MemberSignature Language="ILASM" Value=".field public static literal float64 PositiveInfinity = (double)1.0 / (double)(0.0)"/>
					<MemberSignature Language="C#" Value="public const double PositiveInfinity = (double)1.0 / (double)(0.0);"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Infinity</MemberValue>
					<Docs>
						<summary>
							<para> Represents a positive infinity of type <see cref="T:System.Double"/> .</para>
						</summary>
						<remarks>
							<para>The value of this constant is obtained by dividing a
      positive <see cref="T:System.Double"/> by zero. </para>
							<para>
								<block subset="none" type="note">To test whether a <see cref="T:System.Double"/> value is a positive infinity value, use the <see cref="M:System.Double.IsPositiveInfinity(System.Double)"/> method.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(string format, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing a character that specifies the format of the returned string, optionally followed by a non-negative integer that specifies the precision of the number in the returned <see cref="T:System.String"/> .</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the information in
   the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>If <paramref name="provider"/> is
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from <paramref name="provider"/> , the
   formatting information for the current system culture is used. </para>
							<para>If <paramref name="format"/> is a null reference, the general format specifier "G" is used.</para>
							<para>The following table lists the format characters that are valid for the <see cref="T:System.Double"/> type.</para>
							<list type="table">
								<listheader>
									<term>Format Characters</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> "C", "c"</term>
									<description>Currency format.</description>
								</item>
								<item>
									<term> "E", "e"</term>
									<description>Exponential notation format.</description>
								</item>
								<item>
									<term> "F", "f"</term>
									<description>Fixed-point format.</description>
								</item>
								<item>
									<term> "G", "g"</term>
									<description>General format.</description>
								</item>
								<item>
									<term> "N", "n"</term>
									<description>Number format.</description>
								</item>
								<item>
									<term> "P", "p"</term>
									<description>Percent format.</description>
								</item>
								<item>
									<term> "R", "r"</term>
									<description>Round-trip format.</description>
								</item>
							</list>
							<block subset="none" type="note">
								<para>For a detailed description of formatting, see the <see cref="T:System.IFormattable"/>
interface.</para>
								<para>This method is implemented to support the <see cref="T:System.IFormattable"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the
   current instance. </para>
						</summary>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string takes into account the
   formatting information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by
<paramref name="provider"/>.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Double.ToString"/> is equivalent to <see cref="M:System.Double.ToString"/> (<see langword="null"/> ,
<paramref name="provider"/> ).</para>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from
<paramref name="provider"/>, the formatting information for the current system culture is 
used.</para>
							<para>
								<block subset="none" type="note">The general format specifier formats the number in either fixed-point or
   exponential notation form. For a detailed description of the general format, see
   the <see cref="T:System.IFormattable"/>
   interface.
</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string
   takes into account the current system culture.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Double.ToString"/> is equivalent to <see cref="M:System.Double.ToString"/> (<see langword="null"/>, 
<see langword="null"/> ).</para>
							<block subset="none" type="note">
								<para>The general format specifier formats the number in either fixed-point or
      exponential notation form. For a detailed description of the general format, see
      the <see cref="T:System.IFormattable"/>
      interface.</para>
								<para>This method overrides <see cref="M:System.Object.ToString"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(string format)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<param name="format">
							<para>A <see cref="T:System.String"/> that specifies the format of the returned string. <block subset="none" type="note">For a list of valid values, see <see cref="M:System.Double.ToString"/> (<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/> ).</block>
							</para>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the current system
   culture.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Double.ToString"/> is equivalent to <see cref="M:System.Double.ToString"/> (<paramref name="format, "/>
								<see langword="null"/> ).</para>
							<para>If <paramref name="format"/> is a null reference, the general
format specifier "G" is used.</para>
						</remarks>
						<example>
							<para>The following example shows the effects of various
      formats on the string returned by <see cref="M:System.Double.ToString"/>.</para>
							<code lang="C#">using System;
class test {
  public static void Main() {
    double d = 1234.56789;
    Console.WriteLine(d);
    string[] fmts = {"C","E","e5","F","G","N","P","R"};
    for (int i=0;i&lt;fmts.Length;i++)
      Console.WriteLine("{0}: {1}", 
      fmts[i],d.ToString(fmts[i]));
  }
}
   </code>
							<para>The output is</para>
							<c>
								<para>1234.56789</para>
								<para>C: $1,234.57</para>
								<para>E: 1.234568E+003</para>
								<para>e5: 1.23457e+003</para>
								<para>F: 1234.57</para>
								<para>G: 1234.56789</para>
								<para>N: 1,234.57</para>
								<para>P: 123,456.79 %</para>
								<para>R: 1234.56789</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Math" FullName="System.Math" FullNameSP="System_Math">
			<TypeSignature Language="ILASM" Value=".class public sealed Math extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class Math"/>
			<MemberOfLibrary>ExtendedNumerics</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Provides constants and static methods for trigonometric, logarithmic,
 and other common mathematical functions.</para>
				</summary>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Abs">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Abs(decimal value)"/>
					<MemberSignature Language="C#" Value="public static decimal Abs(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the absolute value of the specified <see cref="T:System.Decimal"/> .</para>
						</summary>
						<param name="value">
							<para>A <see cref="T:System.Decimal"/>. </para>
						</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/> containing the absolute value of <paramref name="value"/>.</para>
						</returns>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Math.Abs(System.SByte)"/>(<see cref="T:System.Decimal"/>) method.</para>
							<code lang="C#">
using System;

public class MathAbsExample
{
   public static void Main()
   {
      Decimal d1 = Math.Abs( (Decimal)0.00 );
      Decimal d2 = Math.Abs( (Decimal)(-1.23) );
      Console.WriteLine("Math.Abs( (Decimal)0.00 ) returns {0}",d1);
      Console.WriteLine("Math.Abs( (Decimal)(-1.23) ) returns {0}",d2);
   }
}
</code>
							<para>The output is</para>
							<c>
								<para>Math.Abs( (Decimal)0.00 ) returns 0</para>
								<para>Math.Abs( (Decimal)(-1.23) ) returns 1.23</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Abs">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Abs(float64 value)"/>
					<MemberSignature Language="C#" Value="public static double Abs(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the absolute value of the specified <see cref="T:System.Double"/>.</para>
						</summary>
						<param name="value">A <see cref="T:System.Double"/>.</param>
						<returns>
							<para>A <see cref="T:System.Double"/> containing the absolute value of <paramref name="value"/>. If <paramref name="value "/>
is equal to <see cref="F:System.Double.NegativeInfinity"/> or <see cref="F:System.Double.PositiveInfinity"/>,
returns <see cref="F:System.Double.PositiveInfinity"/>. If value is equal to <see cref="F:System.Double.NaN"/>, returns <see cref="F:System.Double.NaN"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Abs">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 Abs(float32 value)"/>
					<MemberSignature Language="C#" Value="public static float Abs(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the absolute value of the specified <see cref="T:System.Single"/>.</para>
						</summary>
						<param name="value">A <see cref="T:System.Single"/>.</param>
						<returns>
							<para>A <see cref="T:System.Single"/>
containing the absolute value of <paramref name="value"/>. If <paramref name="value "/> is equal to <see cref="F:System.Single.NegativeInfinity"/>
or <see cref="F:System.Single.PositiveInfinity"/>, returns <see cref="F:System.Single.PositiveInfinity"/>. If <paramref name="value"/> is equal to <see cref="F:System.Single.NaN"/>, returns
<see cref="F:System.Single.NaN"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Abs">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 Abs(int64 value)"/>
					<MemberSignature Language="C#" Value="public static long Abs(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the absolute value of the specified <see cref="T:System.Int64"/>.</para>
						</summary>
						<param name="value">A <see cref="T:System.Int64"/>.</param>
						<returns>
							<para>A <see cref="T:System.Int64"/> containing the absolute value of <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value "/> equals <see cref="F:System.Int64.MinValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Abs">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Abs(int32 value)"/>
					<MemberSignature Language="C#" Value="public static int Abs(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the absolute value of the specified <see cref="T:System.Int32"/>.</para>
						</summary>
						<param name="value">A <see cref="T:System.Int32"/>.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the absolute value of <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value "/> equals <see cref="F:System.Int32.MinValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Abs">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 Abs(int16 value)"/>
					<MemberSignature Language="C#" Value="public static short Abs(short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the absolute value of the specified <see cref="T:System.Int16"/>.</para>
						</summary>
						<param name="value">A <see cref="T:System.Int16"/>.</param>
						<returns>
							<para>A <see cref="T:System.Int16"/>
containing the absolute value of <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> equals <see cref="F:System.Int16.MinValue"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Abs">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 Abs(int8 value)"/>
					<MemberSignature Language="C#" Value="public static sbyte Abs(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the absolute value of the specified <see cref="T:System.SByte"/>.</para>
						</summary>
						<param name="value">A <see cref="T:System.SByte"/>.</param>
						<returns>
							<para>A <see cref="T:System.SByte"/> containing the absolute value of <paramref name="value"/>.</para>
						</returns>
						<exception cref="T:System.OverflowException">
							<paramref name="value"/> equals <see cref="F:System.SByte.MinValue"/>.</exception>
						<remarks>
							<para>This method is not CLS-compliant. For a CLS-compliant
      alternative, use <see cref="M:System.Math.Abs(System.SByte)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Acos">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Acos(float64 d)"/>
					<MemberSignature Language="C#" Value="public static double Acos(double d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the angle whose cosine is the specified <see cref="T:System.Double"/>.</para>
						</summary>
						<param name="d">A <see cref="T:System.Double"/> representing a cosine, where -1 &lt;= <paramref name="d"/> &lt;= 1.</param>
						<returns>
							<para> A <see cref="T:System.Double"/> containing the 
   value of an angle, <theta/>, measured in radians, for which <paramref name="d"/>
   is the cosine, such that 0 &lt;= <theta/> &lt;= <pi/>. If
<paramref name="d"/> &lt; -1, <paramref name="d"/> &gt; 1, or <paramref name="d"/> = <see cref="F:System.Double.NaN"/>, returns <see cref="F:System.Double.NaN"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">Multiply the return
      value by 180/<pi/> to convert from radians to degrees.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Asin">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Asin(float64 d)"/>
					<MemberSignature Language="C#" Value="public static double Asin(double d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the angle whose sine is the specified <see cref="T:System.Double"/>.</para>
						</summary>
						<param name="d">A <see cref="T:System.Double"/> representing a sine, where -1 &lt;= <paramref name="d"/> &lt;= 1.</param>
						<returns>
							<para>A <see cref="T:System.Double"/> containing the 
   value of an angle, <theta/>, measured in radians, for which <paramref name="d"/> is the sine, such that -<pi/>/2 &lt;= <theta/> &lt;=
   <pi/>/2. If <paramref name="d"/> &lt; -1, <paramref name="d"/> &gt; 1, or <paramref name="d"/> =
   
<see cref="F:System.Double.NaN"/>, returns
<see cref="F:System.Double.NaN"/>
.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>A positive return value represents a counterclockwise angle from the positive
         x-axis; a negative return value represents a clockwise angle.</para>
								<para>Multiply the return value by 180/<pi/> to convert from radians to degrees.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Atan">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Atan(float64 d)"/>
					<MemberSignature Language="C#" Value="public static double Atan(double d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the angle whose tangent is the specified <see cref="T:System.Double"/>.</para>
						</summary>
						<param name="d">A <see cref="T:System.Double"/> that represents a tangent.</param>
						<returns>
							<para>A <see cref="T:System.Double"/> containing the 
   value of the angle, <theta/>, measured in radians, for which <paramref name="d"/> is the tangent, such that -<pi/>/2 &lt;=
   <theta/> &lt;=
   
   <pi/>/2.</para>
							<para> The
   following table specifies the return value if d is equal to <see cref="F:System.Double.NaN"/>, <see cref="F:System.Double.NegativeInfinity"/>,
   or <see cref="F:System.Double.PositiveInfinity"/> .</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Condition</description>
								</listheader>
								<item>
									<term>
										<see cref="F:System.Double.NaN"/>
									</term>
									<description>
										<paramref name="d"/> is equal to <see cref="F:System.Double.NaN"/>.</description>
								</item>
								<item>
									<term> -<pi/>/2 rounded to double precision (-1.5707963267949)</term>
									<description>
										<paramref name="d"/> is equal to <see cref="F:System.Double.NegativeInfinity"/>.</description>
								</item>
								<item>
									<term>
										<pi/>/2 rounded to double precision (1.5707963267949)</term>
									<description>
										<paramref name="d"/> is equal to <see cref="F:System.Double.PositiveInfinity"/>.</description>
								</item>
							</list>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para> A positive return value represents a counterclockwise angle from the positive x-axis; a
         negative return value represents a clockwise angle.</para>
								<para> Multiply the return value by
         180/<pi/> to convert from radians to degrees.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Atan2">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Atan2(float64 y, float64 x)"/>
					<MemberSignature Language="C#" Value="public static double Atan2(double y, double x);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="y" Type="System.Double"/>
						<Parameter Name="x" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the angle whose tangent is the quotient of two
      specified <see cref="T:System.Double"/>
      values.</para>
						</summary>
						<param name="y">A <see cref="T:System.Double"/> representing the y coordinate of a point.</param>
						<param name="x">A <see cref="T:System.Double"/> representing the x coordinate of a point.</param>
						<returns>
							<para>A <see cref="T:System.Double"/> containing the 
   value of an angle, <theta/>, measured in radians, such that -<pi/> &lt;=
   <theta/> &lt;=
   
   <pi/> and tan<theta/> =
   
<paramref name="y/x"/>, where (<paramref name="x, y"/>) is a 
   point in the Cartesian plane.</para>
							<para>If both <paramref name="x"/> and <paramref name="y"/> are any combination of <see cref="F:System.Double.NegativeInfinity"/> and <see cref="F:System.Double.PositiveInfinity"/>, <see cref="F:System.Double.NaN"/> is
returned.</para>
							<para>If either <paramref name="x"/> or <paramref name="y"/> is equal to <see cref="F:System.Double.NaN"/>, <see cref="F:System.Double.NaN"/> is
returned.</para>
							<para>The following table specifies the return value if
<paramref name="x"/> or <paramref name="y"/> 
is equal to <see cref="F:System.Double.NegativeInfinity"/> or <see cref="F:System.Double.PositiveInfinity"/>.</para>
							<list type="table">
								<listheader>
									<term>Condition</term>
									<description>Return Value</description>
								</listheader>
								<item>
									<term>
										<para>
											<paramref name="y "/> is equal to <see cref="F:System.Double.PositiveInfinity"/> or <see cref="F:System.Double.NegativeInfinity"/>, and</para>
										<para>
											<paramref name="x "/> is equal to <see cref="F:System.Double.PositiveInfinity"/> or <see cref="F:System.Double.NegativeInfinity"/>.</para>
									</term>
									<description>
										<see cref="F:System.Double.NaN"/>.</description>
								</item>
								<item>
									<term>
										<para>
											<paramref name="y "/> is equal to <see cref="F:System.Double.NegativeInfinity"/>, and</para>
										<para>
											<paramref name="x "/> is not equal to <see cref="F:System.Double.PositiveInfinity"/> or <see cref="F:System.Double.NegativeInfinity"/>.</para>
									</term>
									<description>-<see cref="F:System.Math.PI"/>/2.</description>
								</item>
								<item>
									<term>
										<para>
											<paramref name="y "/> is equal to <see cref="F:System.Double.PositiveInfinity"/>, and</para>
										<para>
											<paramref name="x "/> is not equal to <see cref="F:System.Double.PositiveInfinity"/> or <see cref="F:System.Double.NegativeInfinity"/>.</para>
									</term>
									<description>
										<see cref="F:System.Math.PI"/>/2.</description>
								</item>
								<item>
									<term>
										<para>
											<paramref name="x "/> is equal to <see cref="F:System.Double.PositiveInfinity"/>, and</para>
										<para>
											<paramref name="y "/> is not equal to <see cref="F:System.Double.PositiveInfinity"/> or <see cref="F:System.Double.NegativeInfinity"/>.</para>
									</term>
									<description>0.</description>
								</item>
								<item>
									<term>
										<para>
											<paramref name="x "/> is equal to <see cref="F:System.Double.NegativeInfinity"/>, and </para>
										<para>
											<paramref name="y "/> &gt;= 0 and not equal to <see cref="F:System.Double.PositiveInfinity"/>.</para>
									</term>
									<description>
										<see cref="F:System.Math.PI"/>.</description>
								</item>
								<item>
									<term>
										<para>
											<paramref name="x "/> is equal to <see cref="F:System.Double.NegativeInfinity"/>, and </para>
										<para>
											<paramref name="y "/> &lt; 0 and not equal to <see cref="F:System.Double.NegativeInfinity"/>.</para>
									</term>
									<description>-<see cref="F:System.Math.PI"/>.</description>
								</item>
							</list>
						</returns>
						<remarks>
							<para>The return value is the angle in the Cartesian plane
      formed by the x-axis, and a vector starting from the origin, (0,0), and
      terminating at the point, (<paramref name="x,y"/>).</para>
							<block subset="none" type="note">
								<list type="bullet">
									<item>
										<term>
            
            For (<paramref name="x"/>, <paramref name="y"/>) in quadrant 1, 0 &lt; <theta/> &lt; <pi/>/2.</term>
									</item>
									<item>
										<term>
            
            For (<paramref name="x"/>, <paramref name="y"/>) in quadrant 2, <pi/>/2 &lt; <theta/> &lt; <pi/>.</term>
									</item>
									<item>
										<term>
            
            For (<paramref name="x"/>, <paramref name="y"/>) in quadrant 3, -<pi/> &lt; <theta/> &lt; -<pi/>/2.</term>
									</item>
									<item>
										<term>
            
            For (<paramref name="x"/>, <paramref name="y"/>) in quadrant 4, -<pi/>/2 &lt; <theta/> &lt; 0.</term>
									</item>
								</list>
							</block>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.Math.Atan2(System.Double,System.Double)"/> method.</para>
							<code lang="C#">using System;

public class MathAtan2Example
{

   public static void Main()
   {

      Double d1 = Math.Atan2(2,0);
      Double d2 = Math.Atan2(0,0);
      Console.WriteLine("Math.Atan2(2,0) returns {0}", d1);
      Console.WriteLine("Math.Atan2(0,0) returns {0}", d2);

   }

}
</code>
							<para>The output is</para>
							<c>
								<para>Math.Atan2(2,0) returns 1.5707963267949</para>
								<para>Math.Atan2(0,0) returns 0</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BigMul">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64  BigMul(int32 a,int32 b)"/>
					<MemberSignature Language="C#" Value="public static long BigMul(int a, int b);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="a" Type="System.Int32"/>
						<Parameter Name="b" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>
        Produces the full product of two 32-bit numbers.
      </para>
						</summary>
						<param name="a"> The first <see cref="T:System.Int32"/> to multiply.</param>
						<param name="b"> The second <see cref="T:System.Int32"/> to multiply.</param>
						<returns>
							<para> A <see cref="T:System.Int64"/> containing the product of the specified numbers. 
      </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Ceiling">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Ceiling(float64 a)"/>
					<MemberSignature Language="C#" Value="public static double Ceiling(double a);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="a" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the smallest integer greater than or equal to the
      specified <see cref="T:System.Double"/>.</para>
						</summary>
						<param name="a">A <see cref="T:System.Double"/> .</param>
						<returns>
							<para>A <see cref="T:System.Double"/> containing the value of the smallest integer greater
   than or equal to <paramref name="a"/>. If <paramref name="a"/> is equal to <see cref="F:System.Double.NaN"/>, <see cref="F:System.Double.NegativeInfinity"/>,
   or <see cref="F:System.Double.PositiveInfinity"/>
   , that value
   is returned.</para>
						</returns>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.Math.Ceiling(System.Double)"/> method.</para>
							<code lang="C#">using System;

public class MathCeilingExample
{

   public static void Main()
   {

      Double d1 = Math.Ceiling(3.4);
      Double d2 = Math.Ceiling(-3.4);
      Console.WriteLine("Math.Ceiling(3.4) returns {0}", d1);
      Console.WriteLine("Math.Ceiling(-3.4) returns {0}", d2);

   }

}
</code>
							<para>The output is</para>
							<c>
								<para>Math.Ceiling(3.4) returns 4</para>
								<para>Math.Ceiling(-3.4) returns -3</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Cos">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Cos(float64 d)"/>
					<MemberSignature Language="C#" Value="public static double Cos(double d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the cosine of the specified <see cref="T:System.Double"/> that represents an angle.</para>
						</summary>
						<param name="d">A <see cref="T:System.Double"/> that represents an angle measured in radians.</param>
						<returns>
							<para>A <see cref="T:System.Double"/> containing the value of the cosine of <paramref name="d"/>. If
<paramref name="d"/> is equal to <see cref="F:System.Double.NaN"/>, <see cref="F:System.Double.NegativeInfinity"/>, or <see cref="F:System.Double.PositiveInfinity"/>, 
   returns <see cref="F:System.Double.NaN"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">Multiply by
      <pi/>/180 to convert degrees to radians.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Cosh">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Cosh(float64 value)"/>
					<MemberSignature Language="C#" Value="public static double Cosh(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the hyperbolic cosine of the specified <see cref="T:System.Double"/> that represents an angle.</para>
						</summary>
						<param name="value">A <see cref="T:System.Double"/> that represents an angle measured in radians.</param>
						<returns>
							<para>The hyperbolic cosine of <paramref name="value"/>. If
<paramref name="value"/> is equal to <see cref="F:System.Double.NegativeInfinity"/> or <see cref="F:System.Double.PositiveInfinity"/>, 
   returns <see cref="F:System.Double.PositiveInfinity"/>. If <paramref name="value"/> is equal to <see cref="F:System.Double.NaN"/>, returns
<see cref="F:System.Double.NaN"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">Multiply by
      <pi/>/180 to convert degrees to radians.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DivRem">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32  DivRem(int32 a,int32 b, [out] int32 &amp;result) "/>
					<MemberSignature Language="C#" Value="public static int DivRem(int a, int b, out int result);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="a" Type="System.Int32"/>
						<Parameter Name="b" Type="System.Int32"/>
						<Parameter Name="result" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>
    Returns the quotient of two numbers, also passing the remainder as an output parameter.
     </para>
						</summary>
						<param name="a"> A <see cref="T:System.Int32"/> that contains the dividend.</param>
						<param name="b"> A <see cref="T:System.Int32"/> that contains the divisor.</param>
						<param name="result"> A <see cref="T:System.Int32"/> that receives the remainder.</param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing the quotient of the specified numbers.
      </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DivRem">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64  DivRem(int64 a,int64 b,[out] int64 &amp;result)"/>
					<MemberSignature Language="C#" Value="public static long DivRem(long a, long b, out long result);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="a" Type="System.Int64"/>
						<Parameter Name="b" Type="System.Int64"/>
						<Parameter Name="result" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>
    Returns the quotient of two numbers, also passing the remainder as an output parameter.
     </para>
						</summary>
						<param name="a"> A <see cref="T:System.Int64"/> that contains the dividend.</param>
						<param name="b"> A <see cref="T:System.Int64"/> that contains the divisor.</param>
						<param name="result"> A <see cref="T:System.Int64"/> that receives the remainder.</param>
						<returns>
							<para> A <see cref="T:System.Int64"/> containing the quotient of the specified numbers. 
      </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="E">
					<MemberSignature Language="ILASM" Value=".field public static literal float64 E = 2.71828182845905"/>
					<MemberSignature Language="C#" Value="public const double E = 2.71828182845905;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>A constant, <see langword="e"/>, which specifies the natural logarithmic base rounded to 
 double precision.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 2.7182818284590452354 converted to <see cref="T:System.Double"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Exp">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Exp(float64 d)"/>
					<MemberSignature Language="C#" Value="public static double Exp(double d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns <see langword="e"/> raised to the specified
<see cref="T:System.Double"/> that represents
   an exponent.</para>
						</summary>
						<param name="d">A <see cref="T:System.Double"/> that represents an exponent.</param>
						<returns>
							<para> A <see cref="T:System.Double"/> equal to the number <see langword="e"/> raised to the power of
<paramref name="d"/>. If <paramref name="d "/>equals <see cref="F:System.Double.NaN"/> or <see cref="F:System.Double.PositiveInfinity"/>, 
   returns that value. If <paramref name="d "/>equals <see cref="F:System.Double.NegativeInfinity"/>,
   returns 0.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>Use the <see cref="M:System.Math.Pow(System.Double,System.Double)"/> method to
      calculate powers of other bases.</para>
								<para>
									<see cref="M:System.Math.Exp(System.Double)"/> is the inverse of
<see cref="M:System.Math.Log(System.Double)"/> 
.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Floor">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Floor(float64 d)"/>
					<MemberSignature Language="C#" Value="public static double Floor(double d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the largest integer less than or equal to the
      specified <see cref="T:System.Double"/>.</para>
						</summary>
						<param name="d">A <see cref="T:System.Double"/> .</param>
						<returns>
							<para> A <see cref="T:System.Double"/> containing the value of the largest integer less than or
   equal to <paramref name="d"/>. If <paramref name="d"/> is equal to <see cref="F:System.Double.NaN"/>, <see cref="F:System.Double.NegativeInfinity"/>,
   or <see cref="F:System.Double.PositiveInfinity"/>, that value is returned..</para>
						</returns>
						<remarks>
							<para> The behavior of this method follows IEEE Standard 754, section 4.</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.Math.Floor(System.Double)"/> method.</para>
							<code lang="C#">using System;

public class MathFloorExample
{

   public static void Main()
   {

      Double d1 = Math.Floor(3.4);
      Double d2 = Math.Floor(-3.4);
      Console.WriteLine("Math.Floor(3.4) returns {0}", d1);
      Console.WriteLine("Math.Floor(-3.4) returns {0}", d2);

   }

}
</code>
							<para>The output is</para>
							<c>
								<para>Math.Floor(3.4) returns 3</para>
								<para>Math.Floor(-3.4) returns -4</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IEEERemainder">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 IEEERemainder(float64 x, float64 y)"/>
					<MemberSignature Language="C#" Value="public static double IEEERemainder(double x, double y);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="x" Type="System.Double"/>
						<Parameter Name="y" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the remainder resulting from the division of one
      specified <see cref="T:System.Double"/>
      by another specified <see cref="T:System.Double"/>.</para>
						</summary>
						<param name="x">A <see cref="T:System.Double"/> that represents a dividend.</param>
						<param name="y">A <see cref="T:System.Double"/> that represents a divisor.</param>
						<returns>
							<para>A <see cref="T:System.Double"/>
whose value is as follows:</para>
							<list type="table">
								<listheader>
									<term>Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term>
										<paramref name="x"/> - (<paramref name="y"/>
      Q),</term>
									<description>Q is the quotient of <paramref name="x/y"/> rounded to
   the nearest integer (if <paramref name="x/y"/> is exactly halfway between two
   integers, the even integer is returned).</description>
								</item>
								<item>
									<term> +0</term>
									<description>Q is the quotient of <paramref name="x/y"/> rounded to the nearest integer (if
<paramref name="x/y"/> is exactly halfway between two integers, the even integer is 
   returned), <paramref name="x"/> - (y Q) is zero, and <paramref name="x"/> is positive.</description>
								</item>
								<item>
									<term> -0</term>
									<description>Q is the quotient of <paramref name="x/y"/> rounded to the nearest integer (if
<paramref name="x/y"/> is exactly halfway between two integers, the even integer is 
   returned), <paramref name="x"/> - (y Q) is zero, and <paramref name="x"/> is negative.</description>
								</item>
								<item>
									<term>
										<see cref="F:System.Double.NaN"/>
									</term>
									<description>y = 0.</description>
								</item>
							</list>
						</returns>
						<remarks>
							<para>This operation complies with the remainder operation defined in Section 5.1
      of ANSI/IEEE Std 754-1985; IEEE Standard for Binary Floating-Point Arithmetic;
      Institute of Electrical and Electronics Engineers, Inc; 1985.</para>
							<para>
								<block subset="none" type="note">For more
      information regarding the use of +0 and -0, see Section 3.1
      of ANSI/IEEE Std 754-1985; IEEE Standard for Binary Floating-Point Arithmetic;
      Institute of Electrical and Electronics Engineers, Inc; 1985.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.Math.IEEERemainder(System.Double,System.Double)"/> 
method.</para>
							<code lang="C#">using System;

public class MathIEEERemainderExample
{

   public static void Main()
   {

      Double d1 = Math.IEEERemainder(3.54,0);
      Double d2 = Math.IEEERemainder(9.99,-3.33);
      Double d3 = Math.IEEERemainder(-9.99,3.33);
      Double d4 = Math.IEEERemainder(9.5,1.5);
      Console.WriteLine("Math.IEEERemainder(3.54,0) returns {0}", d1);
      Console.WriteLine("Math.IEEERemainder(9.99,-3.33) returns {0}", d2);
      Console.WriteLine("Math.IEEERemainder(-9.99,3.33) returns {0}", d3);
      Console.WriteLine("Math.IEEERemainder(9.5,1.5) returns {0}", d4);

   }

}
</code>
							<para>The output is</para>
							<c>
								<para>Math.IEEERemainder(3.54,0) returns NaN</para>
								<para>Math.IEEERemainder(9.99,-3.33) returns 0</para>
								<para>Math.IEEERemainder(-9.99,3.33) returns 0</para>
								<para>Math.IEEERemainder(9.5,1.5) returns 0.5</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Log">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Log(float64 d)"/>
					<MemberSignature Language="C#" Value="public static double Log(double d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the natural logarithm of the specified <see cref="T:System.Double"/>.</para>
						</summary>
						<param name="d">A <see cref="T:System.Double"/> whose natural logarithm is to be found. </param>
						<returns>
							<para> Returns a <see cref="T:System.Double"/> whose value is as
   follows.</para>
							<list type="table">
								<listheader>
									<term>Condition</term>
									<description>Returns</description>
								</listheader>
								<item>
									<term>
										<paramref name="d"/>
   
   &gt;
   0.</term>
									<description> The value of the natural logarithm of <paramref name="d"/>.</description>
								</item>
								<item>
									<term>
										<paramref name="d"/> == 0.</term>
									<description>
										<see cref="F:System.Double.NegativeInfinity"/>.</description>
								</item>
								<item>
									<term>
										<para>
											<paramref name="d "/> &lt;
      0.</para>
										<para>-or-</para>
										<para>
											<paramref name="d "/> is equal to <see cref="F:System.Double.NegativeInfinity"/>.</para>
										<para>-or-</para>
										<para>
											<paramref name="d "/> is equal to <see cref="F:System.Double.NaN"/>.</para>
									</term>
									<description>
										<see cref="F:System.Double.NaN"/>.</description>
								</item>
								<item>
									<term>
										<paramref name="d"/>
is equal to <see cref="F:System.Double.PositiveInfinity"/>.</term>
									<description>
										<see cref="F:System.Double.PositiveInfinity"/>.</description>
								</item>
							</list>
						</returns>
						<remarks>
							<para>
								<paramref name="d "/>is specified as a base 10 number.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Log">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Log(float64 a, float64 newBase)"/>
					<MemberSignature Language="C#" Value="public static double Log(double a, double newBase);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="a" Type="System.Double"/>
						<Parameter Name="newBase" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the logarithm of the specified <see cref="T:System.Double"/>
in the specified base.</para>
						</summary>
						<param name="a">A <see cref="T:System.Double"/> whose logarithm is to be found.</param>
						<param name="newBase">A <see cref="T:System.Double"/> containing the value of the base of the logarithm.</param>
						<returns>
							<para>Returns a <see cref="T:System.Double"/> whose value is as follows:</para>
							<list type="table">
								<listheader>
									<term>Condition</term>
									<description>Returns</description>
								</listheader>
								<item>
									<term>
										<paramref name="a"/> &gt;
      0.</term>
									<description> The value
      of Log<sub>
											<paramref name="newBase"/>
										</sub>
										<paramref name="a"/>, if and only if
<paramref name="newBase"/> is greater than or equal to 0; otherwise, <see cref="F:System.Double.NaN"/>.</description>
								</item>
								<item>
									<term>
										<paramref name="a "/>== 0.</term>
									<description>
										<see cref="F:System.Double.NegativeInfinity"/>.</description>
								</item>
								<item>
									<term>
										<paramref name="a "/>&lt;
   0.</term>
									<description>
										<see cref="F:System.Double.NaN"/>.</description>
								</item>
							</list>
							<para>If <paramref name="a"/> is equal to <see cref="F:System.Double.PositiveInfinity"/> and <paramref name="newBase"/> is not equal
<see cref="F:System.Double.PositiveInfinity"/>, <see cref="F:System.Double.NegativeInfinity"/>, or <see cref="F:System.Double.NaN"/>, returns <see cref="F:System.Double.PositiveInfinity"/>. 
If <paramref name="newBase"/> is equal to <see cref="F:System.Double.PositiveInfinity"/> and <paramref name="a"/> is not equal to
<see cref="F:System.Double.PositiveInfinity"/>, <see cref="F:System.Double.NegativeInfinity"/>, or <see cref="F:System.Double.NaN"/>, returns 0. If both <paramref name="a"/> and 
<paramref name="newBase"/> are equal to <see cref="F:System.Double.PositiveInfinity"/>, or <paramref name="a"/> or <paramref name="newBase"/> 
is equal to <see cref="F:System.Double.NaN"/> or <see cref="F:System.Double.NegativeInfinity"/>, returns <see cref="F:System.Double.NaN"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Log10">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Log10(float64 d)"/>
					<MemberSignature Language="C#" Value="public static double Log10(double d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns log<sub>10</sub> of the specified <see cref="T:System.Double"/>.</para>
						</summary>
						<param name="d">A <see cref="T:System.Double"/> whose logarithm is to be found. </param>
						<returns>
							<para>Returns a <see cref="T:System.Double"/> as indicated by the following table.</para>
							<list type="table">
								<listheader>
									<term>Condition</term>
									<description>Returns</description>
								</listheader>
								<item>
									<term>
										<paramref name="d"/> &gt;
      0.</term>
									<description>A
   <see cref="T:System.Double"/>
   containing the value of log<sub>10</sub>
										<paramref name="d"/>.</description>
								</item>
								<item>
									<term>
										<paramref name="d"/> == 0.</term>
									<description>
										<see cref="F:System.Double.NegativeInfinity"/>.</description>
								</item>
								<item>
									<term>
										<para>
											<paramref name="d "/> &lt;
      0. </para>
										<para>-or-</para>
										<para>
											<paramref name="d "/>is equal to <see cref="F:System.Double.NegativeInfinity"/>.</para>
										<para>-or-</para>
										<para>
											<paramref name="d "/>is equal to <see cref="F:System.Double.NaN"/>.</para>
									</term>
									<description>
										<see cref="F:System.Double.NaN"/>.</description>
								</item>
								<item>
									<term>
										<para>
											<paramref name="d"/> is equal to
   <see cref="F:System.Double.PositiveInfinity"/>.
      </para>
									</term>
									<description>
										<see cref="F:System.Double.PositiveInfinity"/>.</description>
								</item>
							</list>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Max">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 Max(int8 val1, int8 val2)"/>
					<MemberSignature Language="C#" Value="public static sbyte Max(sbyte val1, sbyte val2);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.SByte"/>
						<Parameter Name="val2" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the greater of two specified <see cref="T:System.SByte"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.Byte"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.Byte"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.SByte"/> that
   is equal to <paramref name="val1 "/>if <paramref name="val1"/> is greater than or equal to <paramref name="val2"/>; otherwise, the return value
   is equal
   to <paramref name="val2"/>.</para>
						</returns>
						<remarks>
							<para>This method is not CLS-compliant. For a CLS-compliant
      alternative, use <see cref="M:System.Math.Max(System.SByte,System.SByte)"/>(<see cref="T:System.Int16"/>, <see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Max">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 Max(unsigned int8 val1, unsigned int8 val2)"/>
					<MemberSignature Language="C#" Value="public static byte Max(byte val1, byte val2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.Byte"/>
						<Parameter Name="val2" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the greater of two specified <see cref="T:System.Byte"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.Byte"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.Byte"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.Byte"/> that 
   is equal to <paramref name="val1 "/>if <paramref name="val1"/> is greater than or equal to <paramref name="val2"/>; otherwise, the return value
   is equal
   to <paramref name="val2"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Max">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 Max(int16 val1, int16 val2)"/>
					<MemberSignature Language="C#" Value="public static short Max(short val1, short val2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.Int16"/>
						<Parameter Name="val2" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the greater of two specified <see cref="T:System.Int16"/> values.</para>
						</summary>
						<param name=" val1">The first of two specified <see cref="T:System.Int16"/> values to compare.</param>
						<param name=" val2">The second of two specified <see cref="T:System.Int16"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.Int16"/> that 
   is equal to <paramref name="val1 "/>if <paramref name="val1"/> is greater than or equal to <paramref name="val2"/>; otherwise, the return value is equal
   to <paramref name="val2"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Max">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 Max(unsigned int16 val1, unsigned int16 val2)"/>
					<MemberSignature Language="C#" Value="public static ushort Max(ushort val1, ushort val2);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.UInt16"/>
						<Parameter Name="val2" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the greater of two specified <see cref="T:System.UInt16"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.UInt16"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.UInt16"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.UInt16"/> that
   is equal to <paramref name="val1 "/>if <paramref name="val1"/> is greater than or equal to <paramref name="val2"/>; otherwise, the return value is equal
   to <paramref name="val2"/>.</para>
						</returns>
						<remarks>
							<para>This method is not CLS-compliant. For a CLS-compliant
      alternative, use <see cref="M:System.Math.Max(System.SByte,System.SByte)"/>(<see cref="T:System.Int32"/>, <see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Max">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Max(int32 val1, int32 val2)"/>
					<MemberSignature Language="C#" Value="public static int Max(int val1, int val2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.Int32"/>
						<Parameter Name="val2" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the greater of two specified <see cref="T:System.Int32"/> values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.Int32"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.Int32"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> that 
   is equal to <paramref name="val1 "/>if <paramref name="val1"/> is greater than or equal to <paramref name="val2"/>; otherwise, the return value is equal
   to <paramref name="val2"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Max">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 Max(unsigned int32 val1, unsigned int32 val2)"/>
					<MemberSignature Language="C#" Value="public static uint Max(uint val1, uint val2);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.UInt32"/>
						<Parameter Name="val2" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the greater of two specified <see cref="T:System.UInt32"/> values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.UInt32"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.UInt32"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.UInt32"/> that
   is equal to <paramref name="val1 "/>if <paramref name="val1"/> is greater than or equal to <paramref name="val2"/>; otherwise, the return value is equal
   to <paramref name="val2"/>.</para>
						</returns>
						<remarks>
							<para>This method is not CLS-compliant. For a CLS-compliant
      alternative, use <see cref="M:System.Math.Max(System.SByte,System.SByte)"/>(<see cref="T:System.Int64"/>, <see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Max">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 Max(int64 val1, int64 val2)"/>
					<MemberSignature Language="C#" Value="public static long Max(long val1, long val2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.Int64"/>
						<Parameter Name="val2" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the greater of two specified <see cref="T:System.Int64"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.Int64"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.Int64"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.Int64"/> that 
   is equal to <paramref name="val1 "/>if <paramref name="val1"/> is greater than or equal to <paramref name="val2"/>; otherwise, the return value is equal
   to <paramref name="val2"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Max">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 Max(unsigned int64 val1, unsigned int64 val2)"/>
					<MemberSignature Language="C#" Value="public static ulong Max(ulong val1, ulong val2);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.UInt64"/>
						<Parameter Name="val2" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the greater of two specified <see cref="T:System.UInt64"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.UInt64"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.UInt64"/> values to compare.</param>
						<returns>
   A <see cref="T:System.UInt64"/>
   equal to <paramref name="val1"/> if <paramref name="val1"/> is greater than or equal to
<paramref name="val2"/>; otherwise, the return value is equal to <paramref name="val2"/>.
</returns>
						<remarks>
							<para>This method is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Math.Max(System.SByte,System.SByte)"/>(<see cref="T:System.Decimal"/>, <see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Max">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 Max(float32 val1, float32 val2)"/>
					<MemberSignature Language="C#" Value="public static float Max(float val1, float val2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.Single"/>
						<Parameter Name="val2" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the greater of two specified <see cref="T:System.Single"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.Single"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.Single"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.Single"/>
equal to <paramref name="val1"/> if <paramref name="val1"/> is greater than or equal to
<paramref name="val2"/>; otherwise, the return value is equal to <paramref name="val2"/>. If <paramref name="val1"/>, <paramref name="val2"/>, or 
both are equal to <see cref="F:System.Single.NaN"/>, <see cref="F:System.Single.NaN"/> is
returned.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Max">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Max(float64 val1, float64 val2)"/>
					<MemberSignature Language="C#" Value="public static double Max(double val1, double val2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.Double"/>
						<Parameter Name="val2" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the greater of two specified <see cref="T:System.Double"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.Double"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.Double"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.Double"/> equal to <paramref name="val1"/> if <paramref name="val1"/> is greater than or equal to
<paramref name="val2"/>; otherwise, the return value is equal to <paramref name="val2"/>. If <paramref name="val1"/> , <paramref name="val2"/>, or both 
   are equal to <see cref="F:System.Double.NaN"/> , <see cref="F:System.Double.NaN"/> is returned.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Max">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Max(decimal val1, decimal val2)"/>
					<MemberSignature Language="C#" Value="public static decimal Max(decimal val1, decimal val2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.Decimal"/>
						<Parameter Name="val2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the greater of two specified <see cref="T:System.Decimal"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.Decimal"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.Decimal"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/> that is equal to <paramref name="val1 "/>if <paramref name="val1"/> is greater than or 
   equal to <paramref name="val2"/>; otherwise, the return value is equal to <paramref name="val2"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Min">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int16 Min(unsigned int16 val1, unsigned int16 val2)"/>
					<MemberSignature Language="C#" Value="public static ushort Min(ushort val1, ushort val2);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.UInt16"/>
						<Parameter Name="val2" Type="System.UInt16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the lesser of two specified <see cref="T:System.UInt16"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.UInt16"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.UInt16"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.UInt16"/> equal to <paramref name="val1"/> if <paramref name="val1"/> is less
   than or equal to <paramref name="val2"/>; otherwise, the return value is equal to <paramref name="val2"/> .</para>
						</returns>
						<remarks>
							<para>This method is not CLS-compliant. For a CLS-compliant
      alternative, use <see cref="M:System.Math.Min(System.SByte,System.SByte)"/>(<see cref="T:System.Int32"/>, <see cref="T:System.Int32"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Min">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 Min(int16 val1, int16 val2)"/>
					<MemberSignature Language="C#" Value="public static short Min(short val1, short val2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.Int16"/>
						<Parameter Name="val2" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the lesser of two specified <see cref="T:System.Int16"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.Int16"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.Int16"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.Int16"/> that 
   is equal to <paramref name="val1 "/>if <paramref name="val1"/> is less than or equal to <paramref name="val2"/>; otherwise, the return value is equal
   to <paramref name="val2"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Min">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int8 Min(unsigned int8 val1, unsigned int8 val2)"/>
					<MemberSignature Language="C#" Value="public static byte Min(byte val1, byte val2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.Byte"/>
						<Parameter Name="val2" Type="System.Byte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the lesser of two specified <see cref="T:System.Byte"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.Byte"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.Byte"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.Byte"/> equal
   to
<paramref name="val1"/> if <paramref name="val1"/> is less than or equal
   to <paramref name="val2"/>; otherwise, the return value is equal to <paramref name="val2"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Min">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int8 Min(int8 val1, int8 val2)"/>
					<MemberSignature Language="C#" Value="public static sbyte Min(sbyte val1, sbyte val2);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.SByte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.SByte"/>
						<Parameter Name="val2" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the lesser of two specified <see cref="T:System.SByte"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.SByte"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.SByte"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.SByte"/>
equal to <paramref name="val1"/> if <paramref name="val1"/> is less than or equal to <paramref name="val2"/>; otherwise, the return value is equal to <paramref name="val2"/>.</para>
						</returns>
						<remarks>
							<para>This method is not CLS-compliant. For a CLS-compliant
      alternative, use <see cref="M:System.Math.Min(System.SByte,System.SByte)"/>(<see cref="T:System.Int16"/>, <see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Min">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int64 Min(unsigned int64 val1, unsigned int64 val2)"/>
					<MemberSignature Language="C#" Value="public static ulong Min(ulong val1, ulong val2);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.UInt64"/>
						<Parameter Name="val2" Type="System.UInt64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the lesser of two specified <see cref="T:System.UInt64"/> values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.UInt64"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.UInt64"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.UInt64"/>
equal to <paramref name="val1"/> if <paramref name="val1"/> is less than or equal to <paramref name="val2"/>; otherwise, the return value is equal to <paramref name="val2"/>.</para>
						</returns>
						<remarks>
							<para>This method is not CLS-compliant. For a CLS-compliant
      alternative, use <see cref="M:System.Math.Min(System.SByte,System.SByte)"/>(<see cref="T:System.Decimal"/>, <see cref="T:System.Decimal"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Min">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 Min(float32 val1, float32 val2)"/>
					<MemberSignature Language="C#" Value="public static float Min(float val1, float val2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.Single"/>
						<Parameter Name="val2" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the lesser of two specified <see cref="T:System.Single"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.Single"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.Single"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.Single"/>
equal to <paramref name="val1"/> if <paramref name="val1"/> is less than or equal to
<paramref name="val2"/>; otherwise, the return value is equal to <paramref name="val2"/>. If <paramref name="val1"/>, <paramref name="val2"/>, or both 
are equal to <see cref="F:System.Single.NaN"/>, <see cref="F:System.Single.NaN"/> is
returned.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Min">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 Min(int64 val1, int64 val2)"/>
					<MemberSignature Language="C#" Value="public static long Min(long val1, long val2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.Int64"/>
						<Parameter Name="val2" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the lesser of two specified <see cref="T:System.Int64"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.Int64"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.Int64"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.Int64"/> 
equal to <paramref name="val1"/> if <paramref name="val1"/> is less than or equal to <paramref name="val2"/>; otherwise, the return value is equal to <paramref name="val2"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Min">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static unsigned int32 Min(unsigned int32 val1, unsigned int32 val2)"/>
					<MemberSignature Language="C#" Value="public static uint Min(uint val1, uint val2);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.UInt32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.UInt32"/>
						<Parameter Name="val2" Type="System.UInt32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the lesser of two specified <see cref="T:System.UInt32"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.UInt32"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.UInt32"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.UInt32"/>
equal to <paramref name="val1"/> if <paramref name="val1"/> is less than or equal to <paramref name="val2"/>; otherwise, the return value is equal to <paramref name="val2"/>.</para>
						</returns>
						<remarks>
							<para>This method is not CLS-compliant. For a CLS-compliant
      alternative, use <see cref="M:System.Math.Min(System.SByte,System.SByte)"/>(<see cref="T:System.Int64"/>, <see cref="T:System.Int64"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Min">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Min(int32 val1, int32 val2)"/>
					<MemberSignature Language="C#" Value="public static int Min(int val1, int val2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.Int32"/>
						<Parameter Name="val2" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the lesser of two specified <see cref="T:System.Int32"/> 
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.Int32"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.Int32"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> 
equal to <paramref name="val1"/> if <paramref name="val1"/> is less than or equal to <paramref name="val2"/>; otherwise, the return value is equal to <paramref name="val2"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Min">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Min(float64 val1, float64 val2)"/>
					<MemberSignature Language="C#" Value="public static double Min(double val1, double val2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.Double"/>
						<Parameter Name="val2" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the lesser of two specified <see cref="T:System.Double"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.Double"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.Double"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.Double"/>
equal to <paramref name="val1"/> if <paramref name="val1"/> is less than or equal to
<paramref name="val2"/>; otherwise, the return value is equal to <paramref name="val2"/>. If <paramref name="val1"/>, 
<paramref name="val2"/>, or both 
are equal to <see cref="F:System.Double.NaN"/>, <see cref="F:System.Double.NaN"/> is
returned.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Min">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Min(decimal val1, decimal val2)"/>
					<MemberSignature Language="C#" Value="public static decimal Min(decimal val1, decimal val2);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="val1" Type="System.Decimal"/>
						<Parameter Name="val2" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the lesser of two specified <see cref="T:System.Decimal"/>
values.</para>
						</summary>
						<param name="val1">The first of two specified <see cref="T:System.Decimal"/> values to compare.</param>
						<param name="val2">The second of two specified <see cref="T:System.Decimal"/> values to compare.</param>
						<returns>
							<para>A <see cref="T:System.Decimal"/> equal to <paramref name="val1"/> if <paramref name="val1"/> is less than or equal to <paramref name="val2"/>; otherwise, the return value is equal to
<paramref name="val2"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PI">
					<MemberSignature Language="ILASM" Value=".field public static literal float64 PI = 3.14159265358979"/>
					<MemberSignature Language="C#" Value="public const double PI = 3.14159265358979;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> A constant, <pi/>, which specifies the ratio of the circumference of a circle to
      its diameter rounded to double precision.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 3.14159265358979323846 converted to <see cref="T:System.Double"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Pow">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Pow(float64 x, float64 y)"/>
					<MemberSignature Language="C#" Value="public static double Pow(double x, double y);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="x" Type="System.Double"/>
						<Parameter Name="y" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.Double"/> raised to the specified power.</para>
						</summary>
						<param name="x">A <see cref="T:System.Double"/> to be raised to a power.</param>
						<param name="y">A <see cref="T:System.Double"/> that specifies that power.</param>
						<returns>
							<para> A <see cref="T:System.Double"/> equal to <paramref name="x"/> raised to the power <paramref name="y"/>.
   The following table specifies the results if <paramref name="x"/> or <paramref name="y"/>
   is equal to <see cref="F:System.Double.NaN"/>, <see cref="F:System.Double.NegativeInfinity"/>, or <see cref="F:System.Double.PositiveInfinity"/>.</para>
							<list type="table">
								<listheader>
									<term>Parameter Values</term>
									<description>Returns</description>
								</listheader>
								<item>
									<term>
										<paramref name="x"/> or <paramref name="y"/> is equal to 
   <see cref="F:System.Double.NaN"/>
									</term>
									<description>
										<see cref="F:System.Double.NaN"/>.</description>
								</item>
								<item>
									<term>
										<paramref name="x"/> is equal to <see cref="F:System.Double.NegativeInfinity"/>
									</term>
									<description>
										<see cref="F:System.Double.NegativeInfinity"/> if <paramref name="y"/> is an odd integer; otherwise,
<see cref="F:System.Double.PositiveInfinity"/>.</description>
								</item>
								<item>
									<term>
										<paramref name="y"/> is equal to <see cref="F:System.Double.NegativeInfinity"/>
									</term>
									<description>0.</description>
								</item>
								<item>
									<term>
										<paramref name="x"/> is equal to <see cref="F:System.Double.PositiveInfinity"/>
									</term>
									<description>0 if <paramref name="y"/> is equal to <see cref="F:System.Double.NegativeInfinity"/>; otherwise, <see cref="F:System.Double.PositiveInfinity"/>.</description>
								</item>
								<item>
									<term>
										<paramref name="y "/>is equal to <see cref="F:System.Double.PositiveInfinity"/>
									</term>
									<description>
										<see cref="F:System.Double.PositiveInfinity"/>.</description>
								</item>
							</list>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Round">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static decimal Round(decimal d)"/>
					<MemberSignature Language="C#" Value="public static decimal Round(decimal d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Decimal</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the integer nearest the specified <see cref="T:System.Decimal"/>.</para>
						</summary>
						<param name="d">A <see cref="T:System.Decimal"/> to be rounded.</param>
						<returns>
							<para> A <see cref="T:System.Decimal"/> containing the value of the integer nearest <paramref name="d"/>. If <paramref name="d"/>
is exactly halfway between two integers, one of which is even and the other odd, then the even integer is returned.</para>
						</returns>
						<remarks>
							<para>The behavior of this method follows IEEE Standard 754, section 4.1.</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.Math.Round(System.Double)"/>(<see cref="T:System.Decimal"/>) method.</para>
							<code lang="C#">using System;

public class MathRoundExample
{

   public static void Main()
   {

      Double d1 = Math.Round(4.4);
      Double d2 = Math.Round(4.5);
      Double d3 = Math.Round(4.6);
      Console.WriteLine("Math.Round(4.4) returns {0}", d1);
      Console.WriteLine("Math.Round(4.5) returns {0}", d2);
      Console.WriteLine("Math.Round(4.6) returns {0}", d3);

   }

}
</code>
							<para>The output is</para>
							<c>
								<para>Math.Round(4.4) returns 4</para>
								<para>Math.Round(4.5) returns 4</para>
								<para>Math.Round(4.6) returns 5</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Round">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Round(float64 value, int32 digits)"/>
					<MemberSignature Language="C#" Value="public static double Round(double value, int digits);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
						<Parameter Name="digits" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the number nearest the specified <see cref="T:System.Double"/> within the
   specified precision.</para>
						</summary>
						<param name="value">A <see cref="T:System.Double"/> to be rounded.</param>
						<param name=" digits">A <see cref="T:System.Int32"/> containing the value of the number of significant fractional digits (precision) in the return value. This number is required to be greater than or equal to 0 and less than or equal to 15.</param>
						<returns>
							<para> A <see cref="T:System.Double"/> containing the value of the number
   nearest <paramref name="value"/> with a precision
   equal to <paramref name="digits"/> . If the digit
   in <paramref name="value"/> that is in the 10<sup>-(<paramref name="digits "/> + 1)</sup> place is equal
to 5 and there are no non-zero numbers in any less significant place, then the
digit in the 10<sup>-<paramref name="digits"/>
								</sup> place will be unchanged if it is even, else it
will be set to the closest even integer value in the direction of the digit in
the 10<sup>-(<paramref name="digits"/> + 1)</sup> place. If the precision of <paramref name="value"/> is less
than <paramref name="digits"/>, then <paramref name="value"/> is returned unchanged. If
<paramref name="digits"/> is zero, this method behaves in the same manner as <see cref="M:System.Math.Round(System.Double)"/> 
(<paramref name="value"/> ).</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="digits"/> &lt; 0.</para>
							<para>
								<paramref name="digits"/> &gt; 15.</para>
						</exception>
						<remarks>
							<para>The behavior of this method follows IEEE Standard 754, section 4.1.</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.Math.Round(System.Double)"/>(<see cref="T:System.Double"/>, <see cref="T:System.Int32"/>) method.</para>
							<code lang="C#">using System;

public class MathRoundExample
{

   public static void Main()
   {

      Double d1 = Math.Round(3.44,1);
      Double d2 = Math.Round(3.45,1);
      Double d3 = Math.Round(3.55,1);
      Console.WriteLine("Math.Round(3.44, 1) returns {0}", d1);
      Console.WriteLine("Math.Round(3.45, 1) returns {0}", d2);
      Console.WriteLine("Math.Round(3.55, 1) returns {0}", d3);

   }

}
</code>
							<para>The output is</para>
							<c>
								<para>Math.Round(3.44, 1) returns 3.4</para>
								<para>Math.Round(3.45, 1) returns 3.4</para>
								<para>Math.Round(3.55, 1) returns 3.6</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Round">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Round(float64 a)"/>
					<MemberSignature Language="C#" Value="public static double Round(double a);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="a" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the integer nearest the specified <see cref="T:System.Double"/>.</para>
						</summary>
						<param name="a">A <see cref="T:System.Double"/> to be rounded.</param>
						<returns>
							<para> A <see cref="T:System.Double"/> containing the value of the integer nearest <paramref name="a"/>.
   If <paramref name="a"/> is exactly halfway between two integers, one of which is even and the other odd, then the even integer is returned.</para>
						</returns>
						<remarks>
							<para> The behavior of this method follows IEEE Standard 754, section 4.1.</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.Math.Round(System.Double)"/>(<see cref="T:System.Double"/>) method.</para>
							<code lang="C#">using System;

public class MathRoundExample
{

   public static void Main()
   {

      Double d1 = Math.Round(4.4);
      Double d2 = Math.Round(4.5);
      Double d3 = Math.Round(4.6);
      Console.WriteLine("Math.Round(4.4) returns {0}", d1);
      Console.WriteLine("Math.Round(4.5) returns {0}", d2);
      Console.WriteLine("Math.Round(4.6) returns {0}", d3);

   }

}
</code>
							<para>The output is</para>
							<c>
								<para>Math.Round(4.4) returns 4</para>
								<para>Math.Round(4.5) returns 4</para>
								<para>Math.Round(4.6) returns 5</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sign">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Sign(decimal value)"/>
					<MemberSignature Language="C#" Value="public static int Sign(decimal value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Decimal"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a value indicating the sign of the specified <see cref="T:System.Decimal"/>.</para>
						</summary>
						<param name="value">A <see cref="T:System.Decimal"/> number whose sign is to be determined.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> indicating the sign of <paramref name="value"/>.</para>
							<list type="table">
								<listheader>
									<term>Number</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> -1</term>
									<description>
										<paramref name="value"/> &lt;
      0.</description>
								</item>
								<item>
									<term> 0</term>
									<description>
										<paramref name="value"/> == 0.</description>
								</item>
								<item>
									<term> 1</term>
									<description>
										<paramref name="value"/> &gt; 0.</description>
								</item>
							</list>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sign">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Sign(float64 value)"/>
					<MemberSignature Language="C#" Value="public static int Sign(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a value indicating the sign of the specified <see cref="T:System.Double"/>.</para>
						</summary>
						<param name="value">A <see cref="T:System.Double"/> whose sign is to be determined.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/>
indicating the sign of <paramref name="value"/>.</para>
							<list type="table">
								<listheader>
									<term>Number</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> -1</term>
									<description>
										<paramref name="value"/> &lt;
      0.</description>
								</item>
								<item>
									<term> 0</term>
									<description>
										<paramref name="value"/> == 0.</description>
								</item>
								<item>
									<term> 1</term>
									<description>
										<paramref name="value"/> &gt; 0.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArithmeticException">
							<paramref name="value "/>is equal to <see cref="F:System.Double.NaN"/>.</exception>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.Math.Sign(System.SByte)"/>(<see cref="T:System.Double"/>) method.</para>
							<code lang="C#">using System;

public class MathSignExample
{

   public static void Main()
   {

      Double d1 = Math.Sign(4.4);
      Double d2 = Math.Sign(0.0);
      Double d3 = Math.Sign(-4.5);
      Console.WriteLine("Math.Sign(4.4) returns {0}", d1);
      Console.WriteLine("Math.Sign(0.0) returns {0}", d2);
      Console.WriteLine("Math.Sign(-4.5) returns {0}", d3);

   }

}
</code>
							<para>The output is</para>
							<c>
								<para>Math.Sign(4.4) returns 1 </para>
								<para>Math.Sign(0.0) returns 0 </para>
								<para>Math.Sign(-4.5) returns -1</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sign">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Sign(float32 value)"/>
					<MemberSignature Language="C#" Value="public static int Sign(float value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a value indicating the sign of the specified <see cref="T:System.Single"/>.</para>
						</summary>
						<param name="value">A <see cref="T:System.Single"/> whose sign is to be determined.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> indicating the sign of value.</para>
							<list type="table">
								<listheader>
									<term>Number</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> -1</term>
									<description>
										<paramref name="value"/> &lt;
      0.</description>
								</item>
								<item>
									<term> 0</term>
									<description>
										<paramref name="value"/> == 0.</description>
								</item>
								<item>
									<term> 1</term>
									<description>
										<paramref name="value"/> &gt; 0.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArithmeticException">
							<paramref name="value"/> is equal to <see cref="F:System.Single.NaN"/>.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sign">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Sign(int64 value)"/>
					<MemberSignature Language="C#" Value="public static int Sign(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a value indicating the sign of the specified <see cref="T:System.Int64"/>.</para>
						</summary>
						<param name="value">A <see cref="T:System.Int64"/> whose sign is to be determined.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> indicating the sign of <paramref name="value"/>.</para>
							<list type="table">
								<listheader>
									<term>Number</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> -1</term>
									<description>
										<paramref name="value"/> &lt;
      0.</description>
								</item>
								<item>
									<term> 0</term>
									<description>
										<paramref name="value"/> == 0.</description>
								</item>
								<item>
									<term> 1</term>
									<description>
										<paramref name="value"/> &gt; 0.</description>
								</item>
							</list>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sign">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Sign(int32 value)"/>
					<MemberSignature Language="C#" Value="public static int Sign(int value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a value indicating the sign of the specified <see cref="T:System.Int32"/> .</para>
						</summary>
						<param name="value">A <see cref="T:System.Int32"/> whose sign is to be determined.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> indicating the sign of <paramref name="value"/>.</para>
							<list type="table">
								<listheader>
									<term>Number</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> -1</term>
									<description>
										<paramref name="value"/> &lt;
      0.</description>
								</item>
								<item>
									<term> 0</term>
									<description>
										<paramref name="value"/> == 0.</description>
								</item>
								<item>
									<term> 1</term>
									<description>
										<paramref name="value"/> &gt; 0.</description>
								</item>
							</list>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sign">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Sign(int16 value)"/>
					<MemberSignature Language="C#" Value="public static int Sign(short value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a value indicating the sign of the specified <see cref="T:System.Int16"/> .</para>
						</summary>
						<param name="value">A <see cref="T:System.Int16"/> whose sign is to be determined.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> indicating the sign of <paramref name="value"/>.</para>
							<list type="table">
								<listheader>
									<term>Number</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> -1</term>
									<description>
										<paramref name="value"/> &lt;
      0.</description>
								</item>
								<item>
									<term> 0</term>
									<description>
										<paramref name="value"/> == 0.</description>
								</item>
								<item>
									<term> 1</term>
									<description>
										<paramref name="value"/> &gt; 0.</description>
								</item>
							</list>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sign">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 Sign(int8 value)"/>
					<MemberSignature Language="C#" Value="public static int Sign(sbyte value);"/>
					<MemberType>Method</MemberType>
					<Attributes>
						<Attribute>
							<AttributeName>CLSCompliantAttribute(false)</AttributeName>
							<Excluded>0</Excluded>
						</Attribute>
					</Attributes>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.SByte"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a value indicating the sign of the specified <see cref="T:System.SByte"/> .</para>
						</summary>
						<param name="value">A <see cref="T:System.SByte"/> whose sign is to be determined.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> indicating the
   sign of <paramref name="value"/>.</para>
							<list type="table">
								<listheader>
									<term>Number</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> -1</term>
									<description>
										<paramref name="value"/> &lt;
      0.</description>
								</item>
								<item>
									<term> 0</term>
									<description>
										<paramref name="value"/> == 0.</description>
								</item>
								<item>
									<term> 1</term>
									<description>
										<paramref name="value"/> &gt; 0.</description>
								</item>
							</list>
						</returns>
						<remarks>
							<para>This method is not CLS-compliant. For a CLS-compliant alternative, use
   <see cref="M:System.Math.Sign(System.SByte)"/>(<see cref="T:System.Int16"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sin">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Sin(float64 a)"/>
					<MemberSignature Language="C#" Value="public static double Sin(double a);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="a" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the sine of the specified <see cref="T:System.Double"/> that represents an angle.</para>
						</summary>
						<param name="a">A <see cref="T:System.Double"/> containing the value of an angle measured in radians.</param>
						<returns>
							<para>A <see cref="T:System.Double"/> containing the value of the sine of <paramref name="a"/>. If
<paramref name="a"/> is equal to <see cref="F:System.Double.NaN"/>, <see cref="F:System.Double.NegativeInfinity"/>, or <see cref="F:System.Double.PositiveInfinity"/>, 
   returns <see cref="F:System.Double.NaN"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">Multiply by
      <pi/>/180 to convert degrees to radians.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.Math.Sin(System.Double)"/> method.</para>
							<code lang="C#">using System;

public class MathSinExample
{

   public static void Main()
   {

      Double d1 = Math.Sin(0);
      Double d2 = Math.Sin(Math.PI/2.0);
      Console.WriteLine("Math.Sin(0) returns {0}", d1);
      Console.WriteLine("Math.Sin(Math.PI/2.0) returns {0}", d2);

   }

}
</code>
							<para>The output is</para>
							<c>
								<para>Math.Sin(0) returns 0</para>
								<para>Math.Sin(Math.PI/2.0) returns 1</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sinh">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Sinh(float64 value)"/>
					<MemberSignature Language="C#" Value="public static double Sinh(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the hyperbolic sine of the specified <see cref="T:System.Double"/> that represents an angle.</para>
						</summary>
						<param name=" value">A <see cref="T:System.Double"/> containing the value of an angle measured in radians.</param>
						<returns>
							<para>A <see cref="T:System.Double"/> containing the value of the hyperbolic sine of
<paramref name="value"/>. If <paramref name="value"/> is equal to <see cref="F:System.Double.NegativeInfinity"/>, 
<see cref="F:System.Double.PositiveInfinity"/>, or <see cref="F:System.Double.NaN"/>, returns a <see cref="T:System.Double"/> equal to <paramref name="value"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">Multiply by <pi/>/180 to convert degrees
      to radians.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.Math.Sinh(System.Double)"/> method.</para>
							<code lang="C#">using System;

public class MathSinhExample
{

   public static void Main()
   {

      Double d1 = Math.Sinh(0);
      Double d2 = Math.Sinh(Math.PI);
      Console.WriteLine("Math.Sinh(0) returns {0}", d1);
      Console.WriteLine("Math.Sinh(Math.PI) returns {0}", d2);

   }

}
</code>
							<para>The output is</para>
							<c>
								<para>Math.Sinh(0) returns 0</para>
								<para>Math.Sinh(Math.PI) returns 11.5487393572577</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sqrt">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Sqrt(float64 d)"/>
					<MemberSignature Language="C#" Value="public static double Sqrt(double d);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="d" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the square root of the specified <see cref="T:System.Double"/>.</para>
						</summary>
						<param name="d">A <see cref="T:System.Double"/> .</param>
						<returns>
							<para>A <see cref="T:System.Double"/> whose value is indicated as
   follows:</para>
							<list type="table">
								<listheader>
									<term>Condition</term>
									<description>Returns</description>
								</listheader>
								<item>
									<term>
										<paramref name="d"/> &gt;=
      0</term>
									<description>A
   <see cref="T:System.Double"/>
   containing the positive square root of <paramref name="d"/>.</description>
								</item>
								<item>
									<term>
										<para>
											<paramref name="d"/> &lt;
      0</para>
										<para>
											<paramref name="d "/>is equal to <see cref="F:System.Double.NegativeInfinity"/>.</para>
										<para>
											<paramref name="d "/>is equal to <see cref="F:System.Double.NaN"/>.</para>
									</term>
									<description>
										<see cref="F:System.Double.NaN"/>.</description>
								</item>
								<item>
									<term>
										<para>
											<paramref name="d "/>is equal to <see cref="F:System.Double.PositiveInfinity"/>
										</para>
									</term>
									<description>
										<para>
											<see cref="F:System.Double.PositiveInfinity"/>.</para>
									</description>
								</item>
							</list>
						</returns>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.Math.Sqrt(System.Double)"/> method.</para>
							<code lang="C#">using System;

public class MathSqrtExample
{

   public static void Main()
   {

      Double d1 = Math.Sqrt(16.0);
      Double d2 = Math.Sqrt(0.0);
      Double d3 = Math.Sqrt(-10.0);
      Console.WriteLine("Math.Sqrt(16.0) returns {0}", d1);
      Console.WriteLine("Math.Sqrt(0.0) returns {0}", d2);
      Console.WriteLine("Math.Sqrt(-10.0) returns {0}", d3);

   }

}
</code>
							<para>The output is</para>
							<c>
								<para>Math.Sqrt(16.0) returns 4</para>
								<para>Math.Sqrt(0.0) returns 0</para>
								<para>Math.Sqrt(-10.0) returns NaN</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Tan">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Tan(float64 a)"/>
					<MemberSignature Language="C#" Value="public static double Tan(double a);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="a" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the tangent of the specified <see cref="T:System.Double"/> that represents an angle.</para>
						</summary>
						<param name="a">A <see cref="T:System.Double"/> that represents an angle measured in radians.</param>
						<returns>
							<para>A <see cref="T:System.Double"/> containing the value of the tangent of <paramref name="a"/>. If a
   is equal to <see cref="F:System.Double.NaN"/>, <see cref="F:System.Double.NegativeInfinity"/>, or <see cref="F:System.Double.PositiveInfinity"/>,
   returns <see cref="F:System.Double.NaN"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">Multiply by <pi/>/180 to convert degrees
      to radians.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.Math.Tan(System.Double)"/> method.</para>
							<code lang="C#">using System;

public class MathTanExample
{

   public static void Main()
   {

      Double d1 = Math.Tan(0);
      Double d2 = Math.Tan(Math.PI/2.0);
      Console.WriteLine("Math.Tan(0) returns {0}", d1);
      Console.WriteLine("Math.Tan(Math.PI/2.0) returns {0}", d2);

   }

}
</code>
							<para>The output is</para>
							<c>
								<para>Math.Tan(0) returns 0</para>
								<para>Math.Tan(Math.PI/2.0) returns 1.63317787283838E+16</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Tanh">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float64 Tanh(float64 value)"/>
					<MemberSignature Language="C#" Value="public static double Tanh(double value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the hyperbolic tangent of the specified <see cref="T:System.Double"/> that represents an angle.</para>
						</summary>
						<param name=" value">A <see cref="T:System.Double"/> that represents an angle measured in radians.</param>
						<returns>
							<para>A <see cref="T:System.Double"/> containing the value of the hyperbolic tangent of
<paramref name="value"/>. If <paramref name="value"/> is equal to <see cref="F:System.Double.NegativeInfinity"/>, returns -1. If value is equal to <see cref="F:System.Double.PositiveInfinity"/>,
   returns 1. If value is equal to <see cref="F:System.Double.NaN"/>, returns <see cref="F:System.Double.NaN"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">Multiply by <pi/>/180 to convert degrees to radians.</block>
							</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="M:System.Math.Tanh(System.Double)"/> method.</para>
							<code lang="C#">using System;

public class MathTanhExample
{

   public static void Main()
   {

      Double d1 = Math.Tanh(0);
      Double d2 = Math.Tanh(Math.PI);
      Console.WriteLine("Math.Tanh(0) returns {0}", d1);
      Console.WriteLine("Math.Tanh(Math.PI) returns {0}", d2);

   }

}
</code>
							<para>The output is</para>
							<c>
								<para>Math.Tanh(0) returns 0 </para>
								<para>Math.Tanh(Math.PI) returns 0.99627207622075</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="NotFiniteNumberException" FullName="System.NotFiniteNumberException" FullNameSP="System_NotFiniteNumberException">
			<TypeSignature Language="ILASM" Value=".class public serializable NotFiniteNumberException extends System.ArithmeticException"/>
			<TypeSignature Language="C#" Value="public class NotFiniteNumberException : ArithmeticException"/>
			<MemberOfLibrary>ExtendedNumerics</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents the error that occurs when an arithmetic operation cannot be performed on a floating-point value that
      is not a finite number.</para>
				</summary>
				<remarks>
					<para>This exception is thrown when an operand of an arithmetic operation is, and
      is not permitted to be, one of the following:</para>
					<list type="bullet">
						<item>
							<term> Positive infinity</term>
						</item>
						<item>
							<term> Negative infinity</term>
						</item>
						<item>
							<term> NaN (Not-a-Number)</term>
						</item>
					</list>
					<para>
						<block subset="none" type="note">Operations involving <see cref="T:System.Double"/> or <see cref="T:System.Single"/> operations throw
this exception.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ArithmeticException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public NotFiniteNumberException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.NotFiniteNumberException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.NotFiniteNumberException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "The number encountered was not a
   finite quantity." This message takes into account the current system culture. </para>
							<para>This constructor initializes the <see cref="P:System.NotFiniteNumberException.OffendingNumber"/> property to zero. The <see cref="!:System.NotFiniteNumberException.InnerException"/> 
property is initialized to <see langword="null"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(float64 offendingNumber)"/>
					<MemberSignature Language="C#" Value="public NotFiniteNumberException(double offendingNumber);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="offendingNumber" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.NotFiniteNumberException"/>
class.</para>
						</summary>
						<param name="offendingNumber">A <see cref="T:System.Double"/> that specifies the value of the argument that caused the Exception.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.NotFiniteNumberException.Message"/> property of the new instance to a system-supplied
   message that describes the error, such as "The number encountered was not a
   finite quantity." This message takes into account the current system
   culture.</para>
							<para>This constructor initializes the <see cref="P:System.NotFiniteNumberException.OffendingNumber"/> property using <paramref name="offendingNumber"/>. The <see cref="!:System.NotFiniteNumberException.InnerException"/> property is initialized to 
<see langword="null"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public NotFiniteNumberException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.NotFiniteNumberException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.NotFiniteNumberException.Message"/> property of the new instance
   using <paramref name="message"/> , and
   initializes the <see cref="P:System.NotFiniteNumberException.OffendingNumber"/>
   property to zero. If <paramref name="message"/> is <see langword="null"/>, the <see cref="!:System.NotFiniteNumberException.Message"/> property is initialized to the system-supplied message
   provided by the constructor that takes no arguments. </para>
							<para> The <see cref="!:System.NotFiniteNumberException.InnerException"/>
property is initialized to <see langword="null"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, float64 offendingNumber)"/>
					<MemberSignature Language="C#" Value="public NotFiniteNumberException(string message, double offendingNumber);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="offendingNumber" Type="System.Double"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs a new instance of the <see cref="T:System.NotFiniteNumberException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="offendingNumber">A <see cref="T:System.Double"/> that specifies the value of the argument that caused the current Exception.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.NotFiniteNumberException.Message"/> property of the new instance using <paramref name="message"/> and
   the <see langword="OffendingNumber"/> property using <paramref name="offendingNumber"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.NotFiniteNumberException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments.</para>
							<para> The <see cref="!:System.NotFiniteNumberException.InnerException"/> property is initialized to
<see langword="null"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message, float64 offendingNumber, class System.Exception innerException)"/>
					<MemberSignature Language="C#" Value="public NotFiniteNumberException(string message, double offendingNumber, Exception innerException);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
						<Parameter Name="offendingNumber" Type="System.Double"/>
						<Parameter Name="innerException" Type="System.Exception"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.NotFiniteNumberException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<param name="offendingNumber">A <see cref="T:System.Double"/> that specifies the value of the argument that caused the current exception.</param>
						<param name="innerException">An instance of <see cref="T:System.Exception"/> that is the cause of the current exception. If <paramref name="innerException"/> is non-null, then the current exception was raised in a catch block handling <paramref name="innerException"/>.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.NotFiniteNumberException.Message"/> property of the new instance using <paramref name="message"/>, the
<see cref="P:System.NotFiniteNumberException.OffendingNumber"/> property using <paramref name="offendingNumber"/>, and the <see cref="!:System.NotFiniteNumberException.InnerException"/> property using <paramref name="innerException"/>. If <paramref name="message"/> is 
<see langword="null"/>, the <see cref="!:System.NotFiniteNumberException.Message"/> property is initialized to the system-supplied message 
   provided by the constructor that takes no arguments. </para>
							<para>
								<block subset="none" type="note">For information on inner exceptions, see
<see cref="P:System.Exception.InnerException"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OffendingNumber">
					<MemberSignature Language="ILASM" Value=".property float64 OffendingNumber { public hidebysig specialname instance float64 get_OffendingNumber() }"/>
					<MemberSignature Language="C#" Value="public double OffendingNumber { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Double</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the value of the argument that caused the current Exception.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Double"/> that contains the invalid value.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The <see cref="P:System.NotFiniteNumberException.OffendingNumber"/>
property returns the same value as was passed into the
constructor, or zero if no value was supplied.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Single" FullName="System.Single" FullNameSP="System_Single">
			<TypeSignature Language="ILASM" Value=".class public sequential sealed serializable Single extends System.ValueType implements System.IComparable, System.IFormattable"/>
			<TypeSignature Language="C#" Value="public struct Single : IComparable, IFormattable"/>
			<MemberOfLibrary>ExtendedNumerics</MemberOfLibrary>
			<AssemblyInfo>
				<AssemblyName>mscorlib</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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents a 32-bit single-precision floating-point number.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Single"/> is a 32-bit single 
   precision floating-point type that represents values ranging from approximately
   1.5E-45 to 3.4E+38 and from approximately -1.5E-45 to -3.4E+38 with a precision of 7 decimal
   digits. The <see cref="T:System.Single"/> type conforms to standard IEC 60559:1989, Binary
   Floating-point Arithmetic for Microprocessor Systems. </para>
					<para>A <see cref="T:System.Single"/> can
represent the following values:</para>
					<list type="bullet">
						<item>
							<term>
      
      The finite set of non-zero values of the form <paramref name="s"/> * <paramref name="m"/> * 2<sup>e</sup>, where s is 1 or -1, and 0 &lt; <paramref name="m"/>
   &lt; 2<sup>24</sup> and -149 &lt;= <paramref name="e"/> &lt;= 104.</term>
						</item>
						<item>
							<term>
      
      Positive infinity and negative infinity. Infinities are produced by
      operations that produce results with a magnitude greater than that which can
      be represented by a <see cref="T:System.Single"/>, such as dividing a non-zero number by zero. For
      example, using <see cref="T:System.Single"/> operands, <c>1.0 / 0.0</c> yields positive infinity, and <c>-1.0 / 0.0</c> yields negative infinity. Operations
   include passing parameters and returning values.</term>
						</item>
						<item>
							<term>
      
      The <paramref name="Not-a-Number"/> value (NaN). NaN values are produced by invalid
      floating-point operations, such as dividing zero by zero.</term>
						</item>
					</list>
					<para>When performing binary operations, if one of the
   operands is a floating-point type (<see cref="T:System.Double"/> or <see cref="T:System.Single"/>
   ), then the other operand is
   required to be an integral type or a floating-point type and the operation is
   evaluated as follows:</para>
					<list type="bullet">
						<item>
							<term>
      
      If one of the operands is of an integral type, then
      that operand is converted to the floating-point type of the other operand.</term>
						</item>
						<item>
							<term>
      
      Then, if either of the operands is of type <see cref="T:System.Double"/>, the other operand is converted to
   <see cref="T:System.Double"/>, and
      the operation is performed using at least the range and precision of the
   <see cref="T:System.Double"/> type.
      For numeric operations, the type of the result is <see cref="T:System.Double"/>.</term>
						</item>
						<item>
							<term>
      
      Otherwise, the operation is performed using at least the range and
      precision of the <see cref="T:System.Single"/> type and, for numeric operations, the type of the
      result is <see cref="T:System.Single"/>.</term>
						</item>
					</list>
					<para>The floating-point operators, including the assignment operators, do not
   throw exceptions. Instead, in exceptional situations, the result of a
   floating-point operation is zero, infinity, or NaN, as described below:</para>
					<list type="bullet">
						<item>
							<term>
      
      If the result of a floating-point operation is too
      small for the destination format, the result of the operation is zero.</term>
						</item>
						<item>
							<term>
      
      If the magnitude of the result of a floating-point
      operation is too large for the destination format, the result of the operation
      is positive infinity or negative infinity.</term>
						</item>
						<item>
							<term>
      
      If a floating-point operation is invalid, the result
      of the operation is NaN.</term>
						</item>
						<item>
							<term>
      
      If one or both operands of a floating-point operation are NaN, the result
      of the operation is NaN.</term>
						</item>
					</list>
					<para>Conforming implementations of the CLI are permitted to perform floating-point
   operations using a precision that is higher than that required by the <see cref="T:System.Single"/> type. For
   example, hardware architectures that support an "extended" or "long double"
   floating-point type with greater range and precision than the <see cref="T:System.Single"/> type could implicitly perform all floating-point
   operations using this higher precision type. Expressions evaluated using a
   higher precision may cause a finite result to be produced instead of an
   infinity.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.ValueType</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IComparable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.IFormattable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName="CompareTo">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual int32 CompareTo(object value)"/>
					<MemberSignature Language="C#" Value="public int CompareTo(object value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the sort order of the current instance compared
      to the specified <see cref="T:System.Object"/> .</para>
						</summary>
						<param name="value">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing a value that reflects the sort order of the
   current instance as compared to <paramref name="value"/>. The following table defines the
   conditions under which the returned value is a negative number, zero, or a
   positive number.</para>
							<list type="table">
								<listheader>
									<term>Return Value</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Any
         negative
         number</term>
									<description>
										<para>Current instance &lt; <paramref name="value"/>.</para>
										<para>Current instance is a NaN and <paramref name="value"/> is
      not a NaN and is not a null reference.</para>
									</description>
								</item>
								<item>
									<term> Zero</term>
									<description>
										<para>Current instance == <paramref name="value"/> .</para>
										<para>Current instance and <paramref name="value"/> are both NaN,
   positive infinity, or negative infinity.</para>
									</description>
								</item>
								<item>
									<term> Any positive number</term>
									<description>
										<para>Current instance &gt; <paramref name="value"/>.</para>
										<para>
											<paramref name="value"/> is a null reference.</para>
										<para>Current instance is not a NaN and <paramref name="value"/>
is a NaN.</para>
									</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="value"/> is not a null reference and is not of type <see cref="T:System.Single"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">
      This method is implemented to support the <see cref="T:System.IComparable"/> interface.
      Note that, although a NaN is not considered to be equal to another NaN (even
      itself), the <see cref="T:System.IComparable"/> interface requires that
      A.CompareTo(A)
      return zero.
   </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Epsilon">
					<MemberSignature Language="ILASM" Value=".field public static literal float32 Epsilon = (float)1.401298E-45"/>
					<MemberSignature Language="C#" Value="public const float Epsilon = (float)1.401298E-45;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Represents the smallest positive <see cref="T:System.Single"/> value
   greater than zero.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 1.401298E-45.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Equals">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool Equals(object obj)"/>
					<MemberSignature Language="C#" Value="public override bool Equals(object obj);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="obj" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the specified
   <see cref="T:System.Object"/> represent the same type and value.</para>
						</summary>
						<param name="obj">The <see cref="T:System.Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="obj"/> represents the same type and value as the current
   instance, otherwise <see langword="false"/>
   . If <paramref name="obj"/> is
   a null reference or is not an instance of <see cref="T:System.Single"/>, returns <see langword="false"/>. If either <paramref name="obj"/> or the current
   instance is a NaN and the other is not, returns <see langword="false"/>. If
<paramref name="obj"/> and the current instance are both NaN, positive infinity, or negative 
   infinity, returns <see langword="true"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">
      This method overrides <see cref="M:System.Object.Equals(System.Object)"/>.
   </block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for this instance.</para>
						</returns>
						<remarks>
							<para>
 The algorithm used to generate the hash code is
 unspecified.
 </para>
							<para>
								<block subset="none" type="note"> 
This method overrides <see cref="M:System.Object.GetHashCode"/>.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsInfinity">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsInfinity(float32 f)"/>
					<MemberSignature Language="C#" Value="public static bool IsInfinity(float f);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="f" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the specified <see cref="T:System.Single"/> represents an infinity,
 which can be either positive or negative.</para>
						</summary>
						<param name="f">The <see cref="T:System.Single"/> to be checked.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="f "/>represents a
 positive or negative infinity value; otherwise <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">
 Floating-point operations return positive or negative
 infinity values to signal an overflow condition.
 </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsNaN">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsNaN(float32 f)"/>
					<MemberSignature Language="C#" Value="public static bool IsNaN(float f);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="f" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the value of the specified <see cref="T:System.Single"/>
is undefined (Not-a-Number).</para>
						</summary>
						<param name="f">The <see cref="T:System.Single"/> to be checked.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="f"/> represents a NaN
 value; otherwise <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note"> Floating-point operations return NaN 
 values to signal that the result of the operation is undefined. For example,
 dividing (Single) 0.0 by 0.0 results in a NaN value.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsNegativeInfinity">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsNegativeInfinity(float32 f)"/>
					<MemberSignature Language="C#" Value="public static bool IsNegativeInfinity(float f);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="f" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified <see cref="T:System.Single"/>
represents a negative infinity value.</para>
						</summary>
						<param name="f">The <see cref="T:System.Single"/> to be checked.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="f"/> represents a
 negative infinity value; otherwise <see langword="false"/>
 .</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">
 Floating-point operations return negative infinity
 values to signal an overflow condition.
 </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsPositiveInfinity">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsPositiveInfinity(float32 f)"/>
					<MemberSignature Language="C#" Value="public static bool IsPositiveInfinity(float f);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="f" Type="System.Single"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the specified <see cref="T:System.Single"/>
represents a positive infinity value.</para>
						</summary>
						<param name="f">The <see cref="T:System.Single"/> to be checked.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="f"/> represents a
 positive infinity value; otherwise <see langword="false"/>
 .</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">
Floating-point operations return positive infinity
 values to signal an overflow condition.
 </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxValue">
					<MemberSignature Language="ILASM" Value=".field public static literal float32 MaxValue = (float)3.402823E+38"/>
					<MemberSignature Language="C#" Value="public const float MaxValue = (float)3.402823E+38;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Contains the maximum positive value for the <see cref="T:System.Single"/> type.</para>
						</summary>
						<remarks>
							<para>The value of this constant is 3.40282346638528859E+38 
      converted to <see cref="T:System.Single"/>
      .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinValue">
					<MemberSignature Language="ILASM" Value=".field public static literal float32 MinValue = (float)-3.402823E+38"/>
					<MemberSignature Language="C#" Value="public const float MinValue = (float)-3.402823E+38;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Contains the minimum (most negative) value for the
   <see cref="T:System.Single"/>
   type.</para>
						</summary>
						<remarks>
							<para> The value of this constant is -3.40282346638528859E+38 
      converted to <see cref="T:System.Single"/>
      .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NaN">
					<MemberSignature Language="ILASM" Value=".field public static literal float32 NaN = (float)0.0 / (float)0.0"/>
					<MemberSignature Language="C#" Value="public const float NaN = (float)0.0 / (float)0.0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NaN</MemberValue>
					<Docs>
						<summary>
							<para> Represents an undefined result of operations involving 
   <see cref="T:System.Single"/> 
   .</para>
						</summary>
						<remarks>
							<para>Not-a-Number (NaN) values are returned when the result of 
      a <see cref="T:System.Single"/>
      operation is undefined.</para>
							<para>A NaN value is not equal to any other value, including another NaN value. </para>
							<para>The value of this field is obtained by dividing <see cref="T:System.Single"/> zero by zero.</para>
							<para>
								<block subset="none" type="note">
									<see cref="F:System.Single.NaN"/> 
represents one of many possible NaN values. To test whether a
<see cref="T:System.Single"/> value is 
a NaN, use the <see cref="M:System.Single.IsNaN(System.Single)"/> method.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NegativeInfinity">
					<MemberSignature Language="ILASM" Value=".field public static literal float32 NegativeInfinity = (float)-1.0 / (float)0.0"/>
					<MemberSignature Language="C#" Value="public const float NegativeInfinity = (float)-1.0 / (float)0.0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Represents a negative infinity of type <see cref="T:System.Single"/> .</para>
						</summary>
						<remarks>
							<para>The value of this constant can be obtained by dividing a negative <see cref="T:System.Single"/> by zero.</para>
							<para>
								<block subset="none" type="note">
   To test whether a <see cref="T:System.Single"/> value is a negative infinity value, use the <see cref="M:System.Single.IsNegativeInfinity(System.Single)"/> method.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 Parse(string s)"/>
					<MemberSignature Language="C#" Value="public static float Parse(string s);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Single"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Float"/> and/or <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> style.</param>
						<returns>
							<para>The <see cref="T:System.Single"/> value obtained from <paramref name="s"/>. If the parsed value is
   less than <see cref="F:System.Single.MinValue"/>, this method returns
<see cref="F:System.Single.NegativeInfinity"/> . If the parsed
   value is greater than <see cref="F:System.Single.MaxValue"/>, this method returns <see cref="F:System.Single.PositiveInfinity"/>
   . If <paramref name="s"/> equals
<see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol"/>, this method returns 
<see cref="F:System.Single.NaN"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Single.Parse(System.String)"/> is equivalent to <see cref="M:System.Single.Parse(System.String)"/>(<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Float"/>|
<see cref="F:System.Globalization.NumberStyles.AllowThousands"/>, <see langword="null"/> ).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting information in a <see cref="T:System.Globalization.NumberFormatInfo"/>
initialized for the current system culture.
<block subset="none" type="note">
   
   For more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 Parse(string s, valuetype System.Globalization.NumberStyles style)"/>
					<MemberSignature Language="C#" Value="public static float Parse(string s, NumberStyles style);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Single"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/> . </param>
						<param name="style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Float"/> and <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> styles. </param>
						<returns>
							<para>The <see cref="T:System.Single"/> value obtained from <paramref name="s"/>. If the parsed value is
   less than <see cref="F:System.Single.MinValue"/>, this method returns
<see cref="F:System.Single.NegativeInfinity"/> . If the parsed
   value is greater than <see cref="F:System.Single.MaxValue"/>, this method returns <see cref="F:System.Single.PositiveInfinity"/> . If <paramref name="s"/>
   equals <see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol"/>, this method returns
<see cref="F:System.Single.NaN"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Single.Parse(System.String)"/> is equivalent to <see cref="M:System.Single.Parse(System.String)"/> (<paramref name="s"/>, <paramref name="style"/>, null).</para>
							<para>The string <paramref name="s"/> is parsed using the formatting information in a <see cref="T:System.Globalization.NumberFormatInfo"/>
initialized for the current system culture.
<block subset="none" type="note">For more information, see <see cref="P:System.Globalization.NumberFormatInfo.CurrentInfo"/>.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 Parse(string s, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static float Parse(string s, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Single"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Float"/> and/or <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> style.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>.</param>
						<returns>
							<para>The <see cref="T:System.Single"/>
value obtained from <paramref name="s"/>. If the parsed value is less than <see cref="F:System.Single.MinValue"/>, this method returns
<see cref="F:System.Single.NegativeInfinity"/> 
. If the parsed value is greater than <see cref="F:System.Single.MaxValue"/>, this method returns <see cref="F:System.Single.PositiveInfinity"/>
. If <paramref name="s"/> equals <see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol"/>, this method returns
<see cref="F:System.Single.NaN"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s "/>is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Single.Parse(System.String)"/> is equivalent to <see cref="M:System.Single.Parse(System.String)"/> (<paramref name="s"/>, <see cref="F:System.Globalization.NumberStyles.Float"/> | <see cref="F:System.Globalization.NumberStyles.AllowThousands"/>
, <paramref name="provider"/>).</para>
							<para>The string <paramref name="s"/> is parsed using the culture-specific formatting
information from the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If <paramref name="provider"/> is
<see langword="null"/> 
or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from <paramref name="provider"/>, the formatting information
for the current system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static float32 Parse(string s, valuetype System.Globalization.NumberStyles style, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public static float Parse(string s, NumberStyles style, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="s" Type="System.String"/>
						<Parameter Name="style" Type="System.Globalization.NumberStyles"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified <see cref="T:System.String"/> converted to a <see cref="T:System.Single"/> value.</para>
						</summary>
						<param name="s">A <see cref="T:System.String"/> containing the value to convert. The string is interpreted using the style specified by <paramref name="style"/> .</param>
						<param name="style">Zero or more <see cref="T:System.Globalization.NumberStyles"/> values that specify the style of <paramref name="s"/>. Specify multiple values for <paramref name="style"/> using the bitwise OR operator. If <paramref name="style"/> is a null reference, the string is interpreted using the <see cref="F:System.Globalization.NumberStyles.Float"/> and <see cref="F:System.Globalization.NumberStyles.AllowThousands"/> styles.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information about <paramref name="s"/>. </param>
						<returns>
							<para>The <see cref="T:System.Single"/> value obtained from <paramref name="s"/>. If the parsed value is
   less than <see cref="F:System.Single.MinValue"/>, this method returns
<see cref="F:System.Single.NegativeInfinity"/> . If the parsed
   value is greater than <see cref="F:System.Single.MaxValue"/>, this method returns <see cref="F:System.Single.PositiveInfinity"/> . If <paramref name="s"/>
   equals <see cref="P:System.Globalization.NumberFormatInfo.NaNSymbol"/>, this method returns NaN.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="s"/> is a null reference.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="s"/> is not in the correct style.</exception>
						<remarks>
							<para>The string <paramref name="s"/> is parsed using the culture-specific formatting
   information from the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>. If
<paramref name="provider"/> is 
<see langword="null"/> or a
<see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from <paramref name="provider"/> 
, the formatting information for the current
system culture is used.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PositiveInfinity">
					<MemberSignature Language="ILASM" Value=".field public static literal float32 PositiveInfinity = (float)1.0 / (float)0.0"/>
					<MemberSignature Language="C#" Value="public const float PositiveInfinity = (float)1.0 / (float)0.0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Single</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Infinity</MemberValue>
					<Docs>
						<summary>
							<para> Represents a positive infinity of type <see cref="T:System.Single"/>.</para>
						</summary>
						<remarks>
							<para>The value of this constant can be obtained by dividing a positive <see cref="T:System.Single"/> by zero.</para>
							<para>
								<block subset="none" type="note">
   To test whether a <see cref="T:System.Single"/> value is a positive infinity value, use the <see cref="M:System.Single.IsPositiveInfinity(System.Single)"/> method.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(string format, class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format, IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> containing a character that specifies the format of the returned string, optionally followed by a non-negative integer that specifies the precision of the number in the returned <see cref="T:System.String"/>.</param>
						<param name="provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> instance containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted as
   specified by <paramref name="format"/>. The string takes into account the information in
   the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by <paramref name="provider"/>.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from
<paramref name="provider"/>, the formatting information for the current system culture is 
   used.</para>
							<para>If <paramref name="format"/> is a null reference, the general format specifier "G" is
used.</para>
							<para>The following table lists the <paramref name="format"/> characters that are valid
for the <see cref="T:System.Single"/>
type.</para>
							<list type="table">
								<listheader>
									<term>Format Characters</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> "C", "c"</term>
									<description>Currency format.</description>
								</item>
								<item>
									<term> "E", "e"</term>
									<description>Exponential notation format.</description>
								</item>
								<item>
									<term> "F", "f"</term>
									<description>Fixed-point format.</description>
								</item>
								<item>
									<term> "G", "g"</term>
									<description>General format.</description>
								</item>
								<item>
									<term> "N", "n"</term>
									<description>Number format.</description>
								</item>
								<item>
									<term> "P", "p"</term>
									<description>Percent format.</description>
								</item>
								<item>
									<term> "R", "r"</term>
									<description>Round-trip format.</description>
								</item>
							</list>
							<block subset="none" type="note">
								<para>For a detailed description of the format strings, see the <see cref="T:System.IFormattable"/>
interface.</para>
								<para>This method is implemented to support the <see cref="T:System.IFormattable"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual string ToString(class System.IFormatProvider provider)"/>
					<MemberSignature Language="C#" Value="public string ToString(IFormatProvider provider);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="provider" Type="System.IFormatProvider"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the
   current instance. </para>
						</summary>
						<param name=" provider">A <see cref="T:System.IFormatProvider"/> that supplies a <see cref="T:System.Globalization.NumberFormatInfo"/> containing culture-specific formatting information.</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string takes into account the
   formatting information in the <see cref="T:System.Globalization.NumberFormatInfo"/> instance supplied by
<paramref name="provider"/>.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Single.ToString"/> is equivalent to <see cref="M:System.Single.ToString"/> (<see langword="null"/> ,
<paramref name="provider"/> 
).</para>
							<para>If <paramref name="provider"/> is 
<see langword="null"/> or a <see cref="T:System.Globalization.NumberFormatInfo"/> cannot be obtained from <paramref name="provider"/>, the
formatting information for the current system culture is used.</para>
							<para>
								<block subset="none" type="note">
   
   The general format specifier formats the number in either
   fixed-point or exponential notation form. For a detailed description of the
   general format, see the <see cref="T:System.IFormattable"/>
   interface.
</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of the current instance formatted using
   the general format specifier, ("G"). The string
   takes into account the current system culture.</para>
						</returns>
						<remarks>
							<para>This version of <see cref="M:System.Single.ToString"/> is equivalent to <see cref="M:System.Single.ToString"/> (<see langword="null"/>, 
<see langword="null"/> ).</para>
							<block subset="none" type="note">
								<para>The general format specifier formats the number in either
      fixed-point or exponential notation form. For a detailed description of the
      general format, see the <see cref="T:System.IFormattable"/>
      interface.</para>
								<para>This method overrides <see cref="M:System.Object.ToString"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToString">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string ToString(string format)"/>
					<MemberSignature Language="C#" Value="public string ToString(string format);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="format" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance. </para>
						</summary>
						<param name="format">A <see cref="T:System.String"/> that specifies the format of the returned string. <block subset="none" type="note">For a list of valid values, see <see cref="M:System.Single.ToString"/> (<see cref="T:System.String"/>, <see cref="T:System.IFormatProvider"/> ).</block>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> representation of
   the current instance formatted as specified by <paramref name="format"/>
   . The string takes into account the current system
   culture.</para>
						</returns>
						<exception cref="T:System.FormatException">
							<paramref name="format"/> is invalid.</exception>
						<remarks>
							<para>This version of <see cref="M:System.Single.ToString"/> is equivalent to <see cref="M:System.Single.ToString"/> (<paramref name="format"/>, 
<see langword="null"/> ).</para>
							<para>If <paramref name="format"/> is a null reference, the general format specifier "G" is
used.</para>
						</remarks>
						<example>
							<para>The following example shows the effects of various
      formats on the string returned by <see cref="M:System.Single.ToString"/>
      .</para>
							<code lang="C#">using System;
class test {
 public static void Main() {
   float f = 1234.567f;
   Console.WriteLine(f);
   string[] fmts = {"C","E","e5","F","G","N","P","R"};
   for (int i=0;i&lt;fmts.Length;i++)
     Console.WriteLine("{0}: {1}", 
       fmts[i],f.ToString(fmts[i]));
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>1234.567</para>
								<para>C: $1,234.57</para>
								<para>E: 1.234567E+003</para>
								<para>e5: 1.23457e+003</para>
								<para>F: 1234.57</para>
								<para>G: 1234.567</para>
								<para>N: 1,234.57</para>
								<para>P: 123,456.70 %</para>
								<para>R: 1234.567</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
	</Types>
	<Types Library="Networking">
		<Type Name="AddressFamily" FullName="System.Net.Sockets.AddressFamily" FullNameSP="System_Net_Sockets_AddressFamily">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable AddressFamily extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum AddressFamily"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Specifies the addressing schemes used by the <see cref="T:System.Net.Sockets.Socket"/> class.</para>
				</summary>
				<remarks>
					<para>A <see cref="T:System.Net.Sockets.AddressFamily"/> member is specified to the
<see cref="T:System.Net.Sockets.Socket"/> class constructors to identify 
   the addressing scheme that the socket instance will use to resolve an address. For example,
<see cref="F:System.Net.Sockets.AddressFamily.InterNetwork"/> indicates that an IP version 4 address is 
   expected when a <see cref="T:System.Net.Sockets.Socket"/>
   instance connects to an endpoint.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="AppleTalk">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily AppleTalk = 16"/>
					<MemberSignature Language="C#" Value="AppleTalk = 16;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AppleTalk</MemberValue>
					<Docs>
						<summary>
							<para> AppleTalk address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Atm">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Atm = 22"/>
					<MemberSignature Language="C#" Value="Atm = 22;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Atm</MemberValue>
					<Docs>
						<summary>
							<para>Native Asynchronous Transfer Mode (ATM) services address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Banyan">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Banyan = 21"/>
					<MemberSignature Language="C#" Value="Banyan = 21;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Banyan</MemberValue>
					<Docs>
						<summary>
							<para> Banyan address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Ccitt">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Ccitt = 10"/>
					<MemberSignature Language="C#" Value="Ccitt = 10;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Ccitt</MemberValue>
					<Docs>
						<summary>
							<para>Addresses for CCITT protocols, such as X.25.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Chaos">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Chaos = 5"/>
					<MemberSignature Language="C#" Value="Chaos = 5;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Chaos</MemberValue>
					<Docs>
						<summary>
							<para>Address for MIT CHAOS protocols.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Cluster">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Cluster = 24"/>
					<MemberSignature Language="C#" Value="Cluster = 24;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Cluster</MemberValue>
					<Docs>
						<summary>
							<para>Address for Microsoft cluster products.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DataKit">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily DataKit = 9"/>
					<MemberSignature Language="C#" Value="DataKit = 9;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>DataKit</MemberValue>
					<Docs>
						<summary>
							<para>Address for Datakit protocols.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DataLink">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily DataLink = 13"/>
					<MemberSignature Language="C#" Value="DataLink = 13;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>DataLink</MemberValue>
					<Docs>
						<summary>
							<para> Direct data-link interface address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DecNet">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily DecNet = 12"/>
					<MemberSignature Language="C#" Value="DecNet = 12;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>DecNet</MemberValue>
					<Docs>
						<summary>
							<para> DECnet address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Ecma">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Ecma = 8"/>
					<MemberSignature Language="C#" Value="Ecma = 8;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Ecma</MemberValue>
					<Docs>
						<summary>
							<para>European Computer Manufacturers Association (ECMA) address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FireFox">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily FireFox = 19"/>
					<MemberSignature Language="C#" Value="FireFox = 19;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>FireFox</MemberValue>
					<Docs>
						<summary>
							<para> FireFox address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HyperChannel">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily HyperChannel = 15"/>
					<MemberSignature Language="C#" Value="HyperChannel = 15;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>HyperChannel</MemberValue>
					<Docs>
						<summary>
							<para> NSC Hyperchannel address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Ieee12844">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Ieee12844 = 25"/>
					<MemberSignature Language="C#" Value="Ieee12844 = 25;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Ieee12844</MemberValue>
					<Docs>
						<summary>
							<para> IEEE 1284.4 workgroup address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ImpLink">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily ImpLink = 3"/>
					<MemberSignature Language="C#" Value="ImpLink = 3;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ImpLink</MemberValue>
					<Docs>
						<summary>
							<para>ARPANET IMP address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="InterNetwork">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily InterNetwork = 2"/>
					<MemberSignature Language="C#" Value="InterNetwork = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>InterNetwork</MemberValue>
					<Docs>
						<summary>
							<para> Address for IP version 4.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="InterNetworkV6">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily InterNetworkV6 = 23"/>
					<MemberSignature Language="C#" Value="InterNetworkV6 = 23;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>InterNetworkV6</MemberValue>
					<Docs>
						<summary>
							<para>Address for IP version 6.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Ipx">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Ipx = 6"/>
					<MemberSignature Language="C#" Value="Ipx = 6;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NS</MemberValue>
					<Docs>
						<summary>
							<para>Internetwork Packet Exchange (IPX) or Sequenced Packet 
 Exchange (SPX) address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Irda">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Irda = 26"/>
					<MemberSignature Language="C#" Value="Irda = 26;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Irda</MemberValue>
					<Docs>
						<summary>
							<para> Infrared Data Association (IrDA) address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Iso">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Iso = 7"/>
					<MemberSignature Language="C#" Value="Iso = 7;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Osi</MemberValue>
					<Docs>
						<summary>
							<para>Address for ISO protocols.</para>
							<block subset="none" type="note">
								<para>Multiple names are defined for this value based on prior art. 
         This value is identical to <see cref="F:System.Net.Sockets.AddressFamily.Osi"/>.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Lat">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Lat = 14"/>
					<MemberSignature Language="C#" Value="Lat = 14;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Lat</MemberValue>
					<Docs>
						<summary>
							<para> LAT address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NetBios">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily NetBios = 17"/>
					<MemberSignature Language="C#" Value="NetBios = 17;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NetBios</MemberValue>
					<Docs>
						<summary>
							<para> NetBios address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NetworkDesigners">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily NetworkDesigners = 28"/>
					<MemberSignature Language="C#" Value="NetworkDesigners = 28;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NetworkDesigners</MemberValue>
					<Docs>
						<summary>
							<para> Address for Network Designers OSI gateway-enabled protocols.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NS">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily NS = 6"/>
					<MemberSignature Language="C#" Value="NS = 6;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NS</MemberValue>
					<Docs>
						<summary>
							<para>Address for Xerox NS protocols.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Osi">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Osi = 7"/>
					<MemberSignature Language="C#" Value="Osi = 7;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Osi</MemberValue>
					<Docs>
						<summary>
							<para>Address for ISO protocols.</para>
							<block subset="none" type="note">
								<para>Multiple names are defined for this value based on prior art. 
         This value is identical to <see cref="F:System.Net.Sockets.AddressFamily.Iso"/>.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Pup">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Pup = 4"/>
					<MemberSignature Language="C#" Value="Pup = 4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Pup</MemberValue>
					<Docs>
						<summary>
							<para>Address for PUP protocols.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Sna">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Sna = 11"/>
					<MemberSignature Language="C#" Value="Sna = 11;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Sna</MemberValue>
					<Docs>
						<summary>
							<para>IBM SNA address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Unix">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Unix = 1"/>
					<MemberSignature Language="C#" Value="Unix = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Unix</MemberValue>
					<Docs>
						<summary>
							<para>Address is local to the host.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Unknown">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Unknown = -1"/>
					<MemberSignature Language="C#" Value="Unknown = -1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Unknown</MemberValue>
					<Docs>
						<summary>
							<para>Used to indicate an uninitialized state. This member is not to be used when
      constructing instances of the <see cref="T:System.Net.Sockets.Socket"/> class.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Unspecified">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily Unspecified = 0"/>
					<MemberSignature Language="C#" Value="Unspecified = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Unspecified</MemberValue>
					<Docs>
						<summary>
							<para>Unspecified address family.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="VoiceView">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.AddressFamily VoiceView = 18"/>
					<MemberSignature Language="C#" Value="VoiceView = 18;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>VoiceView</MemberValue>
					<Docs>
						<summary>
							<para>VoiceView address.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="AuthenticationManager" FullName="System.Net.AuthenticationManager" FullNameSP="System_Net_AuthenticationManager">
			<TypeSignature Language="ILASM" Value=".class public AuthenticationManager extends System.Object"/>
			<TypeSignature Language="C#" Value="public class AuthenticationManager"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Manages the authentication modules called during the client authentication
      process.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Net.AuthenticationManager"/> class manages
   authentication modules that are responsible for client authentication.
<block subset="none" type="note">The <see cref="T:System.Net.AuthenticationManager"/> is called by <see cref="T:System.Net.WebRequest"/> instances to provide information 
   that is sent to servers to authenticate the client. The authentication process
   may consist of requests to an authentication server separate from the resource
   server, as well as any other activities required to properly authenticate a
   client.</block>
					</para>
					<para>The <see cref="T:System.Net.AuthenticationManager"/>
queries registered authentication modules by calling the <see cref="M:System.Net.IAuthenticationModule.Authenticate(System.String,System.Net.WebRequest,System.Net.ICredentials)" qualify="true"/> method for each module. The
first authentication module that returns a <see cref="T:System.Net.Authorization"/> instance is used to authenticate the request. An authentication module, which can be any object that
implements the <see cref="T:System.Net.IAuthenticationModule"/> interface, is registered using the <see cref="M:System.Net.AuthenticationManager.Register(System.Net.IAuthenticationModule)"/>
method. Authentication modules are called in the order in which they are registered.</para>
					<para>Applications typically do not access this type directly;
   it provides authentication services for the <see cref="T:System.Net.WebRequest"/> type.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Authenticate">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Net.Authorization Authenticate(string challenge, class System.Net.WebRequest request, class System.Net.ICredentials credentials)"/>
					<MemberSignature Language="C#" Value="public static Authorization Authenticate(string challenge, WebRequest request, ICredentials credentials);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Authorization</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="challenge" Type="System.String"/>
						<Parameter Name="request" Type="System.Net.WebRequest"/>
						<Parameter Name="credentials" Type="System.Net.ICredentials"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Calls registered authentication modules to find a module that
      responds to the specified authentication challenge.</para>
						</summary>
						<param name="challenge">A <see cref="T:System.String"/> containing the challenge returned by an Internet host. The content of this string is determined by the authentication protocol(s) used by the server that issued the challenge.</param>
						<param name="request">The <see cref="T:System.Net.WebRequest"/> that received <paramref name="challenge"/> .</param>
						<param name="credentials">The <see cref="T:System.Net.ICredentials"/> associated with <paramref name="request"/>. <block subset="none" type="note">The <see cref="P:System.Net.WebRequest.Credentials"/> property of <paramref name="request"/> is used to supply this argument.</block>
						</param>
						<returns>
							<para> A <see cref="T:System.Net.Authorization"/> instance containing the response from the
   authentication module, or <see langword="null"/> if no authentication module
   responded to the challenge.</para>
							<para> Applications do not call this method; it is called by
<see cref="T:System.Net.WebRequest"/> 
instances.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="challenge "/>, <paramref name="request "/>, or <paramref name="credentials "/> is <see langword="null"/>.</exception>
						<remarks>
							<para>The <see cref="M:System.Net.AuthenticationManager.Authenticate(System.String,System.Net.WebRequest,System.Net.ICredentials)"/> method invokes the <see cref="M:System.Net.IAuthenticationModule.Authenticate(System.String,System.Net.WebRequest,System.Net.ICredentials)" qualify="true"/> method of each
   registered authentication module until one of the modules returns a <see cref="T:System.Net.Authorization"/>
   instance. Authentication modules are called in the order in which they were registered via
   the <see cref="M:System.Net.AuthenticationManager.Register(System.Net.IAuthenticationModule)"/>
   method.</para>
							<para>
								<block subset="none" type="note">The <see cref="P:System.Net.Authorization.Message"/> property of the object returned by
this method contains the
client's response to the server challenge contained in <paramref name="challenge"/>
. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PreAuthenticate">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Net.Authorization PreAuthenticate(class System.Net.WebRequest request, class System.Net.ICredentials credentials)"/>
					<MemberSignature Language="C#" Value="public static Authorization PreAuthenticate(WebRequest request, ICredentials credentials);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Authorization</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="request" Type="System.Net.WebRequest"/>
						<Parameter Name="credentials" Type="System.Net.ICredentials"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Attempts to obtain a <see cref="T:System.Net.Authorization"/>
instance used to initiate client authentication.</para>
						</summary>
						<param name="request">A <see cref="T:System.Net.WebRequest"/> containing a request for access to a resource.</param>
						<param name="credentials">The <see cref="T:System.Net.ICredentials"/> associated with <paramref name="request"/> .</param>
						<returns>
							<para> A <see cref="T:System.Net.Authorization"/> instance if an authentication module can provide
   authentication information to be sent with <paramref name="request"/> ;
   otherwise, <see langword="null"/>. If <paramref name="credentials"/>
   is <see langword="null"/>, this method returns <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="request "/>is <see langword="null."/>
							</para>
						</exception>
						<remarks>
							<para>The <see cref="M:System.Net.AuthenticationManager.PreAuthenticate(System.Net.WebRequest,System.Net.ICredentials)"/> method invokes the <see cref="M:System.Net.IAuthenticationModule.PreAuthenticate(System.Net.WebRequest,System.Net.ICredentials)" qualify="true"/> method of each registered
   authentication module until one of the modules returns a <see cref="T:System.Net.Authorization"/>
   instance. Authentication modules are called in the order in which they were
   registered via the <see cref="M:System.Net.AuthenticationManager.Register(System.Net.IAuthenticationModule)"/> method.</para>
							<para>
								<block subset="none" type="note">The <see cref="T:System.Net.Authorization"/> instance contains the
information that will be
sent by a client to initiate authentication instead of waiting for the server to
request it. Authentication modules that support preauthentication allow clients
to improve server efficiency by avoiding extra round trips caused by
authentication challenges.</block>
							</para>
							<para>
								<block subset="none" type="note">If an authorization module supports preauthentication
   of requests, its <see cref="P:System.Net.IAuthenticationModule.CanPreAuthenticate" qualify="true"/>
   property returns <see langword="true"/>. Note that
   preauthentication requires that an authentication of the client has already
   occurred. The information obtained from the initial authentication is used to
   provide the <see cref="P:System.Net.Authorization.Message"/> that is
   sent to the server as an authentication header in
<paramref name="request"/> .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Register">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Register(class System.Net.IAuthenticationModule authenticationModule)"/>
					<MemberSignature Language="C#" Value="public static void Register(IAuthenticationModule authenticationModule);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="authenticationModule" Type="System.Net.IAuthenticationModule"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Adds an authentication module to the list of registered
      authentication modules managed by the authentication manager.</para>
						</summary>
						<param name="authenticationModule">The <see cref="T:System.Net.IAuthenticationModule"/> to register.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="authenticationModule "/> is <see langword="null"/>.</exception>
						<remarks>
							<para>The <see cref="M:System.Net.AuthenticationManager.Register(System.Net.IAuthenticationModule)"/> method adds an authentication
   module to the end of the list of modules managed by the authentication manager.
   Each registered module is required to have a
   unique <see cref="P:System.Net.IAuthenticationModule.AuthenticationType"/>. If a module with the same
<see cref="P:System.Net.IAuthenticationModule.AuthenticationType"/> is already registered, this method removes the 
   registered module, and adds <paramref name="authenticationModule"/> to the end of the
   list. <block subset="none" type="note">Authentication
   modules are called in
   the order in which they were added to the list.</block>
							</para>
							<para>
								<block subset="none" type="note">To remove a module,
   call one of the <see cref="M:System.Net.AuthenticationManager.Unregister(System.Net.IAuthenticationModule)"/>
   
   methods.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RegisteredModules">
					<MemberSignature Language="ILASM" Value=".property class System.Collections.IEnumerator RegisteredModules { public hidebysig static specialname class System.Collections.IEnumerator get_RegisteredModules() }"/>
					<MemberSignature Language="C#" Value="public static IEnumerator RegisteredModules { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.IEnumerator</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a list of registered authentication modules.
      </para>
						</summary>
						<value>
							<para>A <see cref="T:System.Collections.IEnumerator"/> that
   provides access to the list of registered
   authentication modules.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">The <see cref="M:System.Net.AuthenticationManager.Register(System.Net.IAuthenticationModule)"/> method adds modules to the
   list of registered authentication modules, and the <see cref="M:System.Net.AuthenticationManager.Unregister(System.Net.IAuthenticationModule)"/> method removes modules from
   it.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Unregister">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Unregister(class System.Net.IAuthenticationModule authenticationModule)"/>
					<MemberSignature Language="C#" Value="public static void Unregister(IAuthenticationModule authenticationModule);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="authenticationModule" Type="System.Net.IAuthenticationModule"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Removes the specified authentication module from the list of registered modules.</para>
						</summary>
						<param name="authenticationModule">The <see cref="T:System.Net.IAuthenticationModule"/> module to remove.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="authenticationModule "/> is <see langword="null"/>.</exception>
						<exception cref="T:System.InvalidOperationException">
							<paramref name="authenticationModule "/>is not a registered authentication module.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">To add an authentication module to
      the list of registered modules, call the <see cref="M:System.Net.AuthenticationManager.Register(System.Net.IAuthenticationModule)"/>
      method.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Unregister">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Unregister(string authenticationScheme)"/>
					<MemberSignature Language="C#" Value="public static void Unregister(string authenticationScheme);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="authenticationScheme" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Removes the authentication module with the specified
      authentication type from the list of registered modules.</para>
						</summary>
						<param name="authenticationScheme">A <see cref="T:System.String"/> containing the authentication type of the module to remove.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="authenticationScheme "/> is <see langword="null"/>.</exception>
						<exception cref="T:System.InvalidOperationException">There is no registered module with the <paramref name="authenticationScheme "/> authentication type.</exception>
						<remarks>
							<para>The <paramref name="authenticationScheme"/> is required to match
   the value returned by the <see cref="P:System.Net.IAuthenticationModule.AuthenticationType"/> property of a registered authentication module.</para>
							<para>
								<block subset="none" type="note">To add an authentication module to
   the list of registered modules, call the <see cref="M:System.Net.AuthenticationManager.Register(System.Net.IAuthenticationModule)"/>
   method.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Authorization" FullName="System.Net.Authorization" FullNameSP="System_Net_Authorization">
			<TypeSignature Language="ILASM" Value=".class public Authorization extends System.Object"/>
			<TypeSignature Language="C#" Value="public class Authorization"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Supplies authentication messages used to authenticate a client to server.</para>
				</summary>
				<remarks>
					<para> The <see cref="T:System.Net.Authorization"/> class contains authentication information returned by
   a <see cref="T:System.Net.IAuthenticationModule"/> module. <see cref="T:System.Net.Authorization"/> instances are used
   to pass server challenge responses and client preauthentication information. </para>
					<para>
						<block subset="none" type="note">Applications do not create or access instances of this type directly;
   instances of this type are created by authentication modules and used by the
<see cref="T:System.Net.AuthenticationManager"/>.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string token)"/>
					<MemberSignature Language="C#" Value="public Authorization(string token);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="token" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.Authorization"/> class with the specified
   authorization message.</para>
						</summary>
						<param name="token">A <see cref="T:System.String"/> containing the authorization message to be sent to the server.</param>
						<remarks>
							<para>This constructor creates a <see cref="T:System.Net.Authorization"/> instance with the <see cref="P:System.Net.Authorization.Message"/> property set to <paramref name="token "/>and the <see cref="P:System.Net.Authorization.Complete"/> property set to <see langword="true"/>. If <paramref name="token"/> is <see langword="null"/> or a zero-length string, <see cref="P:System.Net.Authorization.Message"/>
is set to <see langword="null"/>. <see cref="P:System.Net.Authorization.ConnectionGroupId"/> is set to
<see langword="null"/>.</para>
							<para>
								<block subset="none" type="note">The <see cref="P:System.Net.Authorization.Complete"/> property
indicates whether the authentication, as defined by the authentication protocol implemented by
the caller, is finished or requires additional information exchange between the client and
server.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string token, bool finished)"/>
					<MemberSignature Language="C#" Value="public Authorization(string token, bool finished);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="token" Type="System.String"/>
						<Parameter Name="finished" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.Authorization"/> class with the specified
   authorization message and completion status.</para>
						</summary>
						<param name="token">A <see cref="T:System.String"/> containing the authentication message to be sent to the server.</param>
						<param name="finished">A <see cref="T:System.Boolean"/> value indicating the completion status of the client authentication. Specify <see langword="true"/> if the authentication is complete; otherwise, <see langword="false"/>. </param>
						<remarks>
							<para>This constructor creates a <see cref="T:System.Net.Authorization"/> instance with the <see cref="P:System.Net.Authorization.Message"/> property set to <paramref name="token "/>and the
<see cref="P:System.Net.Authorization.Complete"/> property set to <paramref name="finished"/>. If <paramref name="token"/> is <see langword="null"/> or 
   a zero-length string, <see cref="P:System.Net.Authorization.Message"/> is set to
<see langword="null"/>. <see cref="P:System.Net.Authorization.ConnectionGroupId"/> is set to 
<see langword="null"/>.</para>
							<para>
								<block subset="none" type="note">The <see cref="P:System.Net.Authorization.Complete"/> property indicates
whether the authentication, as defined by the authentication protocol
implemented by the caller, is finished or requires additional information
exchange between the client and server.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string token, bool finished, string connectionGroupId)"/>
					<MemberSignature Language="C#" Value="public Authorization(string token, bool finished, string connectionGroupId);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="token" Type="System.String"/>
						<Parameter Name="finished" Type="System.Boolean"/>
						<Parameter Name="connectionGroupId" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Net.Authorization"/> class with the specified
   authorization message, completion status, and connection group identifier.
   </para>
						</summary>
						<param name="token">A <see cref="T:System.String"/> containing the authentication message to be sent to the server. </param>
						<param name="finished">A <see cref="T:System.Boolean"/> value indicating the completion status of the authentication. Specify <see langword="true"/> if the authentication is complete; otherwise, <see langword="false"/>. </param>
						<param name="connectionGroupId">A <see cref="T:System.String"/> containing a unique identifier that will be used to identify the authenticated connection, or <see langword="null"/> . </param>
						<remarks>
							<para>This constructor creates a <see cref="T:System.Net.Authorization"/> instance with the <see cref="P:System.Net.Authorization.Message"/> property set to <paramref name="token"/>, the
<see cref="P:System.Net.Authorization.Complete"/> property set to <paramref name="finished"/>, and 
   the <see cref="P:System.Net.Authorization.ConnectionGroupId"/> property set to <paramref name="connectionGroupId"/>. If <paramref name="token"/> is
<see langword="null"/> or a zero-length string, <see cref="P:System.Net.Authorization.Message"/> is set to <see langword="null"/>. If 
<paramref name="connectionGroupId "/> is <see langword="null"/> or a zero-length string, 
<see cref="P:System.Net.Authorization.ConnectionGroupId"/> is set to <see langword="null"/>.</para>
							<block subset="none" type="note">
								<para>The connection group identifier is used to restrict access to the
      server connection established with the current authorization instance. Only
   <see cref="T:System.Net.WebRequest"/>
   instances that have <paramref name="connectionGroupId"/> as their <see cref="P:System.Net.WebRequest.ConnectionGroupName"/>
   property value can use the connection. The connection group information
   set by this constructor is also available in the <see cref="P:System.Net.ServicePoint.ConnectionName"/> property of
   the service point that represents the connection.</para>
								<para>The <see cref="P:System.Net.Authorization.Complete"/> property indicates whether the
authentication, as defined by the authentication protocol implemented by the
caller, is finished or requires additional information exchange between the
client and server.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Complete">
					<MemberSignature Language="ILASM" Value=".property bool Complete { public hidebysig specialname instance bool get_Complete() }"/>
					<MemberSignature Language="C#" Value="public bool Complete { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating the completion status of the authentication.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>if the authentication process is complete; otherwise,
<see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The <see cref="P:System.Net.Authorization.Complete"/> property is set to <see langword="true "/>when the
   authentication process between the client and the server is finished.</para>
							<para>
								<block subset="none" type="note">Some authentication
   modules, such as a Kerberos module, use multiple
   round trips between the client and server to complete an authentication. The authentication module sets the
<see cref="P:System.Net.Authorization.Complete"/> property to 
<see langword="false"/> until the authentication is complete.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ConnectionGroupId">
					<MemberSignature Language="ILASM" Value=".property string ConnectionGroupId { public hidebysig specialname instance string get_ConnectionGroupId() }"/>
					<MemberSignature Language="C#" Value="public string ConnectionGroupId { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the unique identifier for an authenticated connection.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing a unique
   connection identifier, or <see langword="null"/> if no value was specified to the
   constructor for the
   current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The connection group identifier is used to restrict access to the server connection
      established with the current authorization instance. </para>
							<para>
								<block subset="none" type="note">Only <see cref="T:System.Net.WebRequest"/> instances that have <see cref="P:System.Net.Authorization.ConnectionGroupId"/> as
   their <see cref="P:System.Net.WebRequest.ConnectionGroupName"/> property value
   can use the connection. If the value of this property is
<see langword="null"/> , access to the connection is
   not restricted in this manner. The connection group information is also available in
   the <see cref="P:System.Net.ServicePoint.ConnectionName"/> property of the service point that
   represents the connection.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Message">
					<MemberSignature Language="ILASM" Value=".property string Message { public hidebysig specialname instance string get_Message() }"/>
					<MemberSignature Language="C#" Value="public string Message { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the response to an authentication
      challenge.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the message that will be returned to the server in response to an
   authentication challenge.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">The content of the
      string returned by this property is determined by the protocol implemented
      by the <see cref="T:System.Net.IAuthenticationModule"/>
      
      object that created
      the current instance. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ProtectionRealm">
					<MemberSignature Language="ILASM" Value=".property class System.String[] ProtectionRealm { public hidebysig specialname instance class System.String[] get_ProtectionRealm() public hidebysig specialname instance void set_ProtectionRealm(class System.String[] value) }"/>
					<MemberSignature Language="C#" Value="public string[] ProtectionRealm { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the URIs that can be authenticated using the value in the <see cref="P:System.Net.Authorization.Message"/> property.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> array containing URIs.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note">A <see cref="T:System.Net.WebRequest"/> compares a URI
   to this list to determine if the current instance can be used to
   authenticate a request for a given URI.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="CredentialCache" FullName="System.Net.CredentialCache" FullNameSP="System_Net_CredentialCache">
			<TypeSignature Language="ILASM" Value=".class public CredentialCache extends System.Object implements System.Net.ICredentials, System.Collections.IEnumerable"/>
			<TypeSignature Language="C#" Value="public class CredentialCache : ICredentials, IEnumerable"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Provides storage for multiple credentials.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Net.CredentialCache"/> class stores credentials for multiple
   Internet resources. Applications that need to access multiple resources can
   store the credentials for those resources in a <see cref="T:System.Net.CredentialCache"/> instance that then provides the proper set of credentials
   for a given resource when required. When the
<see cref="M:System.Net.CredentialCache.GetCredential(System.Uri,System.String)"/>
method is called, it compares the URI and authentication type provided
with those stored in the cache, and returns the first set of credentials that
match.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Net.ICredentials</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.Collections.IEnumerable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public CredentialCache();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.CredentialCache"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor creates a <see cref="T:System.Net.CredentialCache"/>
instance with its <see cref="P:System.Net.CredentialCache.DefaultCredentials"/>
property initialized to the system
credentials of the current process. </para>
							<para>
								<block subset="none" type="note">Use the <see cref="M:System.Net.CredentialCache.Add(System.Uri,System.String,System.Net.NetworkCredential)"/> method to add additional
credentials to the <see cref="T:System.Net.CredentialCache"/> instance.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Add">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void Add(class System.Uri uriPrefix, string authType, class System.Net.NetworkCredential cred)"/>
					<MemberSignature Language="C#" Value="public void Add(Uri uriPrefix, string authType, NetworkCredential cred);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="uriPrefix" Type="System.Uri"/>
						<Parameter Name="authType" Type="System.String"/>
						<Parameter Name="cred" Type="System.Net.NetworkCredential"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds a <see cref="T:System.Net.NetworkCredential"/>
instance to the credential cache.</para>
						</summary>
						<param name="uriPrefix">A <see cref="T:System.Uri"/> that contains the URI prefix of resources to which <paramref name="cred"/> grants access.</param>
						<param name="authType">A <see cref="T:System.String"/> containing the authentication type used by the resource named in <paramref name="uriPrefix"/> . This string is required to be identical to the <see cref="P:System.Net.IAuthenticationModule.AuthenticationType"/> of the authentication module that uses the credential.</param>
						<param name="cred">A <see cref="T:System.Net.NetworkCredential"/> to add to the credential cache.</param>
						<exception cref="T:System.ArgumentNullException">The <paramref name="uriPrefix"/> or <paramref name="authType"/> parameter is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">The cache already contains a credential for the specified <paramref name="uriPrefix"/> and <paramref name="authType."/>
						</exception>
						<remarks>
							<para>The cache stores credentials in the order in which they
      are added.</para>
							<para>
								<block subset="none" type="note">Use the <see cref="M:System.Net.CredentialCache.GetCredential(System.Uri,System.String)"/>
method
to retrieve <see cref="T:System.Net.NetworkCredential"/>
instances.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DefaultCredentials">
					<MemberSignature Language="ILASM" Value=".property class System.Net.ICredentials DefaultCredentials { public hidebysig static specialname class System.Net.ICredentials get_DefaultCredentials() }"/>
					<MemberSignature Language="C#" Value="public static ICredentials DefaultCredentials { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.ICredentials</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the system credentials in use for
      the current process.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Net.ICredentials"/> instance that represents the system credentials in use for the current process.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.EnvironmentPermission">Requires read access to the environment variable that contains the user name. See <see cref="F:System.Security.Permissions.EnvironmentPermissionAccess.Read"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetCredential">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual class System.Net.NetworkCredential GetCredential(class System.Uri uriPrefix, string authType)"/>
					<MemberSignature Language="C#" Value="public NetworkCredential GetCredential(Uri uriPrefix, string authType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.NetworkCredential</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="uriPrefix" Type="System.Uri"/>
						<Parameter Name="authType" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the <see cref="T:System.Net.NetworkCredential"/>
instance associated with a URI and
authentication type.</para>
						</summary>
						<param name="uriPrefix">A <see cref="T:System.Uri"/> that contains the URI prefix of resources for which the client will be authenticated.</param>
						<param name="authType">A <see cref="T:System.String"/> containing the authentication type used by the resource named in <paramref name="uriPrefix"/> . This string is required to be identical to the <see cref="P:System.Net.IAuthenticationModule.AuthenticationType"/> of the authentication module that uses the credential.</param>
						<returns>
							<para>A <see cref="T:System.Net.NetworkCredential"/>, or <see langword="null"/> if there is no
   matching credential in the cache.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">The <paramref name="uriPrefix"/> or <paramref name="authType"/> parameter is <see langword="null"/>.</exception>
						<remarks>
							<para>This method searches the <see cref="T:System.Net.CredentialCache"/> and
   returns the <see cref="T:System.Net.NetworkCredential"/>
   instance for the specified URI prefix
   and authentication type. This method uses the longest matching URI prefix in the cache
   to determine which credentials to return for an authentication
   type. </para>
							<block subset="none" type="note">
								<para>The following table shows the matches
      for a set of URI prefixes (assuming the URI prefixes are all cached for the
      specified authentication type). </para>
								<list type="table">
									<listheader>
										<term>URI Prefix</term>
										<description>Matches</description>
									</listheader>
									<item>
										<term> http://www.contoso.com/portal/news.htm</term>
										<description>Matches only requests for
            http://www.contoso.com/portal/news.htm.</description>
									</item>
									<item>
										<term> http://www.contoso.com/portal/</term>
										<description>Matches requests for all resources in the portal
            path, except for requests for the http://www.contoso.com/portal/news.htm
            page.</description>
									</item>
									<item>
										<term> http://www.contoso.com/</term>
										<description>Matches requests for all resources at www.contoso.com, except
            those in the portal
            path.</description>
									</item>
								</list>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEnumerator">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual class System.Collections.IEnumerator GetEnumerator()"/>
					<MemberSignature Language="C#" Value="public IEnumerator GetEnumerator();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Collections.IEnumerator</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns an enumerator that iterates through credentials stored in the current
   <see cref="T:System.Net.CredentialCache"/> instance.</para>
						</summary>
						<returns>
							<para> A <see cref="T:System.Collections.IEnumerator"/> for the current <see cref="T:System.Net.CredentialCache"/> instance.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Remove">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void Remove(class System.Uri uriPrefix, string authType)"/>
					<MemberSignature Language="C#" Value="public void Remove(Uri uriPrefix, string authType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="uriPrefix" Type="System.Uri"/>
						<Parameter Name="authType" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Deletes a <see cref="T:System.Net.NetworkCredential"/>
instance from the cache.</para>
						</summary>
						<param name="uriPrefix">A <see cref="T:System.Uri"/> that specifies the resources for which the credential is used.</param>
						<param name="authType">A <see cref="T:System.String"/> containing the authentication type used by the resource named in <paramref name="uriPrefix"/> . This string is required to be identical to the <see cref="P:System.Net.IAuthenticationModule.AuthenticationType"/> of the authentication module that uses the credential.</param>
						<remarks>
							<para>The <see cref="M:System.Net.CredentialCache.Remove(System.Uri,System.String)"/> method
   locates and removes the <see cref="T:System.Net.NetworkCredential"/> instance that is cached
   for the specified URI prefix and authentication type. If there is no match found
   in the cache for the specified values, this method has no effect. The
<paramref name="uriPrefix"/> and <paramref name="authType"/> 
values are required to exactly match the values supplied at the time the
credential was added to the cache. <block subset="none" type="note">For
additional information, see <see cref="M:System.Net.CredentialCache.Add(System.Uri,System.String,System.Net.NetworkCredential)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Dns" FullName="System.Net.Dns" FullNameSP="System_Net_Dns">
			<TypeSignature Language="ILASM" Value=".class public sealed Dns extends System.Object"/>
			<TypeSignature Language="C#" Value="public sealed class Dns"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Obtains domain information from the Domain Name System as
      defined by IETF RFC 1035 and RFC 1036.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Net.Dns"/> class creates
   and sends queries to obtain information about a host server from the Internet
   Domain Name System (DNS). In order to access DNS, the machine executing the
   query is required to be connected to a network. If the query is executed on a
   machine that does not have access to a domain name server, a <see cref="T:System.Net.Sockets.SocketException"/>
   is thrown. </para>
					<para> Information from the DNS query is returned in an
   instance of the <see cref="T:System.Net.IPHostEntry"/> class. If the specified host
   has more than one entry in the DNS database, the <see cref="T:System.Net.IPHostEntry"/> instance contains
   multiple IP addresses and
   aliases. </para>
					<para>
						<block subset="none" type="note">See the <see cref="T:System.Net.IPHostEntry"/>
class page for an example that uses the <see cref="T:System.Net.Dns"/> class.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="BeginGetHostByName">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IAsyncResult BeginGetHostByName(string hostName, class System.AsyncCallback requestCallback, object stateObject)"/>
					<MemberSignature Language="C#" Value="public static IAsyncResult BeginGetHostByName(string hostName, AsyncCallback requestCallback, object stateObject);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="hostName" Type="System.String"/>
						<Parameter Name="requestCallback" Type="System.AsyncCallback"/>
						<Parameter Name="stateObject" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Begins the asynchronous execution of a DNS query to obtain address information about the specified host.</para>
						</summary>
						<param name="hostName">A <see cref="T:System.String"/> containing the DNS name of the host.</param>
						<param name=" requestCallback">A <see cref="T:System.AsyncCallback"/> delegate, or <see langword="null"/> .</param>
						<param name=" stateObject">An application-defined object, or <see langword="null"/> .</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/> instance that contains information about the asynchronous operation.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="hostName"/> is <see langword="null"/> .</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error was encountered executing the DNS query .</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have permission to access DNS information.</exception>
						<remarks>
							<para>This method starts an 
      asynchronous request for information about the specified host. To retrieve the
      results of the query and release resources allocated by this method, call
      the <see cref="M:System.Net.Dns.EndGetHostByName(System.IAsyncResult)"/> method and specify the <see cref="T:System.IAsyncResult"/> object
      returned by this method. <block subset="none" type="note">The <see cref="M:System.Net.Dns.EndGetHostByName(System.IAsyncResult)"/>
      method should be called exactly once for each call to
   <see cref="M:System.Net.Dns.BeginGetHostByName(System.String,System.AsyncCallback,System.Object)"/> .</block>
							</para>
							<para>If the <paramref name="requestCallback"/> parameter is not 
<see langword="null"/>, the method referenced by <paramref name="requestCallback"/> is invoked when the 
   asynchronous operation completes. The <see cref="T:System.IAsyncResult"/> object returned by this method is
   passed as the argument to the method referenced by <paramref name="requestCallback"/>
   . The method referenced by
<paramref name="requestCallback"/> can retrieve the results of the query by calling 
<see cref="M:System.Net.Dns.EndGetHostByName(System.IAsyncResult)"/> .</para>
The <paramref name="stateObject"/> parameter can be any object
that the caller wishes to have available for the duration of the asynchronous
operation. This object is available via the <see cref="P:System.IAsyncResult.AsyncState"/>
property of the object returned by this method.
</remarks>
						<permission cref="T:System.Net.DnsPermission">Requires unrestricted permission for accessing DNS information. See <see cref="T:System.Net.DnsPermission"/> and <see cref="F:System.Security.Permissions.PermissionState.Unrestricted" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginResolve">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.IAsyncResult BeginResolve(string hostName, class System.AsyncCallback requestCallback, object stateObject)"/>
					<MemberSignature Language="C#" Value="public static IAsyncResult BeginResolve(string hostName, AsyncCallback requestCallback, object stateObject);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="hostName" Type="System.String"/>
						<Parameter Name="requestCallback" Type="System.AsyncCallback"/>
						<Parameter Name="stateObject" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Begins the asynchronous execution of a DNS query to
      resolve a host name or IP address.</para>
						</summary>
						<param name="hostName">A <see cref="T:System.String"/> containing the DNS name or IP address of the host.</param>
						<param name=" requestCallback">A <see cref="T:System.AsyncCallback"/> delegate or <see langword="null"/> .</param>
						<param name=" stateObject">An application-defined object, or <see langword="null"/> .</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/> instance that contains information about the asynchronous operation.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="hostName"/> is <see langword="null"/> .</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error was encountered executing the DNS query .</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have permission to access DNS information.</exception>
						<remarks>
							<para>This method starts an asynchronous request for DNS
      information about the specified host. To retrieve the results of the query and
      release resources allocated by this method, call the <see cref="M:System.Net.Dns.EndResolve(System.IAsyncResult)"/>
      method, and specify the <see cref="T:System.IAsyncResult"/> object returned by this method. <block subset="none" type="note">The <see cref="M:System.Net.Dns.EndResolve(System.IAsyncResult)"/>
      method should be called exactly once for each call to <see cref="M:System.Net.Dns.BeginResolve(System.String,System.AsyncCallback,System.Object)"/>
								</block>.</para>
							<para> If the <paramref name="requestCallback"/> parameter is not
<see langword="null"/>, the method referenced by <paramref name="requestCallback"/> is 
   invoked when the asynchronous operation completes. The <see cref="T:System.IAsyncResult"/> object
   returned by this method is passed as the argument to the method referenced by
<paramref name="requestCallback"/>. The method referenced by <paramref name="requestCallback"/> can 
   retrieve the results of the query by calling <see cref="M:System.Net.Dns.EndResolve(System.IAsyncResult)"/>.</para>
							<para> The <paramref name="stateObject"/> parameter can be any object that the caller wishes
   to have available for the duration of the asynchronous operation. This object is
   available via the <see cref="P:System.IAsyncResult.AsyncState"/> property of the object returned by this
   method. </para>
						</remarks>
						<permission cref="T:System.Net.DnsPermission">Requires unrestricted permission for accessing DNS information. See <see cref="T:System.Net.DnsPermission"/> and <see cref="F:System.Security.Permissions.PermissionState.Unrestricted" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndGetHostByName">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Net.IPHostEntry EndGetHostByName(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public static IPHostEntry EndGetHostByName(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPHostEntry</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Ends an asynchronous query to obtain address information about the specified host.</para>
						</summary>
						<param name="asyncResult">The <see cref="T:System.IAsyncResult"/> object that holds the state information for the asynchronous operation.</param>
						<returns>
							<para>A <see cref="T:System.Net.IPHostEntry"/> object containing DNS address information about a host. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult "/>is <see langword="null"/>.</exception>
						<remarks>
							<para>This method blocks if the asynchronous operation has not completed.</para>
							<para>The <see cref="M:System.Net.Dns.EndGetHostByName(System.IAsyncResult)"/> method completes an asynchronous request for
   DNS information that was started with a call to <see cref="M:System.Net.Dns.BeginGetHostByName(System.String,System.AsyncCallback,System.Object)"/>. The object
   specified for the <paramref name="asyncResult"/> parameter is required to be the same
   object as was returned by the <see cref="M:System.Net.Dns.BeginGetHostByName(System.String,System.AsyncCallback,System.Object)"/> method call that began the request.
   </para>
							<para>If the <see cref="M:System.Net.Dns.EndGetHostByName(System.IAsyncResult)"/> method is invoked via the <see cref="T:System.AsyncCallback"/> delegate 
specified to the <see cref="M:System.Net.Dns.BeginGetHostByName(System.String,System.AsyncCallback,System.Object)"/> method, the <paramref name="asyncResult"/>
parameter is the <see cref="T:System.IAsyncResult"/> argument passed to the delegate's method.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndResolve">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Net.IPHostEntry EndResolve(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public static IPHostEntry EndResolve(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPHostEntry</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Ends an asynchronous query to resolve a host name or IP address.</para>
						</summary>
						<param name="asyncResult">
							<SPAN>The <see langword="System.IAsyncResult"/> object that holds the state information for the asynchronous operation. </SPAN>
						</param>
						<returns>
							<para>A <see cref="T:System.Net.IPHostEntry"/> object containing address information about a host. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult "/>is <see langword="null"/>.</exception>
						<remarks>
							<para>This method blocks if the asynchronous operation has not
      completed.</para>
							<para>The <see cref="M:System.Net.Dns.EndResolve(System.IAsyncResult)"/> method completes an asynchronous request for
   DNS information that was started with a call to <see cref="M:System.Net.Dns.BeginResolve(System.String,System.AsyncCallback,System.Object)"/> . The object specified for the
<paramref name="asyncResult"/> parameter is required to be the same object as was returned 
   by the <see cref="M:System.Net.Dns.BeginResolve(System.String,System.AsyncCallback,System.Object)"/> method call that began the request.
   </para>
							<para>If the <see cref="M:System.Net.Dns.EndResolve(System.IAsyncResult)"/> method is invoked via the <see cref="T:System.AsyncCallback"/> delegate 
specified to the <see cref="M:System.Net.Dns.BeginResolve(System.String,System.AsyncCallback,System.Object)"/> method, the <paramref name="asyncResult"/> parameter is the
<see cref="T:System.IAsyncResult"/> 
argument passed to the delegate's method.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetHostByAddress">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Net.IPHostEntry GetHostByAddress(string address)"/>
					<MemberSignature Language="C#" Value="public static IPHostEntry GetHostByAddress(string address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPHostEntry</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Queries DNS for the DNS host name of the specified IP address.</para>
						</summary>
						<param name="address">A <see cref="T:System.String"/> containing an IP address.</param>
						<returns>
							<para>A <see cref="T:System.Net.IPHostEntry"/> instance containing the host information.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="address "/>is <see langword="null"/> .</exception>
						<exception cref="T:System.FormatException">
							<paramref name="address "/>is not a valid IP address.</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error was encountered executing the DNS query .</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have permission to access DNS information.</exception>
						<remarks>
							<para>The IP address specified by the <paramref name="address "/>parameter
   is required to be in dotted-quad notation (for example, "192.168.1.2").</para>
						</remarks>
						<permission cref="T:System.Net.DnsPermission">Requires unrestricted permission for accessing DNS information. See <see cref="T:System.Net.DnsPermission"/> and <see cref="F:System.Security.Permissions.PermissionState.Unrestricted" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetHostByAddress">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Net.IPHostEntry GetHostByAddress(class System.Net.IPAddress address)"/>
					<MemberSignature Language="C#" Value="public static IPHostEntry GetHostByAddress(IPAddress address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPHostEntry</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Net.IPAddress"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Queries DNS for the DNS host name of the specified IP
      address.</para>
						</summary>
						<param name="address">A <see cref="T:System.Net.IPAddress"/> instance.</param>
						<returns>
							<para>A <see cref="T:System.Net.IPHostEntry"/> instance containing the host information.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="address "/>is <see langword="null"/> .</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error was encountered executing the DNS query .</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have permission to access DNS information.</exception>
						<permission cref="T:System.Net.DnsPermission">Requires unrestricted permission for accessing DNS information. See <see cref="T:System.Net.DnsPermission"/> and <see cref="F:System.Security.Permissions.PermissionState.Unrestricted" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetHostByName">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Net.IPHostEntry GetHostByName(string hostName)"/>
					<MemberSignature Language="C#" Value="public static IPHostEntry GetHostByName(string hostName);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPHostEntry</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="hostName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Queries DNS for address information about the specified
      host.</para>
						</summary>
						<param name="hostName">A <see cref="T:System.String"/> containing the DNS name of the host.</param>
						<returns>
							<para>A <see cref="T:System.Net.IPHostEntry"/> object containing host information for the address
   specified in <paramref name="hostName"/>
   .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="hostName "/>is <see langword="null"/> .</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error was encountered executing the DNS query .</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have permission to access DNS information.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>To retrieve host information asynchronously, use the <see cref="M:System.Net.Dns.BeginGetHostByName(System.String,System.AsyncCallback,System.Object)"/> and <see cref="M:System.Net.Dns.EndGetHostByName(System.IAsyncResult)"/>
   methods. </para>
								<para>See the <see cref="T:System.Net.IPHostEntry"/>
class page for an example that uses the <see cref="M:System.Net.Dns.GetHostByName(System.String)"/> method.</para>
							</block>
						</remarks>
						<permission cref="T:System.Net.DnsPermission">Requires unrestricted permission for accessing DNS information. See <see cref="T:System.Net.DnsPermission"/> and <see cref="F:System.Security.Permissions.PermissionState.Unrestricted" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetHostName">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string GetHostName()"/>
					<MemberSignature Language="C#" Value="public static string GetHostName();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the DNS host name of the local machine.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> containing the DNS host name
   of the local machine.</para>
						</returns>
						<exception cref="T:System.Net.Sockets.SocketException">An error was encountered resolving the local host name.</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have permission to access DNS information.</exception>
						<permission cref="T:System.Net.DnsPermission">Requires unrestricted permission for accessing DNS information. See <see cref="T:System.Net.DnsPermission"/> and <see cref="F:System.Security.Permissions.PermissionState.Unrestricted" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Resolve">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Net.IPHostEntry Resolve(string hostName)"/>
					<MemberSignature Language="C#" Value="public static IPHostEntry Resolve(string hostName);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPHostEntry</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="hostName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Resolves a DNS host name or IP address to a <see cref="T:System.Net.IPHostEntry"/>
instance. </para>
						</summary>
						<param name="hostName">A <see cref="T:System.String"/> containing a DNS-style host name or IP address.</param>
						<returns>
							<para>A <see cref="T:System.Net.IPHostEntry"/> instance
   containing address information about the host specified in
<paramref name="hostName"/>
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="hostName "/>is <see langword="null"/> .</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error was encountered executing the DNS query .</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have permission to access DNS information.</exception>
						<remarks>
							<para>The <see cref="M:System.Net.Dns.Resolve(System.String)"/> method
   queries a DNS server for the IP address associated
   with a host name or an IP address in dotted-quad notation. </para>
							<para>When <paramref name="hostName "/>is a DNS-style host name associated with multiple IP
addresses, only the first IP address that resolves to that host name is
returned. </para>
						</remarks>
						<permission cref="T:System.Net.DnsPermission">Requires unrestricted permission for accessing DNS information. This method also asserts unrestricted <see langword="DnsPermission"/> . See <see cref="T:System.Net.DnsPermission"/> and <see cref="F:System.Security.Permissions.PermissionState.Unrestricted" qualify="true"/>.</permission>
						<example>
							<para>The following example demonstrates the use of the <see cref="M:System.Net.Dns.Resolve(System.String)"/> method.</para>
							<code lang="C#">using System;
using System.Net;

public class DnsTest {
 public static void Main() {
   IPHostEntry hostInfo1 = Dns.Resolve("www.contoso.com");
   DisplayHostInfo(hostInfo1);
   Console.WriteLine();
 }

 public static void DisplayHostInfo(IPHostEntry hostInfo) {
   string[] aliases = hostInfo.Aliases;
   IPAddress[] addresses = hostInfo.AddressList;
   Console.WriteLine("The host name is: {0}", hostInfo.HostName);

   for(int x = 0; x &lt; aliases.Length; x++)
     Console.WriteLine("Alias {0} == {1}", aliases[x], addresses[x]);
 }
}
</code>
							<para>The output is</para>
							<c>
								<para> The host name is: contoso.com</para>
								<para> Alias www.contoso.com == 207.46.230.186 </para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="DnsPermission" FullName="System.Net.DnsPermission" FullNameSP="System_Net_DnsPermission">
			<TypeSignature Language="ILASM" Value=".class public serializable DnsPermission extends System.Security.CodeAccessPermission"/>
			<TypeSignature Language="C#" Value="public class DnsPermission : CodeAccessPermission"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Controls access to Domain Name System (DNS) servers on the
      network.</para>
				</summary>
				<remarks>
					<para> The XML encoding of a <see cref="T:System.Net.DnsPermission"/> instance is defined below in
      EBNF format. The following conventions are used:</para>
					<list type="bullet">
						<item>
							<term>
								<para> All non-literals in the grammar below are shown in normal type.</para>
							</term>
						</item>
						<item>
							<term>
								<para> All literals are in bold font. </para>
							</term>
						</item>
					</list>
					<para> The following meta-language symbols are used: </para>
					<list type="bullet">
						<item>
							<term>
            
            '*' represents a meta-language symbol suffixing an
            expression that can appear zero or more times.</term>
						</item>
						<item>
							<term>
            
            '?' represents a meta-language symbol suffixing an
            expression that can appear zero or one time.</term>
						</item>
						<item>
							<term>
            
            '+' represents a meta-language symbol suffixing an
            expression that can appear one or more times.</term>
						</item>
						<item>
							<term>
            
            '(',')' is used to group literals, non-literals or a
            mixture of literals and non-literals.</term>
						</item>
						<item>
							<term>
            
            '|' denotes an exclusive disjunction between two
            expressions.</term>
						</item>
						<item>
							<term>
            
            '::= ' denotes a production rule where a left hand
            non-literal is replaced by a right hand expression containing literals,
            non-literals or both.</term>
						</item>
					</list>
					<para>BuildVersion refers to the build version of the shipping CLI. This is a
      dotted build number such as '2412.0' . </para>
					<para>ECMAPubKeyToken ::= <see langword="b77a5c561934e089"/>
					</para>
					<c>
						<para>DnsPermissionXML ::= </para>
						<para>
							<see langword="&lt;IPermission"/>
						</para>
						<para>
							<see langword="class=&quot; "/>
						</para>
						<para>
							<see langword="System.Net.DnsPermission, "/>
						</para>
						<para>
							<see langword="System, "/>
						</para>
						<para>
							<see langword="Version=1.0."/>BuildVersion<see langword=","/>
						</para>
						<para>
							<see langword="Culture=neutral,"/>
						</para>
						<para>
							<see langword="PublicKeyToken="/>ECMAPubKeyToken<see langword="&quot; "/>
						</para>
						<para>
							<see langword="version=&quot;1&quot; "/>
						</para>
						<para>(</para>
						<para>
							<see langword="Unrestricted=&quot;true&quot;/&gt; "/>
						</para>
						<para>)</para>
						<para>|<see langword=" /&gt;"/>
						</para>
					</c>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Security.CodeAccessPermission</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Security.IPermission</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.PermissionState state)"/>
					<MemberSignature Language="C#" Value="public DnsPermission(PermissionState state);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="state" Type="System.Security.Permissions.PermissionState"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.DnsPermission"/> class with the specified <see cref="T:System.Security.Permissions.PermissionState"/>
value.</para>
						</summary>
						<param name="state">
							<para>A <see cref="T:System.Security.Permissions.PermissionState"/> value. </para>
						</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="state"/> is not a valid <see cref="T:System.Security.Permissions.PermissionState"/> value.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This constructor creates either fully restricted (<see cref="F:System.Security.Permissions.PermissionState.None"/>) 
      or <see cref="F:System.Security.Permissions.PermissionState.Unrestricted"/> access to DNS
      information.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Copy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Copy()"/>
					<MemberSignature Language="C#" Value="public override IPermission Copy();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a new <see cref="T:System.Net.DnsPermission"/> object containing the same values as the current
   instance.</para>
						</summary>
						<returns>
							<para> A new <see cref="T:System.Net.DnsPermission"/> instance containing the same values as the current instance.
   </para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>The object returned by this method represents the same access to DNS information as
         the current instance.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Copy" qualify="true"/> and is implemented to
      support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FromXml">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void FromXml(class System.Security.SecurityElement securityElement)"/>
					<MemberSignature Language="C#" Value="public override void FromXml(SecurityElement securityElement);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="securityElement" Type="System.Security.SecurityElement"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Reconstructs the state of a <see cref="T:System.Net.DnsPermission"/> object using the specified XML encoding.</para>
						</summary>
						<param name="securityElement">A <see cref="T:System.Security.SecurityElement"/> instance containing the XML encoding to use to reconstruct the state of a <see cref="T:System.Net.DnsPermission"/> object.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="securityElement "/>is <see langword="null"/>
							</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="securityElement "/>is not a <see cref="T:System.Net.DnsPermission"/> element.</para>
						</exception>
						<remarks>
							<para>The state of the current instance is changed to the state encoded in
 <paramref name="securityElement"/>.</para>
							<block subset="none" type="note">
								<para>For the XML encoding for this class, see the <see cref="T:System.Net.DnsPermission"/> class
 page.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.FromXml(System.Security.SecurityElement)" qualify="true"/> .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Intersect">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Intersect(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public override IPermission Intersect(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a new <see cref="T:System.Net.DnsPermission"/> object that is the intersection of the current
   instance and the specified object. </para>
						</summary>
						<param name="target">A <see cref="T:System.Net.DnsPermission"/> instance to intersect with the current instance.</param>
						<returns>
							<para>A new <see cref="T:System.Net.DnsPermission"/> instance that represents the intersection of the
   current instance and <paramref name="target"/>. If the intersection is
   empty, returns <see langword="null"/>. If the
   current instance is unrestricted, returns a copy of <paramref name="target"/>. If
<paramref name="target"/> is unrestricted, returns a copy of 
   the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>The intersection of two permissions is a permission that secures the
         resources and operations secured by both permissions. Specifically, it
         represents the minimum permission such that any demand that passes both
         permissions will also pass their intersection.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Intersect(System.Security.IPermission)" qualify="true"/> and is implemented to
      support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSubsetOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsSubsetOf(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public override bool IsSubsetOf(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance is a subset of the specified
      object.</para>
						</summary>
						<param name="target">A <see cref="T:System.Net.DnsPermission"/> instance that is to be tested for the subset relationship.</param>
						<returns>
							<para>
								<see langword="true"/> if the current instance is a
   subset of <paramref name="target"/> ; otherwise,<see langword=" false"/>. If the current
   instance is unrestricted, and <paramref name="target"/> is not, returns
<see langword="false"/>. If <paramref name="target"/> is unrestricted, returns 
<see langword="true"/>. If <paramref name="target"/> is <see langword="null"/> , returns 
<see langword="false"/>.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>The current instance is a subset of <paramref name="target"/> if the current instance
      specifies a set of accesses to resources that is wholly contained by
   <paramref name="target"/>. For example, a permission that represents read access to a file
      is a subset of a permission that represents read and write access to the file. </para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.IsSubsetOf(System.Security.IPermission)" qualify="true"/> and is implemented to
   support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToXml">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.SecurityElement ToXml()"/>
					<MemberSignature Language="C#" Value="public override SecurityElement ToXml();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.SecurityElement</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns the XML encoding of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Security.SecurityElement"/> containing the XML encoding of the state of the
   current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>For the XML encoding for this class, see the <see cref="T:System.Net.DnsPermission"/> class page.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.ToXml" qualify="true"/> .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Union">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Union(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public override IPermission Union(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a new <see cref="T:System.Net.DnsPermission"/> object that is the union of the current instance and
   the specified object.</para>
						</summary>
						<param name="target">A <see cref="T:System.Net.DnsPermission"/> instance to combine with the current instance.</param>
						<returns>
							<para>A new <see cref="T:System.Net.DnsPermission"/> instance that represents the union of the 
   current instance and
<paramref name="target"/>. If the current instance or <paramref name="target"/> is unrestricted, 
   returns a <see cref="T:System.Net.DnsPermission"/> instance that is unrestricted.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>The result of a call to <see cref="M:System.Net.DnsPermission.Union(System.Security.IPermission)"/> is a permission that represents all of
      the access to permissions represented by the current instance as well as the
      permissions represented by <paramref name="target"/>. Any demand that passes either the
      current instance or <paramref name="target "/>passes their union.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Union(System.Security.IPermission)" qualify="true"/> and is implemented to
   support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="DnsPermissionAttribute" FullName="System.Net.DnsPermissionAttribute" FullNameSP="System_Net_DnsPermissionAttribute">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable DnsPermissionAttribute extends System.Security.Permissions.CodeAccessSecurityAttribute"/>
			<TypeSignature Language="C#" Value="public sealed class DnsPermissionAttribute : CodeAccessSecurityAttribute"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Used to declaratively specify permission to request information from Domain Name Servers.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>The security information declared by a security attribute is stored in the 
 metadata of the attribute target, and is accessed by the system at run-time.
 Security attributes are used for declarative security only. For imperative
 security, use the corresponding permission class, <see cref="T:System.Net.DnsPermission"/> .</para>
						<para>The allowable <see cref="T:System.Net.DnsPermissionAttribute"/> targets are determined by the <see cref="T:System.Security.Permissions.SecurityAction"/> passed to the constructor.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Security.Permissions.CodeAccessSecurityAttribute</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>AttributeUsageAttribute(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method, AllowMultiple=true, Inherited=false)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.SecurityAction action)"/>
					<MemberSignature Language="C#" Value="public DnsPermissionAttribute(SecurityAction action);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="action" Type="System.Security.Permissions.SecurityAction"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs a new instance of the <see cref="T:System.Net.DnsPermissionAttribute"/> class with the specified <see cref="T:System.Security.Permissions.SecurityAction"/> value.</para>
						</summary>
						<param name="action">A <see cref="T:System.Security.Permissions.SecurityAction"/> value.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="action"/> is not a valid <see cref="T:System.Security.Permissions.SecurityAction"/> value. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CreatePermission">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission CreatePermission()"/>
					<MemberSignature Language="C#" Value="public override IPermission CreatePermission();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Net.DnsPermission"/> instance that contains the security information of 
 the current instance.</para>
						</summary>
						<returns>
							<para> A <see cref="T:System.Net.DnsPermission"/> object with the security information of the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>Applications typically do not call this method; it is intended for use by the 
 system.</para>
								<para>The security information described by a security attribute is stored in the 
 metadata of the attribute target, and is accessed by the system at run-time. The
 system uses the object returned by this method to convert the security
 information of the current instance into the form stored in metadata.</para>
								<para>This method overrides <see cref="M:System.Security.Permissions.SecurityAttribute.CreatePermission" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="EndPoint" FullName="System.Net.EndPoint" FullNameSP="System_Net_EndPoint">
			<TypeSignature Language="ILASM" Value=".class public abstract serializable EndPoint extends System.Object"/>
			<TypeSignature Language="C#" Value="public abstract class EndPoint"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> This is the base class used to derive classes that
 represent network addresses.
 </para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">The <see cref="T:System.Net.EndPoint"/> class provides an
 abstract representation of the address of a network resource or
 service. </block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="protected EndPoint();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>Constructs a new instance of the <see cref="T:System.Net.EndPoint"/> class.</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddressFamily">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Net.Sockets.AddressFamily AddressFamily { public hidebysig virtual specialname valuetype System.Net.Sockets.AddressFamily get_AddressFamily() }"/>
					<MemberSignature Language="C#" Value="public virtual AddressFamily AddressFamily { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the address family to which the endpoint belongs.
      </para>
						</summary>
						<value>
							<para>One of the values defined in <see cref="T:System.Net.Sockets.AddressFamily"/> .</para>
						</value>
						<exception cref="T:System.NotSupportedException">This property is required to be overridden in types derived from <see cref="T:System.Net.EndPoint"/> .</exception>
						<remarks>
							<block subset="none" type="behaviors">
								<para>This property is read-only.</para>
								<para>The <see cref="T:System.Net.Sockets.AddressFamily"/> value returned
      by this property specifies the addressing scheme used
      by the network protocol of the current instance. </para>
							</block>
							<para>
								<block subset="none" type="default">The default implementation throws <see cref="T:System.NotSupportedException"/>. </block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this
   property to return the <see cref="T:System.Net.Sockets.AddressFamily"/>
   of the current instance.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this property to
   obtain the <see cref="T:System.Net.Sockets.AddressFamily"/> information of the current instance.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Create">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Net.EndPoint Create(class System.Net.SocketAddress socketAddress)"/>
					<MemberSignature Language="C#" Value="public virtual EndPoint Create(SocketAddress socketAddress);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.EndPoint</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="socketAddress" Type="System.Net.SocketAddress"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a new <see cref="T:System.Net.EndPoint"/> instance containing the address
   information from the specified <see cref="T:System.Net.SocketAddress"/>
   instance.
   </para>
						</summary>
						<param name="socketAddress">A <see cref="T:System.Net.SocketAddress"/> instance that provides the address information for the new <see cref="T:System.Net.EndPoint"/> instance.</param>
						<returns>
							<para>A new <see cref="T:System.Net.EndPoint"/> instance containing the address
   information from the specified <see cref="T:System.Net.SocketAddress"/> instance.</para>
						</returns>
						<exception cref="T:System.NotSupportedException">This method is required to be overridden in types derived from <see cref="T:System.Net.EndPoint"/> .</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors"> As described above.</block>
							</para>
							<para>
								<block subset="none" type="default">The default implementation throws
   <see cref="T:System.NotSupportedException"/>. </block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this
      method to return a <see cref="T:System.Net.EndPoint"/> instance that contains the address information from
      the specified <see cref="T:System.Net.SocketAddress"/>.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to
      obtain a <see cref="T:System.Net.EndPoint"/>
      instance that represents the same network resource or service as the specified
   <see cref="T:System.Net.SocketAddress"/>. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="GlobalProxySelection" FullName="System.Net.GlobalProxySelection" FullNameSP="System_Net_GlobalProxySelection">
			<TypeSignature Language="ILASM" Value=".class public GlobalProxySelection extends System.Object"/>
			<TypeSignature Language="C#" Value="public class GlobalProxySelection"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Contains a global
      default proxy instance for all HTTP requests.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Net.GlobalProxySelection"/>
stores the proxy settings for the default proxy that <see cref="T:System.Net.WebRequest"/> instances use to contact Internet sites beyond the
local network. The default proxy settings are initialized from a global or
application configuration file, and can be overridden for individual requests,
or disabled by setting the <see cref="P:System.Net.HttpWebRequest.Proxy" qualify="true"/> property to the object returned by the <see cref="M:System.Net.GlobalProxySelection.GetEmptyWebProxy"/>
method.</para>
					<para>The proxy settings stored in <see cref="T:System.Net.GlobalProxySelection"/> are used by a <see cref="T:System.Net.HttpWebRequest"/> instance
if its <see cref="P:System.Net.HttpWebRequest.Proxy"/> property is not set.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public GlobalProxySelection();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>Constructs a new instance of the <see cref="T:System.Net.GlobalProxySelection"/> class.</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetEmptyWebProxy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Net.IWebProxy GetEmptyWebProxy()"/>
					<MemberSignature Language="C#" Value="public static IWebProxy GetEmptyWebProxy();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IWebProxy</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns an empty proxy object.</para>
						</summary>
						<returns>
							<para> A <see cref="T:System.Net.IWebProxy"/> that contains no information.</para>
						</returns>
						<remarks>
							<para>The <see cref="M:System.Net.GlobalProxySelection.GetEmptyWebProxy"/> method returns an empty <see cref="T:System.Net.IWebProxy"/>
instance indicating that no proxy is used to access an Internet resource. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Select">
					<MemberSignature Language="ILASM" Value=".property class System.Net.IWebProxy Select { public hidebysig static specialname class System.Net.IWebProxy get_Select() public hidebysig static specialname void set_Select(class System.Net.IWebProxy value) }"/>
					<MemberSignature Language="C#" Value="public static IWebProxy Select { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IWebProxy</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the global proxy information.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Net.IWebProxy"/>
that identifies the proxy server used by the <see cref="M:System.Net.HttpWebRequest.GetResponse" qualify="true"/> method if no proxy information is
specified. </para>
						</value>
						<exception cref="T:System.Security.SecurityException">The caller does not have permission for the requested operation.</exception>
						<permission cref="!:System.Security.Permissions.WebPermission">Requires full <see cref="T:System.Net.WebPermission"/> access. See <see cref="F:System.Security.Permissions.PermissionState.Unrestricted"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="HttpContinueDelegate" FullName="System.Net.HttpContinueDelegate" FullNameSP="System_Net_HttpContinueDelegate">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable HttpContinueDelegate extends System.Delegate"/>
			<TypeSignature Language="C#" Value="public delegate void HttpContinueDelegate(int StatusCode, WebHeaderCollection httpHeaders);"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Defines the shape of methods that are invoked when
      a <see cref="F:System.Net.HttpStatusCode.Continue" qualify="true"/> response is received
      by a web client.
      </para>
				</summary>
				<param name="StatusCode">A <see cref="T:System.Int32"/> containing the numeric value of the HTTP status from the server. </param>
				<param name="httpHeaders">A <see cref="T:System.Net.WebHeaderCollection"/> containing the headers returned with the response.</param>
				<remarks>
					<para> Use a <see cref="T:System.Net.HttpContinueDelegate"/>
instance to specify the methods that are automatically invoked
whenever HTTP 100 ( <see cref="F:System.Net.HttpStatusCode.Continue" qualify="true"/>) responses are received from
a web server.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Delegate</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.ICloneable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members/>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="HttpStatusCode" FullName="System.Net.HttpStatusCode" FullNameSP="System_Net_HttpStatusCode">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable HttpStatusCode extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum HttpStatusCode"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Contains the values of status codes defined for the Hypertext Transfer Protocol (HTTP).</para>
				</summary>
				<remarks>
					<para>This enumeration is used by <see cref="T:System.Net.HttpWebResponse"/>.</para>
					<block subset="none" type="note">
						<para>The <see cref="T:System.Net.HttpStatusCode"/> enumeration contains the values of the status codes
   defined in IETF RFC 2616 - HTTP/1.1. </para>
						<para>The status of an HTTP request is contained in the <see cref="P:System.Net.HttpWebResponse.StatusCode" qualify="true"/> property. </para>
					</block>
				</remarks>
				<example>
					<para> The following example compares the status returned by a
   <see cref="T:System.Net.HttpWebResponse"/> with a <see cref="T:System.Net.HttpStatusCode"/>
   value to determine the status of the response.</para>
					<code lang="C#">using System;
using System.Net;

public class HttpStatusCodeExample {

   public static void Main() {
      string serverName = "http://www.contoso.com";
      HttpWebRequest httpReq = (HttpWebRequest) WebRequest.Create(serverName);
      httpReq.AllowAutoRedirect = false;
      HttpWebResponse httpRes = (HttpWebResponse) httpReq.GetResponse();
      if (httpRes.StatusCode==HttpStatusCode.Found) {    
          Console.WriteLine("Request for {0} was redirected.", serverName);
      }
   }
}
</code>
					<para>The output is</para>
					<c>
						<para>Request for http://www.contoso.com was
      redirected.</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Accepted">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode Accepted = 202"/>
					<MemberSignature Language="C#" Value="Accepted = 202;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Accepted</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent
      to HTTP status 202. Indicates that the request has been
      accepted but not
      yet processed.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 202, see
      Section 10.2.3 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Ambiguous">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode Ambiguous = 300"/>
					<MemberSignature Language="C#" Value="Ambiguous = 300;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Ambiguous</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 300. Indicates that multiple
      representations, each with a specific location, correspond to the requested
      resource. Agent-driven negotiation information is provided so that the
      request may be redirected by the user (or user agent) to the location of the
      preferred representation.</para>
							<block subset="none" type="note">
								<para>The default action is to treat this status as a redirect and
         follow the contents of the Location header associated with the current
         response.</para>
								<para>
									<see cref="F:System.Net.HttpStatusCode.Ambiguous"/> is a synonym for <see cref="F:System.Net.HttpStatusCode.MultipleChoices"/>.</para>
								<para>For a detailed description of the HTTP status code 300, see Section 10.3.1 of IETF RFC 2616 -
      HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BadGateway">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode BadGateway = 502"/>
					<MemberSignature Language="C#" Value="BadGateway = 502;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>BadGateway</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 502. Indicates that the
      server, acting as a gateway or proxy, received an invalid response from the upstream
      server that was accessed while attempting to fulfill the request.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 502, see
      Section 10.5.3 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BadRequest">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode BadRequest = 400"/>
					<MemberSignature Language="C#" Value="BadRequest = 400;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>BadRequest</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 400.
      Indicates that improper syntax prevented the server from understanding the request .</para>
							<block subset="none" type="note">
								<para>For a detailed description of the HTTP status code 400, see Section 10.4.1 of IETF RFC 2616 -
         HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Conflict">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode Conflict = 409"/>
					<MemberSignature Language="C#" Value="Conflict = 409;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Conflict</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 409. Indicates that a conflict with the current resource
      state prevented the completion of the request.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 409, see
      Section 10.4.10 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Continue">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode Continue = 100"/>
					<MemberSignature Language="C#" Value="Continue = 100;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Continue</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 100. Indicates that the client is allowed to continue with the request.</para>
							<para>
								<block subset="none" type="note">For a detailed description of HTTP status code 100, see
      Section 10.1.1 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Created">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode Created = 201"/>
					<MemberSignature Language="C#" Value="Created = 201;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Created</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 201.
      Indicates that the request has been fulfilled, resulting in the creation of a new resource. The most specific URI for this resource is contained
      by the Location header field of the response.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 201, see
      Section 10.2.2 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ExpectationFailed">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode ExpectationFailed = 417"/>
					<MemberSignature Language="C#" Value="ExpectationFailed = 417;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ExpectationFailed</MemberValue>
					<Docs>
						<summary>
							<para> 
      Equivalent to HTTP status 417. Indicates that the Expect request-header field condition could
      not be met by the server, or the server is a proxy and has unambiguous evidence
      that the next-hop server cannot meet the condition.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 417, see
      Section 10.4.18 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Forbidden">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode Forbidden = 403"/>
					<MemberSignature Language="C#" Value="Forbidden = 403;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Forbidden</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 403. Indicates that the server understood but refuses to fulfill the request.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 403, see
      Section 10.4.4 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Found">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode Found = 302"/>
					<MemberSignature Language="C#" Value="Found = 302;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Found</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 302. Indicates
      that the requested resource is temporarily located on a different URI.</para>
							<block subset="none" type="note">
								<para>
									<see cref="F:System.Net.HttpStatusCode.Found"/> is a synonym for <see cref="F:System.Net.HttpStatusCode.Redirect"/>.</para>
								<para> The default action when this status is received
      is to follow the Location header of the response. When the original
      request method was POST, the redirected request will use the GET method.</para>
								<para>For a detailed description of the HTTP status code 302, see Section 10.3.3 of IETF RFC 2616 -
      HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GatewayTimeout">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode GatewayTimeout = 504"/>
					<MemberSignature Language="C#" Value="GatewayTimeout = 504;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>GatewayTimeout</MemberValue>
					<Docs>
						<summary>
							<para> 
      Equivalent to HTTP status 504. Indicates that the server, acting as a gateway or proxy, timed out while waiting for a response from an
      upstream server accessed in an attempt to fulfill the request.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 504, see
      Section 10.5.5 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Gone">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode Gone = 410"/>
					<MemberSignature Language="C#" Value="Gone = 410;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Gone</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 410. Indicates both that the
      requested resource is no longer available
      on the server and no forwarding address is known.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 410, see
      Section 10.4.11 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HttpVersionNotSupported">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode HttpVersionNotSupported = 505"/>
					<MemberSignature Language="C#" Value="HttpVersionNotSupported = 505;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>HttpVersionNotSupported</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP
      status 505. Indicates that the HTTP protocol version used by the request is not
      supported by the server.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 505, see
      Section 10.5.6 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="InternalServerError">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode InternalServerError = 500"/>
					<MemberSignature Language="C#" Value="InternalServerError = 500;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>InternalServerError</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 500. Indicates that the request could not be fulfilled by the server due to an unexpected condition.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 500, see
      Section 10.5.1 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LengthRequired">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode LengthRequired = 411"/>
					<MemberSignature Language="C#" Value="LengthRequired = 411;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>LengthRequired</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 411. Indicates that the server refuses to accept the request because its Content-length header is undefined.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 411, see
      Section 10.4.12 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MethodNotAllowed">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode MethodNotAllowed = 405"/>
					<MemberSignature Language="C#" Value="MethodNotAllowed = 405;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>MethodNotAllowed</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 405. Indicates that the method specified in the Request-Line
      is not allowed for the requested resource.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 405, see
      Section 10.4.6 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Moved">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode Moved = 301"/>
					<MemberSignature Language="C#" Value="Moved = 301;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>MovedPermanently</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 301. Indicates that a new, permanent URI has been
      assigned to the requested resource. All future references should use one of the
      returned URIs.</para>
							<block subset="none" type="note">
								<para> The default action when this status is received is to
         follow the Location header of the response. When the original request method was POST,
         the redirected request will use the GET method.</para>
								<para>
									<see cref="F:System.Net.HttpStatusCode.Moved"/> is a synonym for <see cref="F:System.Net.HttpStatusCode.MovedPermanently"/>.</para>
								<para>For a detailed description of the HTTP status code 301, see Section 10.3.2 of IETF RFC 2616 -
      HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MovedPermanently">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode MovedPermanently = 301"/>
					<MemberSignature Language="C#" Value="MovedPermanently = 301;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>MovedPermanently</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 301. Indicates that a new, permanent URI has been assigned to the requested resource. All future references should use one of the returned URIs.</para>
							<block subset="none" type="note">
								<para> The default action when this status is received is to
         follow the Location header of the response.</para>
								<para>
									<see cref="F:System.Net.HttpStatusCode.MovedPermanently"/> is a synonym for <see cref="F:System.Net.HttpStatusCode.Moved"/>.</para>
								<para>For a detailed description of the HTTP status code 301, see Section 10.3.2 of IETF RFC 2616 -
      HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MultipleChoices">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode MultipleChoices = 300"/>
					<MemberSignature Language="C#" Value="MultipleChoices = 300;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Ambiguous</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent
      to HTTP status 300. Indicates that multiple representations, each with a specific location,
      correspond to the requested resource. Agent-driven negotiation information is provided
      so that the request may be redirected by the user (or user agent) to the location of the preferred representation.</para>
							<block subset="none" type="note">
								<para> The default action is to treat this status as a redirect
         and follow the contents of the Location header of the response.</para>
								<para>
									<see cref="F:System.Net.HttpStatusCode.MultipleChoices"/> is a synonym for <see cref="F:System.Net.HttpStatusCode.Ambiguous"/>.</para>
								<para>For a detailed description of the HTTP status code 300, see Section 10.3.1 of IETF RFC 2616 -
      HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NoContent">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode NoContent = 204"/>
					<MemberSignature Language="C#" Value="NoContent = 204;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NoContent</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 204. Indicates that the request has been fulfilled by the
      server and no entity-body was returned by the server.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 204, see
      Section 10.2.5 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NonAuthoritativeInformation">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode NonAuthoritativeInformation = 203"/>
					<MemberSignature Language="C#" Value="NonAuthoritativeInformation = 203;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NonAuthoritativeInformation</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 203.
      Indicates that a local or a third-party
      copy rather than the origin server provided the metainformation returned in the entity-header.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 203, see
      Section 10.2.4 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NotAcceptable">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode NotAcceptable = 406"/>
					<MemberSignature Language="C#" Value="NotAcceptable = 406;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NotAcceptable</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 406. Indicates that the only response entities that can be generated by the requested resource have content
      characteristics that are not acceptable according to the accept headers sent in the request.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 406, see
      Section 10.4.7 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NotFound">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode NotFound = 404"/>
					<MemberSignature Language="C#" Value="NotFound = 404;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NotFound</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 404. Indicates that the server did not find a resource that matches
      the requested URI.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 404, see
      Section 10.4.5 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NotImplemented">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode NotImplemented = 501"/>
					<MemberSignature Language="C#" Value="NotImplemented = 501;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NotImplemented</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 501. Indicates that
      the functionality required to fulfill the request is not supported by the server.
      This is appropriate, for example, if the server does not recognize the request method and cannot support it for any resource.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 501, see
      Section 10.5.2 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NotModified">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode NotModified = 304"/>
					<MemberSignature Language="C#" Value="NotModified = 304;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>NotModified</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 304. Indicates that the
      client has performed a conditional GET request and access is allowed, but the document has not been modified.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 304, see Section 10.3.5
      of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OK">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode OK = 200"/>
					<MemberSignature Language="C#" Value="OK = 200;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>OK</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 200. Indicates that the request succeeded.
      The method used by the request determines the information returned with the response
      as described in the following table.</para>
							<list type="table">
								<listheader>
									<term>Method</term>
									<description>Information returned</description>
								</listheader>
								<item>
									<term> GET</term>
									<description> The entity that corresponds to the requested
            resource.</description>
								</item>
								<item>
									<term> HEAD</term>
									<description> 
            The entity-header fields that correspond to the requested resource. Does
            not return the message-body.</description>
								</item>
								<item>
									<term> POST </term>
									<description> An entity
            that contains or describes the result of the action.</description>
								</item>
								<item>
									<term> TRACE</term>
									<description> An entity
            that contains the request message received by the server. </description>
								</item>
							</list>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 200, see
      Section 10.2.1 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PartialContent">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode PartialContent = 206"/>
					<MemberSignature Language="C#" Value="PartialContent = 206;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>PartialContent</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 206. Indicates that the server has
      fulfilled a partial GET request for the resource. The request is required to have
      included a Range header field that indicates the desired range.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 206, see
      Section 10.2.7 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PaymentRequired">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode PaymentRequired = 402"/>
					<MemberSignature Language="C#" Value="PaymentRequired = 402;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>PaymentRequired</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 402.
      <see cref="F:System.Net.HttpStatusCode.PaymentRequired"/> is reserved for future use.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PreconditionFailed">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode PreconditionFailed = 412"/>
					<MemberSignature Language="C#" Value="PreconditionFailed = 412;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>PreconditionFailed</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 412. Indicates
      that a precondition given in one or more of the request-header fields
      was tested on the server but evaluated to
      false.</para>
							<block subset="none" type="note">
								<para>Conditions are set with conditional request headers such as If-Match,
         If-None-Match, or If-Unmodified-Since.</para>
								<para>For a detailed description of the HTTP status code 412, see Section 10.4.13 of IETF RFC 2616 -
         HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ProxyAuthenticationRequired">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode ProxyAuthenticationRequired = 407"/>
					<MemberSignature Language="C#" Value="ProxyAuthenticationRequired = 407;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ProxyAuthenticationRequired</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 407. Indicates that
      the client is required to authenticate itself to the
      proxy before proceeding.</para>
							<block subset="none" type="note">
								<para>The Proxy-authenticate header contains the details of how to perform the
         authentication.</para>
								<para>For a detailed description of the HTTP status code 407, see Section 10.4.8 of IETF RFC 2616 -
         HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Redirect">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode Redirect = 302"/>
					<MemberSignature Language="C#" Value="Redirect = 302;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Found</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 302. Indicates that the requested resource is
      temporarily located on a different URI.</para>
							<block subset="none" type="note">
								<para> The default action when this status is received is to follow the
         Location header of the response. When the original request method was POST,
         the redirected request will use the GET method.</para>
								<para>
									<see cref="F:System.Net.HttpStatusCode.Redirect"/> is a synonym for <see cref="F:System.Net.HttpStatusCode.Found"/>.</para>
								<para>For a detailed description of the HTTP status code 302, see Section 10.3.3 of IETF RFC 2616 -
      HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RedirectKeepVerb">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode RedirectKeepVerb = 307"/>
					<MemberSignature Language="C#" Value="RedirectKeepVerb = 307;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>TemporaryRedirect</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 307. Indicates that the requested resource is
      temporarily located under a different URI.</para>
							<block subset="none" type="note">
								<para>The default action when this status is received is to follow the Location
         header associated with the response. When the original request method was POST,
         the redirected request will also use the POST method.</para>
								<para>
									<see cref="F:System.Net.HttpStatusCode.RedirectKeepVerb"/> is a synonym for <see cref="F:System.Net.HttpStatusCode.TemporaryRedirect"/>.</para>
								<para>For a detailed description of the HTTP status code 307, see Section 10.3.8 of IETF RFC 2616 -
      HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RedirectMethod">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode RedirectMethod = 303"/>
					<MemberSignature Language="C#" Value="RedirectMethod = 303;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>RedirectMethod</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 303.
      Automatically
      redirects the client to the URI specified in the Location header as the result
      of a POST.</para>
							<block subset="none" type="note">
								<para>The request to the resource specified by the Location header will be made
         with a GET.</para>
								<para>
									<see cref="F:System.Net.HttpStatusCode.RedirectMethod"/> is a synonym for <see cref="F:System.Net.HttpStatusCode.SeeOther"/>.</para>
								<para>For a detailed description of the HTTP status code 303, see Section 10.3.4 of IETF RFC 2616 -
      HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RequestedRangeNotSatisfiable">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode RequestedRangeNotSatisfiable = 416"/>
					<MemberSignature Language="C#" Value="RequestedRangeNotSatisfiable = 416;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>RequestedRangeNotSatisfiable</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status
      416. Indicates that none of the values specified by the Range request-header field
      overlap the current extent of the
      selected resource, and no If-Range request-header field was contained by the request.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 416, see
      Section 10.4.17 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RequestEntityTooLarge">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode RequestEntityTooLarge = 413"/>
					<MemberSignature Language="C#" Value="RequestEntityTooLarge = 413;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>RequestEntityTooLarge</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 413. Indicates that the
      request entity is larger that the server is willing or able to process, so the server is not
      processing the request.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP
      status code 413, see Section 10.4.14 of IETF RFC 2616 -
      HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RequestTimeout">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode RequestTimeout = 408"/>
					<MemberSignature Language="C#" Value="RequestTimeout = 408;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>RequestTimeout</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 408. Indicates that the
      server timed out before the client produced a request.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 408, see
      Section 10.4.9 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RequestUriTooLong">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode RequestUriTooLong = 414"/>
					<MemberSignature Language="C#" Value="RequestUriTooLong = 414;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>RequestUriTooLong</MemberValue>
					<Docs>
						<summary>
							<para> 
      Equivalent to HTTP status 414. Indicates
      that the Request-URI is longer than the server will interpret, so the server is not servicing the
      request.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 414, see
      Section 10.4.15 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ResetContent">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode ResetContent = 205"/>
					<MemberSignature Language="C#" Value="ResetContent = 205;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ResetContent</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 205. Indicates that the server
      has fulfilled the request and the document view that yielded the request is to be reset by
      the user agent.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 205, see
      Section 10.2.6 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SeeOther">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode SeeOther = 303"/>
					<MemberSignature Language="C#" Value="SeeOther = 303;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>RedirectMethod</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 303. Automatically redirects the client to the URI
      specified in the Location header as the result of a POST.</para>
							<block subset="none" type="note">
								<para>The request to the resource specified by the Location header will be made
         with a GET.</para>
								<para>
									<see cref="F:System.Net.HttpStatusCode.SeeOther"/> is a synonym for <see cref="F:System.Net.HttpStatusCode.RedirectMethod"/>.</para>
								<para>For a detailed description of the HTTP status code 303, see Section 10.3.4 of IETF RFC 2616 -
      HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ServiceUnavailable">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode ServiceUnavailable = 503"/>
					<MemberSignature Language="C#" Value="ServiceUnavailable = 503;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ServiceUnavailable</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 503. Indicates that a temporary overloading or maintenance of
      the server is preventing it from handling the request.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 503, see
      Section 10.5.4 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SwitchingProtocols">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode SwitchingProtocols = 101"/>
					<MemberSignature Language="C#" Value="SwitchingProtocols = 101;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>SwitchingProtocols</MemberValue>
					<Docs>
						<summary>
							<para>
      Equivalent to HTTP status 101. Indicates that the server understands
      and will comply with the client's request to switch the protocol
      being used by the current connection to the protocols defined by the response's Upgrade header.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 101, see
      Section 10.1.2 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TemporaryRedirect">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode TemporaryRedirect = 307"/>
					<MemberSignature Language="C#" Value="TemporaryRedirect = 307;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>TemporaryRedirect</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 307. Indicates that the requested resource is temporarily
      located under a different URI.</para>
							<block subset="none" type="note">
								<para>The default action when this status is received is to follow the Location
         header associated with the response. When the original request method was POST,
         the redirected request will also use the POST method.</para>
								<para>
									<see cref="F:System.Net.HttpStatusCode.TemporaryRedirect"/> is a synonym for <see cref="F:System.Net.HttpStatusCode.RedirectKeepVerb"/>.</para>
								<para>For a detailed description of the HTTP status code 307, see Section 10.3.8 of IETF RFC 2616 -
      HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Unauthorized">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode Unauthorized = 401"/>
					<MemberSignature Language="C#" Value="Unauthorized = 401;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Unauthorized</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 401. Indicates that user authentication is required
      for the request.</para>
							<block subset="none" type="note">
								<para>The WWW-Authenticate header contains the details of how to perform the
         authentication.</para>
								<para>For a detailed description of the HTTP status code 401, see Section 10.4.2 of IETF RFC 2616 -
         HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="UnsupportedMediaType">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode UnsupportedMediaType = 415"/>
					<MemberSignature Language="C#" Value="UnsupportedMediaType = 415;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>UnsupportedMediaType</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status
      415. Indicates that the format of the entity of the request is not supported by the requested resource, so the server did not service the request.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status code 415, see
      Section 10.4.16 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Unused">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode Unused = 306"/>
					<MemberSignature Language="C#" Value="Unused = 306;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Unused</MemberValue>
					<Docs>
						<summary>
							<para> Equivalent to HTTP status 306.</para>
							<block subset="none" type="note">
								<para>This status code is not used in HTTP/1.1.</para>
								<para>For a detailed description of the HTTP status code 306, see Section 10.3.7 of IETF RFC 2616 -
         HTTP/1.1.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="UseProxy">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.HttpStatusCode UseProxy = 305"/>
					<MemberSignature Language="C#" Value="UseProxy = 305;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>UseProxy</MemberValue>
					<Docs>
						<summary>
							<para>Equivalent to HTTP status 305. Indicates that the requested
      resource is required to be accessed through the proxy identified in the Location header field.</para>
							<para>
								<block subset="none" type="note">For a detailed description of the HTTP status
      code 305, see Section 10.3.6 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="HttpVersion" FullName="System.Net.HttpVersion" FullNameSP="System_Net_HttpVersion">
			<TypeSignature Language="ILASM" Value=".class public HttpVersion extends System.Object"/>
			<TypeSignature Language="C#" Value="public class HttpVersion"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Defines the HTTP version numbers supported by <see cref="T:System.Net.HttpWebRequest"/> and
<see cref="T:System.Net.HttpWebResponse"/> .</para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">This class defines the HTTP versions supported by
 <see cref="T:System.Net.HttpWebRequest"/> and <see cref="T:System.Net.HttpWebResponse"/>. The HTTP version number
 is used to control version-specific features of HTTP, such as pipelining and
 chunking.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public HttpVersion();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>Constructs a new instance of the <see cref="T:System.Net.HttpVersion"/> class.</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Version10">
					<MemberSignature Language="ILASM" Value=".field public static initOnly class System.Version Version10"/>
					<MemberSignature Language="C#" Value="public static readonly Version Version10;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Version</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Defines a <see cref="T:System.Version"/> instance for HTTP 1.0.</para>
						</summary>
						<remarks>
							<para>This field represents a <see cref="T:System.Version"/> with a <see cref="P:System.Version.Major"/> value
 equal to 1, and a <see cref="P:System.Version.Minor"/> value equal to 0.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Version11">
					<MemberSignature Language="ILASM" Value=".field public static initOnly class System.Version Version11"/>
					<MemberSignature Language="C#" Value="public static readonly Version Version11;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Version</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Defines a <see cref="T:System.Version"/> instance for HTTP 1.1.</para>
						</summary>
						<remarks>
							<para>This field represents a <see cref="T:System.Version"/> with a <see cref="P:System.Version.Major"/> value
 equal to 1, and a <see cref="P:System.Version.Minor"/> value equal to 1.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="HttpWebRequest" FullName="System.Net.HttpWebRequest" FullNameSP="System_Net_HttpWebRequest">
			<TypeSignature Language="ILASM" Value=".class public serializable HttpWebRequest extends System.Net.WebRequest"/>
			<TypeSignature Language="C#" Value="public class HttpWebRequest : WebRequest"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Provides an HTTP-specific implementation of the <see cref="T:System.Net.WebRequest"/> 
class.</para>
				</summary>
				<remarks>
					<para> This class implements
      properties and methods defined in <see cref="T:System.Net.WebRequest"/> and provides additional
      properties and methods that enable the user to interact directly with servers
      using the Hypertext Transfer Protocol (HTTP). </para>
					<block subset="none" type="note">
						<para>Instances of this class are
         automatically created by the <see cref="T:System.Net.WebRequest"/> class. For example,
         an instance of <see cref="T:System.Net.HttpWebRequest"/> is created when the <see cref="M:System.Net.WebRequest.Create(System.Uri,System.Boolean)"/>
         method is called and a Uniform Resource Identifier (URI) beginning with <c>http://</c> is specified.
      It is expected that an instance of this class will be constructed for every
      request made to the server. For example, after a call to <see cref="M:System.Net.HttpWebRequest.Abort"/>
      cancels an asynchronous operation, a call to <see cref="M:System.Net.HttpWebRequest.GetRequestStream"/> causes a <see cref="T:System.Net.WebException"/> to
      be thrown.</para>
						<para>Requests can be sent synchronously or
      asynchronously. The <see cref="M:System.Net.HttpWebRequest.GetResponse"/> method
      sends a request to
      a server synchronously and returns a <see cref="T:System.Net.HttpWebResponse"/>
      instance containing the response. An asynchronous request for a resource
      is sent using the <see cref="M:System.Net.HttpWebRequest.BeginGetResponse(System.AsyncCallback,System.Object)"/> and <see cref="M:System.Net.HttpWebRequest.EndGetResponse(System.IAsyncResult)"/> methods. </para>
						<para> Request data is sent using a request stream. The <see cref="M:System.Net.HttpWebRequest.GetRequestStream"/>
, <see cref="M:System.Net.HttpWebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)"/>, and <see cref="M:System.Net.HttpWebRequest.EndGetRequestStream(System.IAsyncResult)"/> methods
return a <see cref="T:System.IO.Stream"/> instance used to send
data.</para>
						<para>When errors occur while accessing an Internet resource,
   the <see cref="T:System.Net.HttpWebRequest"/> class throws a <see cref="T:System.Net.WebException"/>
   , and the <see cref="P:System.Net.WebException.Status" qualify="true"/>
   property that indicates the source of the error. When <see cref="P:System.Net.WebException.Status" qualify="true"/> is <see cref="F:System.Net.WebExceptionStatus.ProtocolError" qualify="true"/>, the <see cref="P:System.Net.WebException.Response"/> property contains the <see cref="T:System.Net.HttpWebResponse"/>
   received from the Internet resource. </para>
						<para> Certain HTTP headers are protected; the user cannot set
   them directly in the header collection obtained from the <see cref="P:System.Net.HttpWebRequest.Headers"/>
   property. Instead, these headers are set using the
   associated properties of a <see cref="T:System.Net.HttpWebRequest"/> instance, or are set by the system. The following table describes how
   each protected header is set.</para>
						<list type="table">
							<listheader>
								<term>Header</term>
								<description>Set by</description>
							</listheader>
							<item>
								<term> Accept</term>
								<description>
									<see cref="P:System.Net.HttpWebRequest.Accept"/>
								</description>
							</item>
							<item>
								<term> Connection</term>
								<description>
									<para>
										<see cref="P:System.Net.HttpWebRequest.Connection"/>
									</para>
									<para>
										<see cref="P:System.Net.HttpWebRequest.KeepAlive"/>
									</para>
								</description>
							</item>
							<item>
								<term> Content-Length</term>
								<description>
									<see cref="P:System.Net.HttpWebRequest.ContentLength"/>
								</description>
							</item>
							<item>
								<term> Content-Type</term>
								<description>
									<see cref="P:System.Net.HttpWebRequest.ContentType"/>
								</description>
							</item>
							<item>
								<term> Expect</term>
								<description>
									<see cref="P:System.Net.HttpWebRequest.Expect"/>
								</description>
							</item>
							<item>
								<term> Date</term>
								<description>Set to current date by the system.</description>
							</item>
							<item>
								<term> Host</term>
								<description> Set to current host by the
      system.</description>
							</item>
							<item>
								<term> if-Modified-since</term>
								<description>
									<see cref="P:System.Net.HttpWebRequest.IfModifiedSince"/>
								</description>
							</item>
							<item>
								<term> Range</term>
								<description>
									<see cref="M:System.Net.HttpWebRequest.AddRange(System.Int32,System.Int32)"/>
								</description>
							</item>
							<item>
								<term> Referer</term>
								<description>
									<see cref="P:System.Net.HttpWebRequest.Referer"/>
								</description>
							</item>
							<item>
								<term> Transfer-Encoding</term>
								<description>
									<para>
										<see cref="P:System.Net.HttpWebRequest.TransferEncoding"/>
									</para>
									<para>
										<see cref="P:System.Net.HttpWebRequest.SendChunked"/>
									</para>
								</description>
							</item>
							<item>
								<term> User-Agent</term>
								<description>
									<see cref="P:System.Net.HttpWebRequest.UserAgent"/>
								</description>
							</item>
						</list>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Net.WebRequest</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Abort">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Abort()"/>
					<MemberSignature Language="C#" Value="public override void Abort();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Cancels
      an asynchronous operation.</para>
						</summary>
						<remarks>
							<para>
								<see cref="M:System.Net.HttpWebRequest.Abort"/> 
cancels any pending asynchronous operation. After this method is called, calling <see cref="M:System.Net.HttpWebRequest.GetResponse"/>, <see cref="M:System.Net.HttpWebRequest.BeginGetResponse(System.AsyncCallback,System.Object)"/>, <see cref="M:System.Net.HttpWebRequest.EndGetResponse(System.IAsyncResult)"/>, <see cref="M:System.Net.HttpWebRequest.GetRequestStream"/>, <see cref="M:System.Net.HttpWebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)"/>, or <see cref="M:System.Net.HttpWebRequest.EndGetRequestStream(System.IAsyncResult)"/> will throw a <see cref="T:System.Net.WebException"/> with <see cref="P:System.Net.WebException.Status"/> set to <see cref="F:System.Net.WebExceptionStatus.RequestCanceled"/>
.</para>
							<block subset="none" type="note">
								<para>If no pending request exists, calling this method does not cause an exception
      to be thrown.</para>
								<para>This method
      overrides <see cref="M:System.Net.WebRequest.Abort" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Accept">
					<MemberSignature Language="ILASM" Value=".property string Accept { public hidebysig specialname instance string get_Accept() public hidebysig specialname instance void set_Accept(string value) }"/>
					<MemberSignature Language="C#" Value="public string Accept { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets a <see cref="T:System.String"/> containing the value of the HTTP Accept header.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing the value of the HTTP Accept header. The default value of this property is
<see langword="null"/>.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note">For additional information see section
      14.1 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddRange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void AddRange(string rangeSpecifier, int32 range)"/>
					<MemberSignature Language="C#" Value="public void AddRange(string rangeSpecifier, int range);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="rangeSpecifier" Type="System.String"/>
						<Parameter Name="range" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Adds a HTTP Range header to the current request for a specific range from the
      beginning or end of the requested data.</para>
						</summary>
						<param name="rangeSpecifier">A <see cref="T:System.String"/> that contains the description of the range.</param>
						<param name="range">A <see cref="T:System.Int32"/> that designates the starting or ending point of the range. If this value is positive, the range is from the beginning of the data to <paramref name="range"/>. If this value is negative, the range is from <paramref name="range"/> to the end of the data. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="rangeSpecifier "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="rangeSpecifier"/> is invalid.</exception>
						<exception cref="T:System.InvalidOperationException">The range header could not be added.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>The HTTP Range header specifies either a single range of bytes or a set of
      byte ranges in an entity-body to be returned. If the server accessed by the
      current instance supports the use of this header, this allows for the partial
      retrieval of the entity due to, for example, the entity being particularly
      large or there having been a failed transfer of data.</para>
								<para>For more information on the HTTP Range header, see Section 14.35 of RFC
      2616.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddRange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void AddRange(string rangeSpecifier, int32 from, int32 to)"/>
					<MemberSignature Language="C#" Value="public void AddRange(string rangeSpecifier, int from, int to);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="rangeSpecifier" Type="System.String"/>
						<Parameter Name="from" Type="System.Int32"/>
						<Parameter Name="to" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds a HTTP Range header to the current instance for
      a specified range.</para>
						</summary>
						<param name="rangeSpecifier">A <see cref="T:System.String"/> that contains the description of the range.</param>
						<param name=" from">A <see cref="T:System.Int32"/> designating the position at which to start sending data.</param>
						<param name=" to">A <see cref="T:System.Int32"/> designating the position at which to stop sending data. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="rangeSpecifier "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="from "/>&lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="to "/>&lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="from "/>&gt; <paramref name="to "/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="rangeSpecifier"/> is invalid.</exception>
						<exception cref="T:System.InvalidOperationException">The range header could not be added.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>The HTTP Range header specifies either a single range of bytes or a set of
         byte ranges in an entity-body to be returned. If the server accessed by the
         current instance supports the use of this header, this allows for the partial
         retrieval of the entity due to, for example, the entity being particularly
         large or there having been a failed transfer of data.</para>
								<para>For more information on the HTTP Range header, see Section 14.35 of IETF RFC
         2616.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddRange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void AddRange(int32 range)"/>
					<MemberSignature Language="C#" Value="public void AddRange(int range);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="range" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds a HTTP Range header to the current instance for
      a specific range from the beginning or end of the requested data.</para>
						</summary>
						<param name="range">A <see cref="T:System.Int32"/> that specifies the starting or ending point of the range. If this value is positive, the range is from the beginning of the data to <paramref name="range"/>. If this value is negative, the range is from <paramref name="range"/> to the end of the data.</param>
						<exception cref="T:System.InvalidOperationException">The range header could not be added.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Net.HttpWebRequest.AddRange(System.Int32,System.Int32)"/>("bytes", <paramref name="range"/>).</para>
							<block subset="none" type="note">
								<para>The HTTP Range header specifies either a single range of bytes or a set of
      byte ranges in an entity-body to be returned. If the server accessed by the
      current instance supports the use of this header, this allows for the partial
      retrieval of the entity due to, for example, the entity being particularly
      large or there having been a failed transfer of data.</para>
								<para>For more information on the HTTP Range header, see Section 14.35 of RFC
      2616.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddRange">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void AddRange(int32 from, int32 to)"/>
					<MemberSignature Language="C#" Value="public void AddRange(int from, int to);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="from" Type="System.Int32"/>
						<Parameter Name="to" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds a HTTP Range header to the current instance for a specified range.</para>
						</summary>
						<param name="from">A <see cref="T:System.Int32"/> indicating the starting byte position of the entity-body data to be returned.</param>
						<param name=" to">A <see cref="T:System.Int32"/> indicating the last byte.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="from "/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="to "/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="from "/> &gt; <paramref name="to "/>.</para>
						</exception>
						<exception cref="T:System.InvalidOperationException">The range header could not be added.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Net.HttpWebRequest.AddRange(System.Int32,System.Int32)"/>("bytes", <paramref name="from"/>, <paramref name="to"/>).</para>
							<block subset="none" type="note">
								<para>The HTTP Range header specifies either a single range of bytes or a set
      of byte ranges in an entity-body to be returned. If the server accessed by
      the current instance supports the use of this header, this allows for the
      partial retrieval of the entity due to, for example, the entity being
      particularly large or there having been a failed transfer of data.</para>
								<para>For more information on the HTTP Range header, see Section 14.35 of RFC
      2616.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Address">
					<MemberSignature Language="ILASM" Value=".property class System.Uri Address { public hidebysig specialname instance class System.Uri get_Address() }"/>
					<MemberSignature Language="C#" Value="public Uri Address { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Uri</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the URI that responds to the current request.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Uri"/>
identifying the Internet resource that responds to the current request.
The default is the URI used by the <see cref="M:System.Net.WebRequest.Create(System.Uri,System.Boolean)" qualify="true"/>
method to initialize
the current
instance. </para>
						</value>
						<remarks>
							<para> This property is
      read-only.</para>
							<para> The
      value of this property is set to the URI that is the source of
      the response after all redirections are complete.</para>
							<para>
								<block subset="none" type="note">The URI of the original request is kept in the <see cref="P:System.Net.HttpWebRequest.RequestUri"/> property.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowAutoRedirect">
					<MemberSignature Language="ILASM" Value=".property bool AllowAutoRedirect { public hidebysig specialname instance bool get_AllowAutoRedirect() public hidebysig specialname instance void set_AllowAutoRedirect(bool value) }"/>
					<MemberSignature Language="C#" Value="public bool AllowAutoRedirect { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets a <see cref="T:System.Boolean"/> value that indicates whether the current request will follow redirection responses.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>if the current request will automatically follow redirection
   responses from the Internet resource; otherwise <see langword="false "/>
   . The default value is
<see langword="true"/>.</para>
						</value>
						<remarks>
							<block subset="none" type="note">
								<para>Set <see cref="P:System.Net.HttpWebRequest.AllowAutoRedirect"/> to <see langword="true"/> to allow the current request to
      automatically follow HTTP redirection headers to the new location of a
      resource.</para>
								<para> The maximum number
      of redirections to follow is set by the <see cref="P:System.Net.HttpWebRequest.MaximumAutomaticRedirections"/>
      property.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllowWriteStreamBuffering">
					<MemberSignature Language="ILASM" Value=".property bool AllowWriteStreamBuffering { public hidebysig specialname instance bool get_AllowWriteStreamBuffering() public hidebysig specialname instance void set_AllowWriteStreamBuffering(bool value) }"/>
					<MemberSignature Language="C#" Value="public bool AllowWriteStreamBuffering { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets a <see cref="T:System.Boolean"/> value that indicates whether to buffer the data sent to the Internet resource requested by the
   current instance.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>to enable
   buffering of the data sent
   to the Internet resource requested by the current instance; <see langword="false "/>to disable buffering. The default is
<see langword="true"/>.</para>
						</value>
						<remarks>
							<block subset="none" type="note">
								<para>When <see cref="P:System.Net.HttpWebRequest.AllowWriteStreamBuffering"/> is <see langword="true"/>
   , the data is buffered in memory so it is ready to be resent in the
   event of redirections or authentication requests.</para>
								<para> Depending on available memory, setting <see cref="P:System.Net.HttpWebRequest.AllowWriteStreamBuffering"/>
as <see langword="true"/>
might
impact system performance when uploading large amounts of data.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginGetRequestStream">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.IAsyncResult BeginGetRequestStream(class System.AsyncCallback callback, object state)"/>
					<MemberSignature Language="C#" Value="public override IAsyncResult BeginGetRequestStream(AsyncCallback callback, object state);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="callback" Type="System.AsyncCallback"/>
						<Parameter Name="state" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Begins an asynchronous request for a stream in which to write data to
      be sent in the current instance.</para>
						</summary>
						<param name="callback">A <see cref="T:System.AsyncCallback"/> delegate to be called when the stream is available. Can be <see langword="null"/> .</param>
						<param name="state">A <see cref="T:System.Object"/> containing state information for the asynchronous request. Can be <see langword="null"/> .</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/> that contains information about the asynchronous operation.</para>
						</returns>
						<exception cref="T:System.InvalidOperationException">
							<para>The stream is being used by a previous call to <see cref="M:System.Net.HttpWebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)"/> .</para>
							<para>-or-</para>
							<para>No writeable stream is available.</para>
						</exception>
						<exception cref="T:System.Net.ProtocolViolationException">
							<para>The <see cref="P:System.Net.HttpWebRequest.ContentLength"/> property of the current instance is not set.</para>
							<para>-or-</para>
							<para>The <see cref="P:System.Net.HttpWebRequest.Method"/> property of the current instance is "GET" or "HEAD".</para>
						</exception>
						<remarks>
							<para>This method starts an asynchronous operation. To get the
      request stream, call the <see cref="M:System.Net.HttpWebRequest.EndGetRequestStream(System.IAsyncResult)"/> method and specify the <see cref="T:System.IAsyncResult"/> object returned by
      this method. <block subset="none" type="note"> The
   <see cref="M:System.Net.HttpWebRequest.EndGetRequestStream(System.IAsyncResult)"/> method
      should be called exactly once for each call to <see cref="M:System.Net.HttpWebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)"/>.</block>
							</para>
							<para>If the <paramref name="callback"/> parameter is not
<see langword="null"/>, the method(s) referenced by <paramref name="callback"/> are invoked 
   when the asynchronous operation completes. The <see cref="T:System.IAsyncResult"/> object
   returned by this method is passed as the argument to the method(s) referenced by
<paramref name="callback"/> 
.</para>
							<para>The <paramref name="state"/> parameter can be any object that the
caller wishes to have available for the duration of the asynchronous operation.
This object is available via the <see cref="P:System.IAsyncResult.AsyncState"/>
property of the
object returned by this method.</para>
							<para>The value of the <see cref="P:System.Net.HttpWebRequest.ContentLength"/> property of the current instance is
required to be set prior to calling this method. </para>
							<block subset="none" type="note">
								<para> The method(s) invoked by
      the callback delegate can call the <see cref="M:System.Net.HttpWebRequest.EndGetRequestStream(System.IAsyncResult)"/> method to retrieve the stream.</para>
								<para>This method is the asynchronous version of
      the <see cref="M:System.Net.HttpWebRequest.GetRequestStream"/> method.</para>
								<para>This method overrides <see cref="M:System.Net.WebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)" qualify="true"/> .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginGetResponse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.IAsyncResult BeginGetResponse(class System.AsyncCallback callback, object state)"/>
					<MemberSignature Language="C#" Value="public override IAsyncResult BeginGetResponse(AsyncCallback callback, object state);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="callback" Type="System.AsyncCallback"/>
						<Parameter Name="state" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Begins sending the current HTTP request
      asynchronously.</para>
						</summary>
						<param name="callback">A <see cref="T:System.AsyncCallback"/> delegate to be called when the stream is available. Can be <see langword="null"/> .</param>
						<param name="state">A <see cref="T:System.Object"/> containing state information for the asynchronous request. Can be <see langword="null"/> .</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/> that contains information about the asynchronous
   operation.</para>
						</returns>
						<exception cref="T:System.InvalidOperationException">
							<see cref="M:System.Net.HttpWebRequest.BeginGetResponse(System.AsyncCallback,System.Object)"/> or <see cref="M:System.Net.HttpWebRequest.GetResponse"/> was previously called on this instance.</exception>
						<exception cref="T:System.Net.ProtocolViolationException">The <see cref="P:System.Net.HttpWebRequest.ContentLength"/> property of the current instance has not been set.</exception>
						<exception cref="T:System.Net.WebException">
							<see cref="M:System.Net.HttpWebRequest.Abort"/> was previously called.</exception>
						<remarks>
							<para> This method starts an asynchronous operation. To get
      the response, call the <see cref="M:System.Net.HttpWebRequest.EndGetResponse(System.IAsyncResult)"/> method and
      specify the <see cref="T:System.IAsyncResult"/> object returned by
      this method. <block subset="none" type="note"> The <see cref="M:System.Net.HttpWebRequest.EndGetResponse(System.IAsyncResult)"/> method
      should be called exactly once for each call to <see cref="M:System.Net.HttpWebRequest.BeginGetResponse(System.AsyncCallback,System.Object)"/>.</block>
							</para>
							<para>If the <paramref name="callback"/> parameter is not
<see langword="null"/>, the method referenced by <paramref name="callback"/> is invoked 
   when the asynchronous operation completes. The <see cref="T:System.IAsyncResult"/> object
   returned by this method is passed as the argument to the method referenced by
<paramref name="callback"/>.</para>
							<para>The <paramref name="state"/> parameter can be any object that the
caller wishes to have available for the duration of the asynchronous operation.
This object is available via the <see cref="P:System.IAsyncResult.AsyncState"/>
property of the object returned by this method.</para>
							<block subset="none" type="note">
								<para>The method(s) invoked by the callback delegate can call the <see cref="M:System.Net.HttpWebRequest.EndGetResponse(System.IAsyncResult)"/> method to retrieve the response.</para>
								<para>This method is the asynchronous version of the <see cref="M:System.Net.HttpWebRequest.GetResponse"/> method.</para>
								<para>This method overrides <see cref="M:System.Net.WebRequest.BeginGetResponse(System.AsyncCallback,System.Object)" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Connection">
					<MemberSignature Language="ILASM" Value=".property string Connection { public hidebysig specialname instance string get_Connection() public hidebysig specialname instance void set_Connection(string value) }"/>
					<MemberSignature Language="C#" Value="public string Connection { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the value of the Connection HTTP header.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing the
   value of the Connection HTTP header. The
   default value is <see langword="null"/>. </para>
						</value>
						<exception cref="T:System.ArgumentException">The value of <see cref="P:System.Net.HttpWebRequest.Connection"/> is set to "Keep-alive" or "Close". This value is case insensitive.</exception>
						<remarks>
							<para>The current request sends the <see cref="P:System.Net.HttpWebRequest.Connection"/> property to the Internet resource as
   the Connection
   HTTP header. </para>
							<block subset="none" type="note">
								<para>If <see cref="P:System.Net.HttpWebRequest.KeepAlive"/> is
<see langword="true"/> , the value "Keep-alive" is appended to the 
   end of the Connection
   header.</para>
								<para>For additional
   information see section 14.10 of IETF RFC 2616 - HTTP/1.1.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ConnectionGroupName">
					<MemberSignature Language="ILASM" Value=".property string ConnectionGroupName { public hidebysig virtual specialname string get_ConnectionGroupName() public hidebysig virtual specialname void set_ConnectionGroupName(string value) }"/>
					<MemberSignature Language="C#" Value="public override string ConnectionGroupName { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the name of the connection group for the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> that contains the name of the connection group for the current instance. The default value is
<see langword="null"/>.</para>
						</value>
						<remarks>
							<block subset="none" type="note">
								<para>The <see cref="P:System.Net.HttpWebRequest.ConnectionGroupName"/> property
 enables a request to be associated with a connection group. This is useful when
 an application makes requests to one server for different users, such as a Web
 site that retrieves customer information from a database server.</para>
								<para> Each
 connection group creates additional connections for a server. This may
 result in exceeding <see cref="P:System.Net.ServicePoint.ConnectionLimit" qualify="true"/> for that server.</para>
								<para>This property overrides <see cref="P:System.Net.WebRequest.ConnectionGroupName" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ContentLength">
					<MemberSignature Language="ILASM" Value=".property int64 ContentLength { public hidebysig virtual specialname int64 get_ContentLength() public hidebysig virtual specialname void set_ContentLength(int64 value) }"/>
					<MemberSignature Language="C#" Value="public override long ContentLength { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the Content-length HTTP header.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int64"/> value that specifies the number of bytes of data to send to the Internet resource. The default is -1,
   which indicates that this value has not been set.</para>
						</value>
						<exception cref="T:System.InvalidOperationException">Data has already been written to the request stream.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">A value less than zero is specified for a set operation.</exception>
						<remarks>
							<para>The <see cref="P:System.Net.HttpWebRequest.ContentLength"/> property contains the value to send
   as the Content-length
   HTTP header of the request.</para>
							<para>Any value other than -1 in the <see cref="P:System.Net.HttpWebRequest.ContentLength"/>
property indicates that the request will upload data;
only methods that upload data are allowed in the <see cref="P:System.Net.HttpWebRequest.Method"/>
property.</para>
							<para>This property is required to be set prior to writing data to the request data
   stream. Once the <see cref="P:System.Net.HttpWebRequest.ContentLength"/> property is set to a value, that
   number of bytes is required to be written to the request data stream.
<block subset="none" type="note">Get the request data stream by calling <see cref="M:System.Net.HttpWebRequest.GetRequestStream"/> , or <see cref="M:System.Net.HttpWebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)"/> and <see cref="M:System.Net.HttpWebRequest.EndGetRequestStream(System.IAsyncResult)"/> 
.</block>
							</para>
							<block subset="none" type="note">
								<para>For additional information see section 14.13 of IETF RFC
      2616 - HTTP/1.1.</para>
								<para>This property overrides <see cref="P:System.Net.WebRequest.ContentLength" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ContentType">
					<MemberSignature Language="ILASM" Value=".property string ContentType { public hidebysig virtual specialname string get_ContentType() public hidebysig virtual specialname void set_ContentType(string value) }"/>
					<MemberSignature Language="C#" Value="public override string ContentType { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the value of the Content-type HTTP header of the current instance.</para>
						</summary>
						<value>
							<para>The value of the Content-type HTTP header of the current instance. The default
      value is <see langword="null"/>
      . </para>
						</value>
						<remarks>
							<para>The <see cref="P:System.Net.HttpWebRequest.ContentType"/> property contains the media type
   of the current instance. Values assigned to the <see cref="P:System.Net.HttpWebRequest.ContentType"/> property replace any existing
   contents when the request sends the Content-type HTTP header. </para>
							<block subset="none" type="note">
								<para>To clear the Content-type HTTP header, set the <see cref="P:System.Net.HttpWebRequest.ContentType"/> property
   to <see langword="null "/>
   .</para>
								<para>For additional information see section 14.17 of IETF RFC
   2616 - HTTP/1.1.</para>
								<para>This property overrides <see cref="P:System.Net.WebRequest.ContentType" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ContinueDelegate">
					<MemberSignature Language="ILASM" Value=".property class System.Net.HttpContinueDelegate ContinueDelegate { public hidebysig specialname instance class System.Net.HttpContinueDelegate get_ContinueDelegate() public hidebysig specialname instance void set_ContinueDelegate(class System.Net.HttpContinueDelegate value) }"/>
					<MemberSignature Language="C#" Value="public HttpContinueDelegate ContinueDelegate { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpContinueDelegate</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the delegate method whose methods are invoked when an HTTP 100-continue response is received
 by the current instance.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Net.HttpContinueDelegate"/> 
that references the methods that are invoked when an HTTP Continue response is
received. The default value is <see langword="null"/>
.</para>
						</value>
						<remarks>
							<block subset="none" type="note">
								<para> 
 This delegate is useful to display the status of responses received by the current
 instance.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Credentials">
					<MemberSignature Language="ILASM" Value=".property class System.Net.ICredentials Credentials { public hidebysig virtual specialname class System.Net.ICredentials get_Credentials() public hidebysig virtual specialname void set_Credentials(class System.Net.ICredentials value) }"/>
					<MemberSignature Language="C#" Value="public override ICredentials Credentials { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.ICredentials</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the credentials used for authenticating
      the current request.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Net.ICredentials"/> object containing
   the authentication credentials associated with
   the current instance. The default is
<see langword="null"/>.</para>
						</value>
						<remarks>
							<block subset="none" type="note">
								<para>The <see cref="P:System.Net.HttpWebRequest.Credentials"/> property contains
      authentication information to identify the client making the request. The <see cref="P:System.Net.HttpWebRequest.Credentials"/> property can be either an instance
      of <see cref="T:System.Net.NetworkCredential"/>, in which case the user, password, and domain
      information contained in the <see cref="T:System.Net.NetworkCredential"/> instance is used to authenticate
      the request, or it can be an instance of <see cref="T:System.Net.CredentialCache"/>, in which case the uniform resource
      identifier (URI) of the request is used to determine the user, password, and
      domain information to use to authenticate the request.</para>
								<para>This property overrides <see cref="P:System.Net.WebRequest.Credentials" qualify="true"/>
.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndGetRequestStream">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.IO.Stream EndGetRequestStream(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public override Stream EndGetRequestStream(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.Stream</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Completes an asynchronous request for a stream that was
      started by the <see cref="M:System.Net.HttpWebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)"/>
      method.</para>
						</summary>
						<param name="asyncResult">The <see cref="T:System.IAsyncResult"/> object that holds the state information for the asynchronous operation.</param>
						<returns>
							<para>A <see cref="T:System.IO.Stream"/> to write request data to.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="asyncResult"/> was not returned by the current instance from a call to <see cref="M:System.Net.WebRequest.BeginGetRequestStream(System.AsyncCallback,System.Object)"/>.</exception>
						<exception cref="T:System.InvalidOperationException">
							<para> This method was called previously using <paramref name="asyncResult."/>
							</para>
							<para>-or-</para>
							<para>No stream is available.</para>
						</exception>
						<exception cref="T:System.Net.WebException">
							<para>
								<see cref="M:System.Net.HttpWebRequest.Abort"/> was previously called.</para>
							<para>-or-</para>
							<para>An error occurred while processing the request.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para> The caller is responsible for calling the <see cref="M:System.IO.Stream.Close" qualify="true"/>
   method to close the
   stream.
   </para>
								<para>This method overrides <see cref="M:System.Net.WebRequest.EndGetRequestStream(System.IAsyncResult)" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndGetResponse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Net.WebResponse EndGetResponse(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public override WebResponse EndGetResponse(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.WebResponse</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Net.WebResponse"/> that contains a response to the specified pending
   Internet request.</para>
						</summary>
						<param name="asyncResult">The <see cref="T:System.IAsyncResult"/> object that hold the state information for the asynchronous operation. </param>
						<returns>
							<para>A <see cref="T:System.Net.WebResponse"/> that contains a response to the Internet request
   referenced by <paramref name="asyncResult"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="asyncResult"/> was not returned by the current instance from a call to <see cref="M:System.Net.WebRequest.BeginGetResponse(System.AsyncCallback,System.Object)"/>.</exception>
						<exception cref="T:System.InvalidOperationException">
							<para> This method was called previously using <paramref name="asyncResult."/>
							</para>
							<para>-or-</para>
							<para>The <see cref="P:System.Net.HttpWebRequest.ContentLength"/> property of the current instance is greater than 0 but the data has not been written to the request stream.</para>
						</exception>
						<exception cref="T:System.Net.WebException">
							<para>
								<see cref="M:System.Net.HttpWebRequest.Abort"/> was previously called.</para>
							<para>-or-</para>
							<para>An error occurred while processing the request.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This method completes an asynchronous request for
         an Internet resource that was started by calling <see cref="M:System.Net.HttpWebRequest.BeginGetResponse(System.AsyncCallback,System.Object)"/>.</para>
								<para>This method overrides <see cref="M:System.Net.WebRequest.EndGetResponse(System.IAsyncResult)" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Expect">
					<MemberSignature Language="ILASM" Value=".property string Expect { public hidebysig specialname instance string get_Expect() public hidebysig specialname instance void set_Expect(string value) }"/>
					<MemberSignature Language="C#" Value="public string Expect { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the value of the HTTP Expect header.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> that contains the
   contents of the HTTP Expect header. The default value is
<see langword="null"/> . </para>
						</value>
						<exception cref="T:System.ArgumentException">The value specified for a set operation is "100-continue". This value is case insensitive.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>By default, <see cref="P:System.Net.HttpWebRequest.Expect"/> is <see langword="null"/> . Other values can be added to the
      list that <see cref="P:System.Net.HttpWebRequest.Expect"/> maintains, or all values except "100-continue" can be
      deleted from the list by setting <see cref="P:System.Net.HttpWebRequest.Expect"/> to <see langword="null"/> .</para>
								<para>For additional information see section 14.20 of IETF RFC
      2616 - HTTP/1.1.</para>
							</block>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para>The algorithm used to 
 generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Object.GetHashCode" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetRequestStream">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.IO.Stream GetRequestStream()"/>
					<MemberSignature Language="C#" Value="public override Stream GetRequestStream();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.Stream</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.IO.Stream"/> for writing data to the Internet resource requested by the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.IO.Stream"/> for writing
   data to an Internet resource requested by the current instance.</para>
						</returns>
						<exception cref="T:System.Net.ProtocolViolationException">
							<para>The <see cref="P:System.Net.HttpWebRequest.Method"/> property of the current instance is "GET" or "HEAD". </para>
							<para> -or- </para>
							<para>The <see cref="P:System.Net.HttpWebRequest.ContentLength"/> property of the current instance is not set. </para>
						</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>The <see cref="M:System.Net.HttpWebRequest.GetRequestStream"/> method was called more than once.</para>
							<para>-or-</para>
							<para>No writeable stream is available.</para>
						</exception>
						<exception cref="T:System.Net.WebException">
							<para>
								<see cref="M:System.Net.HttpWebRequest.Abort"/> was previously called.</para>
							<para>-or-</para>
							<para>The timeout period for the request expired.</para>
							<para>-or-</para>
							<para>An error occurred while processing the request.</para>
						</exception>
						<remarks>
							<para> The value of the
   <see cref="P:System.Net.HttpWebRequest.ContentLength"/> property is required to be set before writing data to the
      stream.
      </para>
							<block subset="none" type="note">
								<para>This method returns a stream to use to
         send data for the <see cref="T:System.Net.HttpWebRequest"/>. Once the <see cref="T:System.IO.Stream"/> instance has been returned,
         data can be sent with the <see cref="T:System.Net.HttpWebRequest"/> by using the <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)" qualify="true"/> method. </para>
								<para> Call the <see cref="M:System.IO.Stream.Close" qualify="true"/> method to close the stream and release
      the connection
      for reuse. Failure to close the stream may cause the application to run out of
      connections.
      </para>
								<para>This method overrides <see cref="M:System.Net.WebRequest.GetRequestStream" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetResponse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Net.WebResponse GetResponse()"/>
					<MemberSignature Language="C#" Value="public override WebResponse GetResponse();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.WebResponse</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a response to an Internet request.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Net.WebResponse"/> containing the response from the Internet resource requested by the current
   instance.</para>
						</returns>
						<exception cref="T:System.Net.ProtocolViolationException">The <see cref="P:System.Net.HttpWebRequest.ContentLength"/> property of the current instance is not set. </exception>
						<exception cref="T:System.Net.WebException">
							<para>
								<see cref="M:System.Net.HttpWebRequest.Abort"/> was previously called.</para>
							<para>-or-</para>
							<para>The timeout period for the request expired.</para>
							<para>-or-</para>
							<para>An error occurred while processing the request.</para>
						</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This method returns a <see cref="T:System.Net.WebResponse"/> instance containing the response from the Internet resource requested
      by the current instance. The actual instance returned is an instance of
   <see cref="T:System.Net.HttpWebResponse"/> , and can be typecast to that class to access
      HTTP-specific properties.</para>
								<para>This method overrides <see cref="M:System.Net.WebRequest.GetResponse" qualify="true"/>
.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HaveResponse">
					<MemberSignature Language="ILASM" Value=".property bool HaveResponse { public hidebysig specialname instance bool get_HaveResponse() }"/>
					<MemberSignature Language="C#" Value="public bool HaveResponse { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating whether a response has been received for the current
   instance.
   </para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if a response has been received; otherwise
<see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Headers">
					<MemberSignature Language="ILASM" Value=".property class System.Net.WebHeaderCollection Headers { public hidebysig virtual specialname class System.Net.WebHeaderCollection get_Headers() public hidebysig virtual specialname void set_Headers(class System.Net.WebHeaderCollection value) }"/>
					<MemberSignature Language="C#" Value="public override WebHeaderCollection Headers { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.WebHeaderCollection</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the collection of HTTP header name/value pairs associated with the
      current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Net.WebHeaderCollection"/> containing the name/value pairs of the headers for
   the current instance.</para>
						</value>
						<exception cref="T:System.InvalidOperationException">A set operation was requested but data has already been written to the request data stream.</exception>
						<remarks>
							<para> 
      The following table
      lists the HTTP headers that cannot be set using the collection
      returned by this property.</para>
							<list type="table">
								<listheader>
									<term>Header</term>
									<description>Set by</description>
								</listheader>
								<item>
									<term> Accept</term>
									<description>
										<see cref="P:System.Net.HttpWebRequest.Accept"/>
      .</description>
								</item>
								<item>
									<term> Connection</term>
									<description>
										<para>
											<see cref="P:System.Net.HttpWebRequest.Connection"/>
   .</para>
										<para>
											<see cref="P:System.Net.HttpWebRequest.KeepAlive"/>.</para>
									</description>
								</item>
								<item>
									<term> Content-Length</term>
									<description>
										<see cref="P:System.Net.HttpWebRequest.ContentLength"/>.</description>
								</item>
								<item>
									<term> Content-Type</term>
									<description>
										<see cref="P:System.Net.HttpWebRequest.ContentType"/>.</description>
								</item>
								<item>
									<term> Expect</term>
									<description>
										<see cref="P:System.Net.HttpWebRequest.Expect"/>.</description>
								</item>
								<item>
									<term> Date</term>
									<description>Set
      by the system to the current date.</description>
								</item>
								<item>
									<term> Host</term>
									<description>Set
      by the system to the current host information.</description>
								</item>
								<item>
									<term> Range</term>
									<description>
										<see cref="M:System.Net.HttpWebRequest.AddRange(System.Int32,System.Int32)"/>
.</description>
								</item>
								<item>
									<term> Referer</term>
									<description>
										<see cref="P:System.Net.HttpWebRequest.Referer"/>.</description>
								</item>
								<item>
									<term> Transfer-Encoding</term>
									<description>
										<para>
											<see cref="P:System.Net.HttpWebRequest.TransferEncoding"/>. <see langword=""/>
										</para>
										<para>
											<see cref="P:System.Net.HttpWebRequest.SendChunked"/>.</para>
									</description>
								</item>
								<item>
									<term> User-Agent</term>
									<description>
										<see cref="P:System.Net.HttpWebRequest.UserAgent"/>.</description>
								</item>
							</list>
							<para>
								<block subset="none" type="note">This property overrides <see cref="P:System.Net.WebRequest.Headers" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IfModifiedSince">
					<MemberSignature Language="ILASM" Value=".property valuetype System.DateTime IfModifiedSince { public hidebysig specialname instance valuetype System.DateTime get_IfModifiedSince() public hidebysig specialname instance void set_IfModifiedSince(valuetype System.DateTime value) }"/>
					<MemberSignature Language="C#" Value="public DateTime IfModifiedSince { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the value of the HTTP If-Modified-Since 
      header.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.DateTime"/> that contains the 
   contents of the HTTP If-Modified-Since
   header. The default value is the current
   date and time of the system.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note">For additional
      information see section 14.25 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="KeepAlive">
					<MemberSignature Language="ILASM" Value=".property bool KeepAlive { public hidebysig specialname instance bool get_KeepAlive() public hidebysig specialname instance void set_KeepAlive(bool value) }"/>
					<MemberSignature Language="C#" Value="public bool KeepAlive { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets a <see cref="T:System.Boolean"/> value indicating whether to make a persistent connection to the server hosting the Internet resource requested by the current instance.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>indicates
   that the current request will contain an HTTP Connection header with the value
   "Keep-alive"
   ; otherwise, <see langword="false"/>. The default
   value is <see langword="true"/>.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note">An application uses <see cref="P:System.Net.HttpWebRequest.KeepAlive"/>
to indicate a preference for persistent connections. When this property is <see langword="true"/> , the application makes persistent connections to
the servers that support them.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaximumAutomaticRedirections">
					<MemberSignature Language="ILASM" Value=".property int32 MaximumAutomaticRedirections { public hidebysig specialname instance int32 get_MaximumAutomaticRedirections() public hidebysig specialname instance void set_MaximumAutomaticRedirections(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int MaximumAutomaticRedirections { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the maximum number of redirects that the current instance will follow.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> value that
   indicates the maximum number of redirection responses that the current instance will follow. The
   default value is implementation-defined.</para>
						</value>
						<exception cref="T:System.ArgumentException">The value specified for a set operation is less than or equal to zero.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">This
      property sets the maximum number of
      redirections for the request to follow if the <see cref="P:System.Net.HttpWebRequest.AllowAutoRedirect"/> property
      is <see langword="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MediaType">
					<MemberSignature Language="ILASM" Value=".property string MediaType { public hidebysig specialname instance string get_MediaType() public hidebysig specialname instance void set_MediaType(string value) }"/>
					<MemberSignature Language="C#" Value="public string MediaType { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the media type of the current request.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> that identifies the media type of the current request. The default value is
<see langword="null"/>.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note">The value of this
      property affects the <see cref="P:System.Net.HttpWebResponse.CharacterSet"/> property. When this property is set in
      the current instance,
      the corresponding media type is chosen from the list of character sets returned
      in the response HTTP Content-type
      header. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Method">
					<MemberSignature Language="ILASM" Value=".property string Method { public hidebysig virtual specialname string get_Method() public hidebysig virtual specialname void set_Method(string value) }"/>
					<MemberSignature Language="C#" Value="public override string Method { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the HTTP protocol request method used by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing an HTTP method. The default value
   is "GET".</para>
						</value>
						<exception cref="T:System.ArgumentException">
							<see langword="null"/>, <see cref="F:System.String.Empty"/>, or an invalid value was specified for a set operation.</exception>
						<remarks>
							<para>If the <see cref="P:System.Net.HttpWebRequest.ContentLength"/> property is set to any value other
   than -1, the <see cref="P:System.Net.HttpWebRequest.Method"/> property
   is
   required to be set to a protocol method that sends request data.</para>
							<para>The <see cref="P:System.Net.HttpWebRequest.Method"/>
property
can be set to any of the following HTTP 1.1
protocol methods:</para>
							<list type="table">
								<listheader>
									<term>HTTP Method</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> GET</term>
									<description>Retrieves in entity-body form the
         information identified by the <see cref="P:System.Net.HttpWebRequest.RequestUri"/> property of the current
         instance.</description>
								</item>
								<item>
									<term> HEAD</term>
									<description>Identical to GET except that the message-body is not
         returned in the response.</description>
								</item>
								<item>
									<term> POST</term>
									<description> Requests that the origin server accept the entity
         enclosed in the request as a new subordinate of the resource identified the
         Request-URI in the Request-Line.</description>
								</item>
								<item>
									<term> PUT</term>
									<description>Requests that the enclosed entity be stored
         under the supplied Request-URI.</description>
								</item>
								<item>
									<term> DELETE</term>
									<description>Requests that the origin server delete the resource
         identified by the Request-URI.</description>
								</item>
								<item>
									<term> TRACE</term>
									<description>Invokes a remote, application-layer loopback of the
         request message.</description>
								</item>
								<item>
									<term> OPTIONS</term>
									<description>Requests information about the communication
         options available on the request/response chain identified by the
         Request-URI. <block subset="none" type="note">This allows the
         client to determine the options and/or requirements associated with a
         resource, or the capabilities of a server, without implying a resource
         action or initiating a resource
         retrieval.</block>
									</description>
								</item>
							</list>
							<block subset="none" type="note">
								<para>For detailed information regarding these methods, see
      sections 9.2 to 9.8 of RFC 2616.</para>
								<para>This property overrides <see cref="P:System.Net.WebRequest.Method" qualify="true"/>
.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Pipelined">
					<MemberSignature Language="ILASM" Value=".property bool Pipelined { public hidebysig specialname instance bool get_Pipelined() public hidebysig specialname instance void set_Pipelined(bool value) }"/>
					<MemberSignature Language="C#" Value="public bool Pipelined { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets a <see cref="T:System.Boolean"/> value indicating whether to pipeline the current request to the Internet resource.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>if the current request can be pipelined; otherwise,
<see langword="false"/>. The default is <see langword="true"/>.</para>
						</value>
						<remarks>
							<para>An application uses this property to indicate a preference for pipelined connections. If <see cref="P:System.Net.HttpWebRequest.Pipelined"/> is <see langword="true"/> , an application makes pipelined connections to servers that support them.</para>
							<para>
								<block subset="none" type="note">Pipelined connections are made only when the <see cref="P:System.Net.HttpWebRequest.KeepAlive"/>
property is <see langword="true"/> .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PreAuthenticate">
					<MemberSignature Language="ILASM" Value=".property bool PreAuthenticate { public hidebysig virtual specialname bool get_PreAuthenticate() public hidebysig virtual specialname void set_PreAuthenticate(bool value) }"/>
					<MemberSignature Language="C#" Value="public override bool PreAuthenticate { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets a Boolean value that indicates whether to send HTTP
      preauthentication header information with current instance without waiting for
      an authentication challenge from the requested resource.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>to send a HTTP
WWW-authenticate header with the current 
   instance without waiting for an authentication challenge from the requested
   resource; otherwise, <see langword="false"/>. The default is
<see langword="false"/>.</para>
						</value>
						<remarks>
							<para>When <see cref="P:System.Net.HttpWebRequest.PreAuthenticate"/> is <see langword="true"/> and credentials are supplied, the HTTP WWW-authenticate header is sent with the current
   instance without waiting for an authentication
   challenge from the requested resource; otherwise the request uses standard authentication procedures.</para>
							<block subset="none" type="note">
								<para>Set this property to <see langword="true "/>to allow
   clients to improve server efficiency by avoiding extra round trips caused by
   authentication challenges.</para>
								<para>This property overrides <see cref="P:System.Net.WebRequest.PreAuthenticate" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ProtocolVersion">
					<MemberSignature Language="ILASM" Value=".property class System.Version ProtocolVersion { public hidebysig specialname instance class System.Version get_ProtocolVersion() public hidebysig specialname instance void set_ProtocolVersion(class System.Version value) }"/>
					<MemberSignature Language="C#" Value="public Version ProtocolVersion { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Version</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the version of the
      HTTP protocol to use for the current request.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Version"/> that represents
   the HTTP version to use for the request. The default is <see cref="F:System.Net.HttpVersion.Version11" qualify="true"/>.</para>
						</value>
						<exception cref="T:System.ArgumentException">The HTTP version is set to a value other than 1.0 or 1.1.</exception>
						<remarks>
							<para>The <see cref="T:System.Net.HttpWebRequest"/> class supports only versions 1.0 and 1.1 of
   HTTP. Setting <see cref="P:System.Net.HttpWebRequest.ProtocolVersion"/> to a
   different version causes a <see cref="T:System.ArgumentException"/> exception to be thrown.</para>
							<para>
								<block subset="none" type="note">To set
   the <see cref="P:System.Net.HttpWebRequest.ProtocolVersion"/> property of the current instance, specify one of the members of
   the use the
<see cref="T:System.Net.HttpVersion"/> class. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Proxy">
					<MemberSignature Language="ILASM" Value=".property class System.Net.IWebProxy Proxy { public hidebysig virtual specialname class System.Net.IWebProxy get_Proxy() public hidebysig virtual specialname void set_Proxy(class System.Net.IWebProxy value) }"/>
					<MemberSignature Language="C#" Value="public override IWebProxy Proxy { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IWebProxy</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets network proxy information for the current instance.</para>
						</summary>
						<value>
							<para>The <see cref="T:System.Net.WebProxy"/> instance to
   use as a
   proxy for the current instance. The default value is set by calling <see cref="P:System.Net.GlobalProxySelection.Select" qualify="true"/> . </para>
						</value>
						<exception cref="T:System.ArgumentNullException">A set operation was requested and the specified value was <see langword="null"/>.</exception>
						<exception cref="T:System.InvalidOperationException">A set operation was requested but data has already been sent to the request stream.</exception>
						<exception cref="T:System.Security.SecurityException">The caller does not have permission for the requested operation.</exception>
						<remarks>
							<para>The <see cref="P:System.Net.HttpWebRequest.Proxy"/>
property identifies the <see cref="T:System.Net.WebProxy"/> instance to use
to communicate with the destination server.</para>
							<block subset="none" type="note">
								<para> To specify that no proxy should be used, set the <see cref="P:System.Net.HttpWebRequest.Proxy"/>
property to the proxy instance returned by the <see cref="M:System.Net.GlobalProxySelection.GetEmptyWebProxy" qualify="true"/> method.</para>
								<para>This property overrides <see cref="P:System.Net.WebRequest.Proxy" qualify="true"/>.</para>
							</block>
						</remarks>
						<permission cref="!:System.Security.Permissions.WebPermission">Requires unrestricted <see cref="T:System.Net.WebPermission"/>. See <see cref="F:System.Security.Permissions.PermissionState.Unrestricted"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Referer">
					<MemberSignature Language="ILASM" Value=".property string Referer { public hidebysig specialname instance string get_Referer() public hidebysig specialname instance void set_Referer(string value) }"/>
					<MemberSignature Language="C#" Value="public string Referer { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the value of the HTTP Referer header.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing the 
   value of the HTTP Referer header. The default value is
<see langword="null"/>.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note">For additional
      information see section 14.36 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RequestUri">
					<MemberSignature Language="ILASM" Value=".property class System.Uri RequestUri { public hidebysig virtual specialname class System.Uri get_RequestUri() }"/>
					<MemberSignature Language="C#" Value="public override Uri RequestUri { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Uri</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the <see cref="T:System.Uri"/> of the resource that receives requests sent by the current instance.</para>
						</summary>
						<value>
							<para>The <see cref="T:System.Uri"/> of the resource that receives requests sent by the
   current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>This property is the <see cref="T:System.Uri"/> instance passed to the current instance via the <see cref="M:System.Net.WebRequest.Create(System.Uri,System.Boolean)" qualify="true"/> method. </para>
							<block subset="none" type="note">
								<para>Following a redirection header does not change the <see cref="P:System.Net.HttpWebRequest.RequestUri"/> property.
   The URI of the resource
   that actually responded to the current instance is contained by <see cref="P:System.Net.HttpWebRequest.Address"/> property of the current
   instance.</para>
								<para>This property overrides <see cref="P:System.Net.WebRequest.RequestUri" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SendChunked">
					<MemberSignature Language="ILASM" Value=".property bool SendChunked { public hidebysig specialname instance bool get_SendChunked() public hidebysig specialname instance void set_SendChunked(bool value) }"/>
					<MemberSignature Language="C#" Value="public bool SendChunked { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets a value indicating whether to send data in segments.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>
to send data in segments; otherwise,
<see langword="false"/>. The default value is <see langword="false"/>.</para>
						</value>
						<exception cref="T:System.InvalidOperationException">A set operation was requested but data has already been written to the request data stream.</exception>
						<remarks>
							<para>When <see cref="P:System.Net.HttpWebRequest.SendChunked"/> is <see langword="true"/> , the request sends data to the destination in segments. The
   destination server is required to support receiving chunked data.</para>
							<para>
								<block subset="none" type="note">Set this property
   to <see langword="true"/> only if the server specified by the <see cref="P:System.Net.HttpWebRequest.Address"/> property of the current instance accepts chunked
   data (i.e. is HTTP/1.1 or greater in compliance). If the server does not
   accept chunked data, buffer all data to be written and send a HTTP Content-Length header with the
   buffered data.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ServicePoint">
					<MemberSignature Language="ILASM" Value=".property class System.Net.ServicePoint ServicePoint { public hidebysig specialname instance class System.Net.ServicePoint get_ServicePoint() }"/>
					<MemberSignature Language="C#" Value="public ServicePoint ServicePoint { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.ServicePoint</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the service point to use for the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Net.ServicePoint"/> 
that represents the network connection to the
destination. The value of this property is <see langword="null"/> until the <see cref="M:System.Net.HttpWebRequest.GetResponse"/> method is called.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Timeout">
					<MemberSignature Language="ILASM" Value=".property int32 Timeout { public hidebysig virtual specialname int32 get_Timeout() public hidebysig virtual specialname void set_Timeout(int32 value) }"/>
					<MemberSignature Language="C#" Value="public override int Timeout { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the length of time before the request times out.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> indicating the number of milliseconds to wait for a response until the request times out,
   or <see cref="F:System.Threading.Timeout.Infinite" qualify="true"/> to indicate that the request does not
   time out.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>A value less than zero and not equal to <see cref="F:System.Threading.Timeout.Infinite" qualify="true"/> is specified for a set operation.</para>
						</exception>
						<remarks>
							<para>
								<see cref="P:System.Net.HttpWebRequest.Timeout"/> is the number of milliseconds that a
   synchronous request made with the <see cref="M:System.Net.HttpWebRequest.GetResponse"/> method waits for a response. If a resource does
   not respond within the time-out period, the request throws a <see cref="T:System.Net.WebException"/> with
   the <see cref="P:System.Net.WebException.Status"/> property set to <see cref="F:System.Net.WebExceptionStatus.Timeout" qualify="true"/>.</para>
							<para>
								<block subset="none" type="note">This property overrides <see cref="P:System.Net.WebRequest.Timeout" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TransferEncoding">
					<MemberSignature Language="ILASM" Value=".property string TransferEncoding { public hidebysig specialname instance string get_TransferEncoding() public hidebysig specialname instance void set_TransferEncoding(string value) }"/>
					<MemberSignature Language="C#" Value="public string TransferEncoding { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the value of the HTTP
   Transfer-encoding header.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> that contains the value of the
   HTTP Transfer-encoding header.
   The default value is <see langword="null"/>.</para>
						</value>
						<exception cref="T:System.InvalidOperationException">
							<see cref="P:System.Net.HttpWebRequest.TransferEncoding"/> is set when <see cref="P:System.Net.HttpWebRequest.SendChunked"/> is <see langword="false"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<see cref="P:System.Net.HttpWebRequest.TransferEncoding"/> is set to the value "Chunked". This value is case insensitive.</exception>
						<remarks>
							<para>This property can be set in the current instance only if
      the <see cref="P:System.Net.HttpWebRequest.SendChunked"/> property in the current instance is
   <see langword="true"/>.</para>
							<block subset="none" type="note">
								<para> Clearing <see cref="P:System.Net.HttpWebRequest.TransferEncoding"/> by setting it to <see langword="null "/>has no effect on
      the value of <see cref="P:System.Net.HttpWebRequest.SendChunked"/>.</para>
								<para>Values assigned to the <see cref="P:System.Net.HttpWebRequest.TransferEncoding"/> property replace any
   existing contents.</para>
								<para>For additional information see section 14.41 of IETF RFC
   2616 - HTTP/1.1.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="UserAgent">
					<MemberSignature Language="ILASM" Value=".property string UserAgent { public hidebysig specialname instance string get_UserAgent() public hidebysig specialname instance void set_UserAgent(string value) }"/>
					<MemberSignature Language="C#" Value="public string UserAgent { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the value of the HTTP
   User-agent header.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the value of the HTTP User-agent header. The default value is
<see langword="null"/>.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note">For additional 
      information see section 14.43 of IETF RFC 2616 - HTTP/1.1.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="HttpWebResponse" FullName="System.Net.HttpWebResponse" FullNameSP="System_Net_HttpWebResponse">
			<TypeSignature Language="ILASM" Value=".class public serializable HttpWebResponse extends System.Net.WebResponse"/>
			<TypeSignature Language="C#" Value="public class HttpWebResponse : WebResponse"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Provides an HTTP-specific implementation of the
   <see cref="T:System.Net.WebResponse"/>
   class.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para>The <see cref="T:System.Net.HttpWebResponse"/> class contains support for the
      properties and methods included in <see cref="T:System.Net.WebResponse"/> with
      additional
      elements that
      enable the user to interact directly with the Hypertext Transfer Protocol (HTTP).</para>
						<para>Expected usage is that instances of this class are not created directly but
      are obtained by calling
   <see cref="M:System.Net.HttpWebRequest.GetResponse" qualify="true"/> . To obtain the response from the Internet resource as a
   <see cref="T:System.IO.Stream"/>
   , call the <see cref="M:System.Net.HttpWebResponse.GetResponseStream"/> method.
   </para>
						<para>Certain HTTP headers are protected such that the user
   cannot set them directly in the header collection. Instead, these headers can be
   set via the properties of the <see cref="T:System.Net.HttpWebRequest"/> class or are set by the system. The following table
   details these protected headers.</para>
						<list type="table">
							<listheader>
								<term>Header</term>
								<description>Set by</description>
							</listheader>
							<item>
								<term> Accept</term>
								<description>
									<see cref="P:System.Net.HttpWebRequest.Accept"/>
								</description>
							</item>
							<item>
								<term> Connection</term>
								<description>
									<para>
										<see cref="P:System.Net.HttpWebRequest.Connection"/>
									</para>
									<para>
										<see cref="P:System.Net.HttpWebRequest.KeepAlive"/>
									</para>
								</description>
							</item>
							<item>
								<term> Content-Length</term>
								<description>
									<see cref="P:System.Net.HttpWebRequest.ContentLength"/>
								</description>
							</item>
							<item>
								<term> Content-Type</term>
								<description>
									<see cref="P:System.Net.HttpWebRequest.ContentType"/>
								</description>
							</item>
							<item>
								<term> Expect</term>
								<description>
									<see cref="P:System.Net.HttpWebRequest.Expect"/>
								</description>
							</item>
							<item>
								<term> Date</term>
								<description>Set to current date by the system.</description>
							</item>
							<item>
								<term> Host</term>
								<description>Set to current host by the system.</description>
							</item>
							<item>
								<term> if-Modified-since</term>
								<description>
									<see cref="P:System.Net.HttpWebRequest.IfModifiedSince"/>
								</description>
							</item>
							<item>
								<term> Range</term>
								<description>
									<see cref="M:System.Net.HttpWebRequest.AddRange(System.Int32,System.Int32)"/>
								</description>
							</item>
							<item>
								<term> Referer</term>
								<description>
									<see cref="P:System.Net.HttpWebRequest.Referer"/>
								</description>
							</item>
							<item>
								<term> Transfer-Encoding</term>
								<description>
									<para>
										<see cref="P:System.Net.HttpWebRequest.TransferEncoding"/>
									</para>
									<para>
										<see cref="P:System.Net.HttpWebRequest.SendChunked"/>
									</para>
								</description>
							</item>
							<item>
								<term> User-Agent</term>
								<description>
									<see cref="P:System.Net.HttpWebRequest.UserAgent"/>
								</description>
							</item>
						</list>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Net.WebResponse</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IDisposable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName="CharacterSet">
					<MemberSignature Language="ILASM" Value=".property string CharacterSet { public hidebysig specialname instance string get_CharacterSet() }"/>
					<MemberSignature Language="C#" Value="public string CharacterSet { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the character set used for the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> that
   represents the character set used for the current instance.</para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">For detailed
      information about character sets, see Section 3.4 of RFC 2616.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Close">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Close()"/>
					<MemberSignature Language="C#" Value="public override void Close();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Closes the response stream.</para>
						</summary>
						<remarks>
							<para>The <see cref="M:System.Net.HttpWebResponse.Close"/> method closes the response stream and releases the connection to the Internet resource for reuse by other requests.</para>
							<block subset="none" type="note">
								<para>Call either the <see cref="M:System.IO.Stream.Close" qualify="true"/> or <see cref="M:System.Net.HttpWebResponse.Close" qualify="true"/> method to close the stream and release the connection for reuse. It is not necessary to call both <see cref="M:System.IO.Stream.Close" qualify="true"/> and <see cref="M:System.Net.HttpWebResponse.Close" qualify="true"/> , but 
 doing so does not cause an error. Failure to close the stream may cause an
 application to run out of connections. </para>
								<para>This method overrides <see cref="M:System.Net.WebResponse.Close"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ContentEncoding">
					<MemberSignature Language="ILASM" Value=".property string ContentEncoding { public hidebysig specialname instance string get_ContentEncoding() }"/>
					<MemberSignature Language="C#" Value="public string ContentEncoding { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the
      method used to encode the body of the response.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> that describes the method used to encode the body of the response.</para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This property is read-only.</para>
							<para>The <see cref="P:System.Net.HttpWebResponse.ContentEncoding"/> property contains the value of the
<see langword="Content-Encoding"/> 
header returned with the response.</para>
							<para>
								<block subset="none" type="note">For detailed information about content encoding,
   see Section 3.5 of RFC 2616.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ContentLength">
					<MemberSignature Language="ILASM" Value=".property int64 ContentLength { public hidebysig virtual specialname int64 get_ContentLength() }"/>
					<MemberSignature Language="C#" Value="public override long ContentLength { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the content length of the response data being received.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int64"/>
containing the number of bytes returned from the Internet resource. This
value does not include header information.</para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This property is read-only.</para>
							<para>The <see cref="P:System.Net.HttpWebResponse.ContentLength"/> property contains the value of the
<see langword="Content-length"/> header returned with the response. If the 
<see langword="Content-length"/> 
header
is not set in the response, <see cref="P:System.Net.HttpWebResponse.ContentLength"/>
is set to the value -1.</para>
							<para>
								<block subset="none" type="note">This property
   overrides <see cref="P:System.Net.WebResponse.ContentLength"/>
   .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ContentType">
					<MemberSignature Language="ILASM" Value=".property string ContentType { public hidebysig virtual specialname string get_ContentType() }"/>
					<MemberSignature Language="C#" Value="public override string ContentType { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the content type of the
      response.
      </para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> that
   represents the content type of the response data.</para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This property is read-only.</para>
							<para> The <see cref="P:System.Net.HttpWebResponse.ContentType"/> property contains the value of the
<see langword="Content-Type"/> 
header returned with the response.</para>
							<para>
								<block subset="none" type="note">This property
   overrides <see cref="P:System.Net.WebResponse.ContentType"/>
   .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Dispose">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Dispose(bool disposing)"/>
					<MemberSignature Language="C#" Value="protected virtual void Dispose(bool disposing);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="disposing" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Releases the unmanaged resources used by the current
      instance and optionally releases the managed resources.</para>
						</summary>
						<param name="disposing">
							<see langword="true"/> to release both managed and unmanaged resources; <see langword="false"/> to release only unmanaged resources.</param>
						<remarks>
							<para>
								<block subset="none" type="behaviors">When <paramref name="disposing"/> is <see langword="true"/>, 
   this method releases all resources held by any managed objects that the current
   instance references.</block>
							</para>
							<para>
								<block subset="none" type="overrides">When
   overriding <see cref="M:System.Net.HttpWebResponse.Dispose(System.Boolean)"/>(<see cref="T:System.Boolean"/>), be careful not to reference objects that have been
   previously disposed in an earlier call to <see cref="M:System.Net.HttpWebResponse.Dispose(System.Boolean)"/> as
<see cref="M:System.Net.HttpWebResponse.Dispose(System.Boolean)"/> may be called multiple times by 
   other objects. . </block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/>
containing the hash code for the current instance.</para>
						</returns>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>The algorithm used to generate the hash code is
      unspecified.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Object.GetHashCode" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetResponseHeader">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string GetResponseHeader(string headerName)"/>
					<MemberSignature Language="C#" Value="public string GetResponseHeader(string headerName);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="headerName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a specified header from the current response.
      </para>
						</summary>
						<param name="headerName">A <see cref="T:System.String"/> that specifies the header value to return. </param>
						<returns>
							<para> A <see cref="T:System.String"/> containing the value of the specified header.
   </para>
						</returns>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetResponseStream">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.IO.Stream GetResponseStream()"/>
					<MemberSignature Language="C#" Value="public override Stream GetResponseStream();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IO.Stream</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.IO.Stream"/> for reading the body of the response from the
   server.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.IO.Stream"/> containing the body of the response.</para>
						</returns>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>The <see cref="M:System.Net.HttpWebResponse.GetResponseStream"/>
method returns the data stream from the requested Internet
resource.</para>
							<block subset="none" type="note">
								<para>
      Call either the <see cref="M:System.IO.Stream.Close" qualify="true"/> or <see cref="M:System.Net.HttpWebResponse.Close" qualify="true"/> method to close the stream and release the
      connection for reuse. It is not necessary to call both <see cref="M:System.IO.Stream.Close" qualify="true"/> and <see cref="M:System.Net.HttpWebResponse.Close" qualify="true"/> , but doing so does
      not cause an error. Failure to close the stream may cause an application
      to run out of connections.
      </para>
								<para>This method overrides <see cref="M:System.Net.WebResponse.GetResponseStream"/> .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Headers">
					<MemberSignature Language="ILASM" Value=".property class System.Net.WebHeaderCollection Headers { public hidebysig virtual specialname class System.Net.WebHeaderCollection get_Headers() }"/>
					<MemberSignature Language="C#" Value="public override WebHeaderCollection Headers { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.WebHeaderCollection</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the
      headers associated with the current response from the server.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Net.WebHeaderCollection"/> containing the header information returned with the
   response.</para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>The <see cref="P:System.Net.HttpWebResponse.Headers"/> property is a collection
      of name/value pairs containing the HTTP header values returned
      with the response. The following table lists common headers and
      the properties that store their values.</para>
								<list type="table">
									<listheader>
										<term>Header</term>
										<description>Property</description>
									</listheader>
									<item>
										<term> Content-Encoding</term>
										<description>
											<see cref="P:System.Net.HttpWebResponse.ContentEncoding"/>
										</description>
									</item>
									<item>
										<term> Content-Length</term>
										<description>
											<see cref="P:System.Net.HttpWebResponse.ContentLength"/>
										</description>
									</item>
									<item>
										<term> Content-Type</term>
										<description>
											<see cref="P:System.Net.HttpWebResponse.ContentType"/>
										</description>
									</item>
									<item>
										<term> Last-Modified</term>
										<description>
											<see cref="P:System.Net.HttpWebResponse.LastModified"/>
										</description>
									</item>
									<item>
										<term> Server</term>
										<description>
											<see cref="P:System.Net.HttpWebResponse.Server"/>
										</description>
									</item>
								</list>
								<para>This property overrides <see cref="P:System.Net.WebResponse.Headers"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LastModified">
					<MemberSignature Language="ILASM" Value=".property valuetype System.DateTime LastModified { public hidebysig specialname instance valuetype System.DateTime get_LastModified() }"/>
					<MemberSignature Language="C#" Value="public DateTime LastModified { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the last
      date and time that the contents of the response were modified.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.DateTime"/>
value containing the date and time the contents of the response were
modified.</para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This property is read-only.</para>
							<para>The <see cref="P:System.Net.HttpWebResponse.LastModified"/> property contains the value of the
<see langword="Last-Modified"/> header
   received with the response.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Method">
					<MemberSignature Language="ILASM" Value=".property string Method { public hidebysig specialname instance string get_Method() }"/>
					<MemberSignature Language="C#" Value="public string Method { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the method used to return the response.
      </para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> that represents the HTTP method used to return the response.</para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>The <see cref="P:System.Net.HttpWebRequest.Method"/> property can be set to any of the
      HTTP 1.1 protocol methods: GET, HEAD, POST, PUT, DELETE, TRACE, or OPTIONS. The
      following table describes these methods.</para>
								<list type="table">
									<listheader>
										<term>Item</term>
										<description>Description</description>
									</listheader>
									<item>
										<term> GET</term>
										<description>Retrieves in entity-body form the
            information identified by the <see cref="P:System.Net.HttpWebRequest.RequestUri"/> property of the request
            associated with the current instance.</description>
									</item>
									<item>
										<term> HEAD</term>
										<description>Identical to GET except that the
            message-body is not returned in the response.</description>
									</item>
									<item>
										<term> POST</term>
										<description>Requests that the origin server accept the
            entity enclosed in the request as a new subordinate of the resource
            identified the Request-URI in the Request-Line.</description>
									</item>
									<item>
										<term> PUT</term>
										<description>Requests that the enclosed entity be stored
            under the supplied Request-URI.</description>
									</item>
									<item>
										<term> DELETE</term>
										<description>Requests that the origin server delete the
            resource identified by the Request-URI.</description>
									</item>
									<item>
										<term> TRACE</term>
										<description>Invokes a remote, application-layer loopback
            of the request message.</description>
									</item>
									<item>
										<term> OPTIONS</term>
										<description>Requests information about the communication
            options available on the request/response chain identified by the
            Request-URI. <block subset="none" type="note">This allows the client
            to determine the options and/or requirements associated with a resource,
            or the capabilities of a server, without implying a resource action or
            initiating a resource
            retrieval.</block>
										</description>
									</item>
								</list>
								<para>For detailed information regarding these methods, see sections 9.2 to 9.8 of
      RFC 2616.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ProtocolVersion">
					<MemberSignature Language="ILASM" Value=".property class System.Version ProtocolVersion { public hidebysig specialname instance class System.Version get_ProtocolVersion() }"/>
					<MemberSignature Language="C#" Value="public Version ProtocolVersion { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Version</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets
      the version of the HTTP protocol used in the response.
      </para>
						</summary>
						<value>
							<para>A <see cref="T:System.Version"/>
that contains the HTTP protocol version of the response.</para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This property is read-only.</para>
							<para>The <see cref="P:System.Net.HttpWebResponse.ProtocolVersion"/> property contains the <see cref="T:System.Net.HttpVersion"/> number
   of the response sent by the Internet resource.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ResponseUri">
					<MemberSignature Language="ILASM" Value=".property class System.Uri ResponseUri { public hidebysig virtual specialname class System.Uri get_ResponseUri() }"/>
					<MemberSignature Language="C#" Value="public override Uri ResponseUri { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Uri</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the <see cref="T:System.Uri"/>
of the Internet resource that actually responded to the request.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Uri"/>
representing the resource that actually responded to the request.</para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>The <see cref="P:System.Net.HttpWebResponse.ResponseUri"/> property contains the URI of the Internet resource that
      actually responded to the request. This URI may not be the same as the
      originally requested URI if the request was redirected by the original
      server.</para>
								<para>This method overrides <see cref="P:System.Net.WebResponse.ResponseUri" qualify="true"/>
.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Server">
					<MemberSignature Language="ILASM" Value=".property string Server { public hidebysig specialname instance string get_Server() }"/>
					<MemberSignature Language="C#" Value="public string Server { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the name of the server that sent the response.
      </para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the name of the server that sent the response.</para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This property is read-only.</para>
							<para> The <see cref="P:System.Net.HttpWebResponse.Server"/>
property contains the value of the <see langword="Server"/> header
returned with the response.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="StatusCode">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Net.HttpStatusCode StatusCode { public hidebysig specialname instance valuetype System.Net.HttpStatusCode get_StatusCode() }"/>
					<MemberSignature Language="C#" Value="public HttpStatusCode StatusCode { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.HttpStatusCode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the status of the response.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Net.HttpStatusCode"/> value.</para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This property is read-only.</para>
							<para>The <see cref="P:System.Net.HttpWebResponse.StatusCode"/> value
   indicates the status of the HTTP response. The expected values are defined in the <see cref="T:System.Net.HttpStatusCode"/> enumeration.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="StatusDescription">
					<MemberSignature Language="ILASM" Value=".property string StatusDescription { public hidebysig specialname instance string get_StatusDescription() }"/>
					<MemberSignature Language="C#" Value="public string StatusDescription { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the status description returned with the response.
      </para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> that describes the status of the response.</para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IAuthenticationModule" FullName="System.Net.IAuthenticationModule" FullNameSP="System_Net_IAuthenticationModule">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IAuthenticationModule"/>
			<TypeSignature Language="C#" Value="public interface IAuthenticationModule"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Implemented by types that perform client authentication.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Net.IAuthenticationModule"/> interface 
   defines the properties and methods that types are required to implement to handle
   client authentication. Types that implement this interface are called
   authentication modules. In addition to implementing this interface, an
   authentication module implements an authentication protocol, such as the
   Kerberos protocol. The <see cref="P:System.Net.IAuthenticationModule.AuthenticationType"/>
   property
   value is a case-insensitive string that typically indicates the protocol implemented by
   the module. Each authentication module registered with the authentication
   manager is required to have a unique <see cref="P:System.Net.IAuthenticationModule.AuthenticationType"/> .
   The following string values are reserved for use by modules
   implementing the indicated protocols:
   </para>
					<list type="table">
						<listheader>
							<term>AuthenticationType</term>
							<description>Protocol</description>
						</listheader>
						<item>
							<term>
								<para>"basic"</para>
							</term>
							<description>Basic as defined by IETF RFC 2617</description>
						</item>
						<item>
							<term> "digest"</term>
							<description>Digest access as defined by IETF RFC 
            2617</description>
						</item>
						<item>
							<term> "kerberos"</term>
							<description>Kerberos as defined by IETF RFC 
            1510</description>
						</item>
					</list>
					<block subset="none" type="note">
						<para> Authentication modules are registered with the
         authentication manager (<see cref="T:System.Net.AuthenticationManager"/> ) by calling the <see cref="M:System.Net.AuthenticationManager.Register(System.Net.IAuthenticationModule)" qualify="true"/>
         method. When the authentication manager receives an
         authentication request, registered authentication modules are given the
         opportunity to handle the authentication in their <see cref="M:System.Net.IAuthenticationModule.Authenticate(System.String,System.Net.WebRequest,System.Net.ICredentials)"/> method. Similarly, when a
         client wishes to avoid waiting for the server to request authentication, it can
         request preauthentication information to send with a request. If
         the <see cref="P:System.Net.IAuthenticationModule.CanPreAuthenticate"/> property of a registered
         module returns <see langword="true"/>, it is
         among the modules that are given the opportunity to provide the
         preauthentication information via the <see cref="M:System.Net.IAuthenticationModule.PreAuthenticate(System.Net.WebRequest,System.Net.ICredentials)"/>
         
         method. </para>
						<para> Not all modules receive all authentication and
         preauthentication requests. The authentication manager searches for an
         authentication module by invoking the <see cref="M:System.Net.IAuthenticationModule.Authenticate(System.String,System.Net.WebRequest,System.Net.ICredentials)"/> or <see cref="M:System.Net.IAuthenticationModule.PreAuthenticate(System.Net.WebRequest,System.Net.ICredentials)"/> method of each registered
         module in the order in which it was registered. Once a module returns
         a <see cref="T:System.Net.Authorization"/>
         
         instance, indicating that it handles the
         authentication, the authentication manager terminates the search. </para>
					</block>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Members>
				<Member MemberName="Authenticate">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Net.Authorization Authenticate(string challenge, class System.Net.WebRequest request, class System.Net.ICredentials credentials)"/>
					<MemberSignature Language="C#" Value="Authorization Authenticate(string challenge, WebRequest request, ICredentials credentials);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Authorization</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="challenge" Type="System.String"/>
						<Parameter Name="request" Type="System.Net.WebRequest"/>
						<Parameter Name="credentials" Type="System.Net.ICredentials"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns an instance of the <see cref="T:System.Net.Authorization"/> class that provides a
   response to an authentication challenge.</para>
						</summary>
						<param name="challenge">A <see cref="T:System.String"/> containing the authentication challenge sent by the server. The content of this string is determined by the authentication protocol(s) used by the server that issued the challenge.</param>
						<param name=" request">The <see cref="T:System.Net.WebRequest"/> instance that received <paramref name="challenge"/> .</param>
						<param name=" credentials">The credentials of the <see cref="T:System.Net.WebRequest"/> instance that received <paramref name="challenge"/> .</param>
						<returns>
							<para>A <see cref="T:System.Net.Authorization"/> instance containing the
   challenge response, or <see langword="null "/>if the challenge cannot be handled.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">If the
      authentication module can handle <paramref name="challenge"/> , this method
      proceeds with the authentication in accordance with the authentication protocol implemented by the current
      instance and returns a <see cref="T:System.Net.Authorization"/> instance containing the challenge response. If the authentication module cannot handle
      the challenge, this method returns <see langword="null"/>. If the authentication module encounters an
      error while conducting the authentication process, this method can, but
      is not required to throw an exception.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Implement this
      method to receive and optionally handle requests for client authentication from
      the authentication manager.</block>
							</para>
							<para>
								<block subset="none" type="usage">The <see cref="T:System.Net.AuthenticationManager"/> class invokes the <see cref="M:System.Net.IAuthenticationModule.Authenticate(System.String,System.Net.WebRequest,System.Net.ICredentials)"/>
method on registered authentication modules to allow modules to handle a
server challenge.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AuthenticationType">
					<MemberSignature Language="ILASM" Value=".property string AuthenticationType { public hidebysig virtual abstract specialname string get_AuthenticationType() }"/>
					<MemberSignature Language="C#" Value="string AuthenticationType { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the authentication type of the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> indicating the
   authentication type of the current authentication module.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="behaviors">
								<para>The following string values are reserved for use by modules implementing the 
         indicated protocols: </para>
								<para>
									<list type="table">
										<listheader>
											<term>AuthenticationType</term>
											<description>Protocol </description>
										</listheader>
										<item>
											<term> "basic"</term>
											<description> Basic as defined by IETF RFC 2617 </description>
										</item>
										<item>
											<term>"digest"</term>
											<description>Digest access as defined by IETF RFC 2617 </description>
										</item>
										<item>
											<term>"kerberos"</term>
											<description>Kerberos as defined by IETF RFC 1510 </description>
										</item>
									</list>
								</para>
							</block>
							<block subset="none" type="overrides">Implement this
property to return a string that identifies all instances of the current type.
The string returned by this property typically indicates the protocol
implemented by the current type. For example, an authentication module that
implements the Digest protocol would typically return "digest" as its <see langword="AuthenticationType"/>. </block>
							<para>
								<block subset="none" type="usage">The <see cref="P:System.Net.IAuthenticationModule.AuthenticationType"/> 
property must be unique for all registered authentication modules. The value of
this property is used by the <see cref="M:System.Net.AuthenticationManager.Register(System.Net.IAuthenticationModule)" qualify="true"/> method to determine if there
is already an authentication module registered for the type.
Modules may also be unregistered by passing the value of this property to the
<see cref="M:System.Net.AuthenticationManager.Unregister(System.Net.IAuthenticationModule)" qualify="true"/> 
method.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CanPreAuthenticate">
					<MemberSignature Language="ILASM" Value=".property bool CanPreAuthenticate { public hidebysig virtual abstract specialname bool get_CanPreAuthenticate() }"/>
					<MemberSignature Language="C#" Value="bool CanPreAuthenticate { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating whether the authentication module supports
   preauthentication.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>if the authentication module supports
   preauthentication; otherwise <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="behaviors">The <see cref="P:System.Net.IAuthenticationModule.CanPreAuthenticate"/> property is set to <see langword="true "/> to indicate that the authentication module can respond with a
<see cref="T:System.Net.Authorization"/> instance when the <see cref="M:System.Net.IAuthenticationModule.PreAuthenticate(System.Net.WebRequest,System.Net.ICredentials)"/> method is called. This 
   property returns <see langword="false"/> if the protocol implemented by
   the current authentication module does not support preauthentication.</block>
							</para>
							<para>
								<block subset="none" type="usage">This method is used by the authentication
   manager to determine which modules receive requests by clients for authentication
   information that will be supplied in anticipation of a server's request for
   authentication. This method controls whether the <see cref="M:System.Net.IAuthenticationModule.PreAuthenticate(System.Net.WebRequest,System.Net.ICredentials)"/> method can be
   called.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PreAuthenticate">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Net.Authorization PreAuthenticate(class System.Net.WebRequest request, class System.Net.ICredentials credentials)"/>
					<MemberSignature Language="C#" Value="Authorization PreAuthenticate(WebRequest request, ICredentials credentials);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Authorization</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="request" Type="System.Net.WebRequest"/>
						<Parameter Name="credentials" Type="System.Net.ICredentials"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns an instance of the <see cref="T:System.Net.Authorization"/> class containing client authentication information.</para>
						</summary>
						<param name="request">The <see cref="T:System.Net.WebRequest"/> instance associated with the authentication request.</param>
						<param name="credentials">The credentials associated with the authentication request.</param>
						<returns>
							<para>A <see cref="T:System.Net.Authorization"/> instance containing client authentication
   information to be sent with <paramref name="request"/>, or <see langword="null "/>if the current instance does not support preauthentication.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">This method returns an instance of the <see cref="T:System.Net.Authorization"/> class containing authentication information to be
   sent with the request. This method is required to return <see langword="null"/>
   if it cannot handle preauthentication requests
   from the authentication manager.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Implement this method if the
   protocol implemented by the current instance supports
   preauthentication.</block>
							</para>
							<para>
								<block subset="none" type="usage">This method is used by
   the authentication manager to handle requests by clients
   for authentication information that will be used to preempt a server's
   request for authentication. This method is not called unless the <see cref="P:System.Net.IAuthenticationModule.CanPreAuthenticate"/> property returns
<see langword="true"/>.</block>
							</para>
							<para>
								<see langword=""/>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ICredentials" FullName="System.Net.ICredentials" FullNameSP="System_Net_ICredentials">
			<TypeSignature Language="ILASM" Value=".class interface public abstract ICredentials"/>
			<TypeSignature Language="C#" Value="public interface ICredentials"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Implemented by types that supply network credentials used to authenticate clients.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Net.ICredentials"/> interface defines the <see cref="M:System.Net.ICredentials.GetCredential(System.Uri,System.String)"/> method, which
   is used to supply network credentials for client authentication.</para>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Members>
				<Member MemberName="GetCredential">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Net.NetworkCredential GetCredential(class System.Uri uri, string authType)"/>
					<MemberSignature Language="C#" Value="NetworkCredential GetCredential(Uri uri, string authType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.NetworkCredential</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="uri" Type="System.Uri"/>
						<Parameter Name="authType" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Net.NetworkCredential"/> object that is associated with a Uniform Resource Identifier (URI) and authentication type.</para>
						</summary>
						<param name="uri">A <see cref="T:System.Uri"/> representing the URI for which the client is providing authentication.</param>
						<param name="authType">A <see cref="T:System.String"/> containing the type of authentication. This value is required to be identical to the <see cref="P:System.Net.IAuthenticationModule.AuthenticationType" qualify="true"/> of the authentication module that uses the credential returned by this method. </param>
						<returns>
							<para>A <see cref="T:System.Net.NetworkCredential"/> associated with the specified URI and authentication
   type, or <see langword="null"/> if the credentials cannot be provided.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Implement this method to return
      credentials information appropriate for the specified authentication
      type.</block>
							</para>
							<para>
								<block subset="none" type="usage">This method returns an object suitable for passing to the <see cref="M:System.Net.IAuthenticationModule.Authenticate(System.String,System.Net.WebRequest,System.Net.ICredentials)"/> method
   of the authorization module registered for the specified authentication type.
   For additional information, see <see cref="M:System.Net.AuthenticationManager.Register(System.Net.IAuthenticationModule)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IPAddress" FullName="System.Net.IPAddress" FullNameSP="System_Net_IPAddress">
			<TypeSignature Language="ILASM" Value=".class public serializable IPAddress extends System.Object"/>
			<TypeSignature Language="C#" Value="public class IPAddress"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents an Internet Protocol (IP) address.</para>
				</summary>
				<remarks>
					<para>An instance of the <see cref="T:System.Net.IPAddress"/> class contains the
   value of an address on an IP
   network. This address is stored internally as a <see cref="T:System.Int64" qualify="true"/>
   
   in network-byte-order.</para>
					<para>
						<block subset="none" type="note">
   
   Different conventions are in use
   for ordering bytes within multi-byte data types. All IP address values must be sent over the network in
   network-byte-order. Network-byte-order puts the most significant byte first (also known
   as big-endian order). On the host, the ordering of bytes
   is platform-specific and this ordering is referred to as host-byte-order.</block>
					</para>
					<para>The IP address can be represented as four numbers in the range
   0-255 separated by periods (for example, "192.168.1.2"), known as dotted-quad notation. </para>
					<block subset="none" type="note">
						<para> The address space is fragmented into
      different types determined by bits 31-28 as shown in the following table.</para>
						<list type="table">
							<listheader>
								<term> Bits 31-28</term>
								<description>Address type</description>
								<description>Address range</description>
							</listheader>
							<item>
								<term> 0xxx</term>
								<description>class A </description>
								<description>0.0.0.0-127.255.255.255</description>
							</item>
							<item>
								<term> 10xx</term>
								<description>class B</description>
								<description>128.0.0.0-191.255.255.255</description>
							</item>
							<item>
								<term> 110x</term>
								<description>class C</description>
								<description>192.0.0.0-223.255.255.255</description>
							</item>
							<item>
								<term> 1110</term>
								<description>multicast</description>
								<description>224.0.0.0-239.255.255.255</description>
							</item>
							<item>
								<term> 1111</term>
								<description>reserved</description>
								<description>240.0.0.0-255.255.255.255</description>
							</item>
						</list>
					</block>
					<para>Instances of the <see cref="T:System.Net.IPAddress"/> class are provided for common IP address values as shown in the
following table.</para>
					<para>
						<list type="table">
							<listheader>
								<term>Field</term>
								<description>IP
         Address</description>
							</listheader>
							<item>
								<term> Any</term>
								<description>0.0.0.0</description>
							</item>
							<item>
								<term> Broadcast</term>
								<description>255.255.255.255</description>
							</item>
							<item>
								<term> Loopback</term>
								<description>127.0.0.1</description>
							</item>
							<item>
								<term> None</term>
								<description>255.255.255.255</description>
							</item>
						</list>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int64 newAddress)"/>
					<MemberSignature Language="C#" Value="public IPAddress(long newAddress);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="newAddress" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.IPAddress"/>
class.</para>
						</summary>
						<param name="newAddress">A <see cref="T:System.Int64"/> containing the IP address in host-byte-order. </param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="newAddress"/> is less than 0 or greater than 0x00000000FFFFFFFF.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Address">
					<MemberSignature Language="ILASM" Value=".property int64 Address { public hidebysig specialname instance int64 get_Address() public hidebysig specialname instance void set_Address(int64 value) }"/>
					<MemberSignature Language="C#" Value="public long Address { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets an Internet Protocol (IP) address.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int64"/> containing
   the IP address in host-byte-order.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified in a set operation is less than 0.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>To convert <see cref="P:System.Net.IPAddress.Address"/>
   to dotted-quad notation, use the <see cref="M:System.Net.IPAddress.ToString"/>
   method.</para>
								<para>Values greater than 0x00000000FFFFFFFF  are permitted for IPv6 extensibility.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddressFamily">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Net.Sockets.AddressFamily AddressFamily { public hidebysig specialname instance valuetype System.Net.Sockets.AddressFamily get_AddressFamily() }"/>
					<MemberSignature Language="C#" Value="public AddressFamily AddressFamily { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the address family.</para>
						</summary>
						<value>
							<para>
								<see cref="F:System.Net.Sockets.AddressFamily.InterNetwork"/> 
.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Any">
					<MemberSignature Language="ILASM" Value=".field public static initOnly class System.Net.IPAddress Any"/>
					<MemberSignature Language="C#" Value="public static readonly IPAddress Any;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPAddress</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Indicates that the protocol will
      select which address to use. </para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para> This is equivalent to <see cref="!:System.Net.IPAddress.IPAddress"/> (0x0000000000000000) and represents the address
   0.0.0.0.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Broadcast">
					<MemberSignature Language="ILASM" Value=".field public static initOnly class System.Net.IPAddress Broadcast"/>
					<MemberSignature Language="C#" Value="public static readonly IPAddress Broadcast;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPAddress</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Provides the IP broadcast address.</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para> This is equivalent to <see cref="!:System.Net.IPAddress.IPAddress"/> (0x00000000FFFFFFFF) and represents the address 255.255.255.255.</para>
							<para>This value is used to simultaneously address every host on the network.</para>
							<block subset="none" type="note">
								<para>Multiple fields are defined for this IP address based on prior
      art. This field is identical to <see cref="F:System.Net.IPAddress.None"/>.</para>
							</block>
						</remarks>
					</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);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="comparand" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the
      specified <see cref="T:System.Object"/>
      represent the same IP address.</para>
						</summary>
						<param name="comparand">A <see cref="T:System.Object"/> to compare to the current instance.</param>
						<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.IPAddress"/> class
   and has the same <see cref="P:System.Net.IPAddress.Address"/> property value
   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>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/>
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>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HostToNetworkOrder">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 HostToNetworkOrder(int64 host)"/>
					<MemberSignature Language="C#" Value="public static long HostToNetworkOrder(long host);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="host" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.Int64"/> from host-byte-order to network-byte-order.</para>
						</summary>
						<param name="host">A <see cref="T:System.Int64"/> in host-byte-order.</param>
						<returns>
							<para>A <see cref="T:System.Int64"/> in network-byte-order.</para>
						</returns>
						<remarks>
							<para>This method performs conversions on systems where the host-byte-order differs 
      from network-byte-order. On systems where this is not the case, this method does
      nothing.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HostToNetworkOrder">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 HostToNetworkOrder(int32 host)"/>
					<MemberSignature Language="C#" Value="public static int HostToNetworkOrder(int host);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="host" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32"/> from host-byte-order to network-byte-order.</para>
						</summary>
						<param name="host">A <see cref="T:System.Int32"/> in host-byte-order.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/>
in network-byte-order.</para>
						</returns>
						<remarks>
							<para>This method performs conversions on systems where the host-byte-order differs 
      from network-byte-order. On systems where this is not the case, this method does
      nothing.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HostToNetworkOrder">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 HostToNetworkOrder(int16 host)"/>
					<MemberSignature Language="C#" Value="public static short HostToNetworkOrder(short host);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="host" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int16"/> from host-byte-order to network-byte-order.</para>
						</summary>
						<param name="host">A <see cref="T:System.Int16"/> in host-byte-order.</param>
						<returns>
							<para>A <see cref="T:System.Int16"/>
in network-byte-order.</para>
						</returns>
						<remarks>
							<para>This method performs conversions on systems where the host-byte-order differs 
      from network-byte-order. On systems where this is not the case, this method does
      nothing.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsLoopback">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsLoopback(class System.Net.IPAddress address)"/>
					<MemberSignature Language="C#" Value="public static bool IsLoopback(IPAddress address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Net.IPAddress"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> that indicates whether the specified IP address is a loopback address.</para>
						</summary>
						<param name="address"> A <see cref="T:System.Net.IPAddress"/> containing the IP address to check.</param>
						<returns>
							<para>
								<see langword="true "/>if
<paramref name="address "/> is a loopback address; otherwise
<see langword="false"/>.</para>
						</returns>
						<remarks>
							<para> All IP addresses of the form 127.X.Y.Z, where X, Y, and Z are
      in the range 0-255, are forwarded to the IP loopback address 127.0.0.1.
      The <see cref="F:System.Net.IPAddress.Loopback"/> address is
      used to specify the address of the local computer. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Loopback">
					<MemberSignature Language="ILASM" Value=".field public static initOnly class System.Net.IPAddress Loopback"/>
					<MemberSignature Language="C#" Value="public static readonly IPAddress Loopback;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPAddress</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Provides the IP loopback
      address.</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para> This is equivalent to <see cref="!:System.Net.IPAddress.IPAddress"/> (0x000000000100007F) and represents the address
   127.0.0.1.</para>
							<para> The loopback address is used to specify the address of the local computer.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NetworkToHostOrder">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int64 NetworkToHostOrder(int64 network)"/>
					<MemberSignature Language="C#" Value="public static long NetworkToHostOrder(long network);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="network" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int64" qualify="true"/> from network-byte-order to host-byte-order.</para>
						</summary>
						<param name="network">A <see cref="T:System.Int64"/> in network-byte-order.</param>
						<returns>
							<para>A <see cref="T:System.Int64"/> in host-byte-order.</para>
						</returns>
						<remarks>
							<para>This method performs conversions on systems where the host-byte-order differs 
      from network-byte-order. On systems where this is not the case, this method does
      nothing.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NetworkToHostOrder">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 NetworkToHostOrder(int32 network)"/>
					<MemberSignature Language="C#" Value="public static int NetworkToHostOrder(int network);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="network" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int32" qualify="true"/> from network-byte-order to host-byte-order.</para>
						</summary>
						<param name="network">A <see cref="T:System.Int32"/> in network-byte-order.</param>
						<returns>
							<para>A <see cref="T:System.Int32"/> in host-byte-order.</para>
						</returns>
						<remarks>
							<para>This method performs conversions on systems where the host-byte-order differs 
      from network-byte-order. On systems where this is not the case, this method does
      nothing.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NetworkToHostOrder">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int16 NetworkToHostOrder(int16 network)"/>
					<MemberSignature Language="C#" Value="public static short NetworkToHostOrder(short network);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int16</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="network" Type="System.Int16"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a <see cref="T:System.Int16" qualify="true"/> from network-byte-order to host-byte-order.</para>
						</summary>
						<param name="network">A <see cref="T:System.Int16"/> in network-byte-order.</param>
						<returns>
							<para>A <see cref="T:System.Int16"/>
in host-byte-order.</para>
						</returns>
						<remarks>
							<para>This method performs conversions on systems where the host-byte-order differs 
      from network-byte-order. On systems where this is not the case, this method does
      nothing.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="None">
					<MemberSignature Language="ILASM" Value=".field public static initOnly class System.Net.IPAddress None"/>
					<MemberSignature Language="C#" Value="public static readonly IPAddress None;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPAddress</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Provides the IP address that indicates
      that no network interface should be used.</para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para> This is equivalent to <see cref="!:System.Net.IPAddress.IPAddress"/> (0x00000000FFFFFFFF) and represents the address 255.255.255.255.</para>
							<block subset="none" type="note">
								<para>Multiple fields are defined for this IP address based on prior
      art. This field is identical to <see cref="F:System.Net.IPAddress.Broadcast"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Parse">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Net.IPAddress Parse(string ipString)"/>
					<MemberSignature Language="C#" Value="public static IPAddress Parse(string ipString);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPAddress</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="ipString" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a <see cref="T:System.String"/> representation of an IP address in dotted-quad notation, to a <see cref="T:System.Net.IPAddress"/> instance.</para>
						</summary>
						<param name="ipString">A <see cref="T:System.String"/> in dotted-quad notation containing the IP address to convert.</param>
						<returns>
							<para>A new <see cref="T:System.Net.IPAddress"/> instance that represents the address specified in <paramref name="ipString"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="ipString "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.FormatException">
							<paramref name="ipString "/>is not a valid IP address.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>An example of a string in dotted-quad notation is "127.0.0.1".</para>
							</block>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/> representation of 
   the current instance. The returned string is an IP address expressed in dotted-quad notation (for example, "192.168.1.2").</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>The <see cref="M:System.Net.IPAddress.ToString"/> method converts the IP address stored in the <see cref="P:System.Net.IPAddress.Address"/> property of the current instance to
      a <see cref="T:System.String" qualify="true"/>
      containing
      
      the address in dotted-quad notation (for example, "192.168.1.2"). </para>
								<para>This method overrides <see cref="M:System.Object.ToString" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IPEndPoint" FullName="System.Net.IPEndPoint" FullNameSP="System_Net_IPEndPoint">
			<TypeSignature Language="ILASM" Value=".class public serializable IPEndPoint extends System.Net.EndPoint"/>
			<TypeSignature Language="C#" Value="public class IPEndPoint : EndPoint"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents a network endpoint as an Internet Protocol (IP) address and a port number.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Net.IPEndPoint"/> class contains 
 the IP address of a host system and the number of a port to
 access on the host. The <see cref="T:System.Net.IPEndPoint"/> class represents a connection point used by the
<see cref="T:System.Net.Sockets.Socket"/>
class.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Net.EndPoint</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int64 address, int32 port)"/>
					<MemberSignature Language="C#" Value="public IPEndPoint(long address, int port);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="address" Type="System.Int64"/>
						<Parameter Name="port" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.IPEndPoint"/> class with the specified address and port number.</para>
						</summary>
						<param name="address">A <see cref="T:System.Int64"/> containing the IP address of the endpoint.</param>
						<param name="port">A <see cref="T:System.Int32"/> containing the port number to use when accessing <paramref name="address"/> . Specify zero to indicate any available port.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="port "/>is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>. </para>
							<para>A negative number was specified for <paramref name="address"/>. </para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Net.IPAddress address, int32 port)"/>
					<MemberSignature Language="C#" Value="public IPEndPoint(IPAddress address, int port);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="address" Type="System.Net.IPAddress"/>
						<Parameter Name="port" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.IPEndPoint"/> class with the specified address and port number.</para>
						</summary>
						<param name="address">A <see cref="T:System.Net.IPAddress"/> instance containing the IP address of the endpoint.</param>
						<param name="port">The port number to use when accessing <paramref name="address"/> . Specify zero to indicate any available port.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="address"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="port "/>is less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>. </para>
						</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Address">
					<MemberSignature Language="ILASM" Value=".property class System.Net.IPAddress Address { public hidebysig specialname instance class System.Net.IPAddress get_Address() public hidebysig specialname instance void set_Address(class System.Net.IPAddress value) }"/>
					<MemberSignature Language="C#" Value="public IPAddress Address { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPAddress</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the IP address of the endpoint.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Net.IPAddress"/> instance containing the IP address of the end
 point.</para>
						</value>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddressFamily">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Net.Sockets.AddressFamily AddressFamily { public hidebysig virtual specialname valuetype System.Net.Sockets.AddressFamily get_AddressFamily() }"/>
					<MemberSignature Language="C#" Value="public override AddressFamily AddressFamily { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the Internet Protocol (IP) address family.</para>
						</summary>
						<value>
							<para>Returns <see cref="F:System.Net.Sockets.AddressFamily.InterNetwork" qualify="true"/> .</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Create">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Net.EndPoint Create(class System.Net.SocketAddress socketAddress)"/>
					<MemberSignature Language="C#" Value="public override EndPoint Create(SocketAddress socketAddress);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.EndPoint</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="socketAddress" Type="System.Net.SocketAddress"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a new <see cref="T:System.Net.IPEndPoint"/> instance containing the address
   information from the specified <see cref="T:System.Net.SocketAddress"/>
   instance.
   </para>
						</summary>
						<param name="socketAddress">A <see cref="T:System.Net.SocketAddress"/> instance that provides the address information for the new <see cref="T:System.Net.IPEndPoint"/> instance.</param>
						<returns>
							<para>A new <see cref="T:System.Net.IPEndPoint"/> instance containing the address
   information from the specified <see cref="T:System.Net.SocketAddress"/> instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">The <see langword="AddressFamily"/> of the specified <see cref="T:System.Net.SocketAddress"/> is not equal to the <see langword="AddressFamily"/> of the current instance. </exception>
						<remarks>
							<para>
								<block subset="none" type="note">This method
      overrides <see cref="M:System.Net.EndPoint.Create(System.Net.SocketAddress)"/> .</block>
							</para>
						</remarks>
					</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);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="comparand" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the specified 
 <see cref="T:System.Object"/> represent 
 the same type and value.</para>
						</summary>
						<param name="comparand">The <see langword="Object"/> to compare to the current instance.</param>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="comparand"/> represents 
 the same endpoint as the current instance. If <paramref name="comparand"/> is a
<see langword="null"/> reference or is not an instance of <see cref="T:System.Net.IPEndPoint"/>, returns 
<see langword="false"/> .</para>
						</returns>
						<remarks>
							<para>Two <see cref="T:System.Net.IPEndPoint"/> instances are equal if their <see cref="P:System.Net.IPEndPoint.Address"/> 
and <see cref="P:System.Net.IPEndPoint.Port"/> properties contain the same values.</para>
							<para>
								<block subset="none" type="note">This method 
 overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for the current instance.</para>
						</returns>
						<remarks>
							<para>The algorithm used to generate the hash code is
 unspecified.</para>
							<para>
								<block subset="none" type="note">This method
 overrides <see cref="M:System.Object.GetHashCode"/>
 .</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxPort">
					<MemberSignature Language="ILASM" Value=".field public static literal int32 MaxPort = 65535"/>
					<MemberSignature Language="C#" Value="public const int MaxPort = 65535;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>65535</MemberValue>
					<Docs>
						<summary>
							<para> Specifies the maximum value that can be assigned to the <see cref="P:System.Net.IPEndPoint.Port"/>
property.</para>
						</summary>
						<remarks>
							<para>This field is read-only. The value of this field is 65535.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MinPort">
					<MemberSignature Language="ILASM" Value=".field public static literal int32 MinPort = 0"/>
					<MemberSignature Language="C#" Value="public const int MinPort = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>0</MemberValue>
					<Docs>
						<summary>
							<para>Specifies the minimum value that can be assigned to the <see cref="P:System.Net.IPEndPoint.Port"/>
property.</para>
						</summary>
						<remarks>
							<para>This field is read-only. The value of this field is zero.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Port">
					<MemberSignature Language="ILASM" Value=".property int32 Port { public hidebysig specialname instance int32 get_Port() public hidebysig specialname instance void set_Port(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int Port { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the port number of the endpoint.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> value that is between <see cref="F:System.Net.IPEndPoint.MinPort"/> and <see cref="F:System.Net.IPEndPoint.MaxPort"/>
inclusive.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation was less than <see cref="F:System.Net.IPEndPoint.MinPort"/> or greater than <see cref="F:System.Net.IPEndPoint.MaxPort"/>.</exception>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String"/> representation of the value of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String"/>
containing the IP address, in dotted-quad notation, followed by a colon and the port number for the
specified endpoint, for example, 127.0.0.1:80.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Object.ToString"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IPHostEntry" FullName="System.Net.IPHostEntry" FullNameSP="System_Net_IPHostEntry">
			<TypeSignature Language="ILASM" Value=".class public IPHostEntry extends System.Object"/>
			<TypeSignature Language="C#" Value="public class IPHostEntry"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Provides a container class for Internet host address information.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Net.IPHostEntry"/> class associates a Domain Name System (DNS) host
   name with an array of aliases and an array of matching IP addresses.</para>
				</remarks>
				<example>
					<para> The following example queries the DNS database for information
      on the host "www.contoso.com" and
      displays the information in the
      returned <see cref="T:System.Net.IPHostEntry"/> instance.</para>
					<code lang="C#">using System;
using System.Net;

public class IPHostEntryTest {
 public static void Main() {
 
 IPHostEntry hostInfo = Dns.GetHostByName("www.contoso.com");

 string[] aliases = hostInfo.Aliases;
 IPAddress[] addresses = hostInfo.AddressList;
 
 Console.WriteLine("The host name is: {0}", hostInfo.HostName);

 for(int x = 0; x &lt; aliases.Length; x++)
 Console.WriteLine("Alias {0} == {1}", aliases[x], addresses[x]);
 }
}
   </code>
					<para>The output is</para>
					<c>
						<para>The host name is: contoso.com</para>
						<para>Alias www.contoso.com == 207.46.230.186 </para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public IPHostEntry();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>Constructs a new instance of the <see cref="T:System.Net.IPHostEntry"/> class.</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddressList">
					<MemberSignature Language="ILASM" Value=".property class System.Net.IPAddress[] AddressList { public hidebysig specialname instance class System.Net.IPAddress[] get_AddressList() public hidebysig specialname instance void set_AddressList(class System.Net.IPAddress[] value) }"/>
					<MemberSignature Language="C#" Value="public IPAddress[] AddressList { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPAddress[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets a list of IP addresses associated with a host.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Net.IPAddress"/> array containing IP addresses that resolve
 to the host names contained in the <see cref="P:System.Net.IPHostEntry.Aliases"/>
 property. </para>
						</value>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Aliases">
					<MemberSignature Language="ILASM" Value=".property class System.String[] Aliases { public hidebysig specialname instance class System.String[] get_Aliases() public hidebysig specialname instance void set_Aliases(class System.String[] value) }"/>
					<MemberSignature Language="C#" Value="public string[] Aliases { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets a list of aliases associated with a host.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> array containing DNS names that resolve to the IP addresses
 in the <see cref="P:System.Net.IPHostEntry.AddressList"/> property.</para>
						</value>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HostName">
					<MemberSignature Language="ILASM" Value=".property string HostName { public hidebysig specialname instance string get_HostName() public hidebysig specialname instance void set_HostName(string value) }"/>
					<MemberSignature Language="C#" Value="public string HostName { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the DNS
      name of the host.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the DNS host name that corresponds to
   the address and alias information contained in the current instance.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="note">The <see cref="P:System.Net.IPHostEntry.HostName"/> property contains the primary host name for
   a server. If the DNS entry for the host defines additional aliases, they are
   available via the <see cref="P:System.Net.IPHostEntry.Aliases"/>
   property.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IWebProxy" FullName="System.Net.IWebProxy" FullNameSP="System_Net_IWebProxy">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IWebProxy"/>
			<TypeSignature Language="C#" Value="public interface IWebProxy"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Defines the methods and properties required by types that 
      support accessing hosts via proxy
      servers. </para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">This interface is implemented by 
      the <see cref="T:System.Net.WebRequest"/> type.</block>
					</para>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Members>
				<Member MemberName="Credentials">
					<MemberSignature Language="ILASM" Value=".property class System.Net.ICredentials Credentials { public hidebysig virtual abstract specialname class System.Net.ICredentials get_Credentials() public hidebysig virtual abstract specialname void set_Credentials(class System.Net.ICredentials value) }"/>
					<MemberSignature Language="C#" Value="ICredentials Credentials { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.ICredentials</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the credentials to submit to the proxy server for authentication.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.Net.ICredentials"/> instance that contains the credentials needed to authenticate a request to the proxy server.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="behaviors">The <see cref="T:System.Net.ICredentials"/> instance set and returned
 by the <see cref="P:System.Net.IWebProxy.Credentials"/> property
 contains the credentials that are sent to the proxy server in response to an
 HTTP 407 (<see cref="F:System.Net.HttpStatusCode.ProxyAuthenticationRequired"/> ) status code.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this property to set the
 credentials supplied in response to HTTP 407 status code
 messages.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetProxy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Uri GetProxy(class System.Uri destination)"/>
					<MemberSignature Language="C#" Value="Uri GetProxy(Uri destination);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Uri</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="destination" Type="System.Uri"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the Uniform Resource Identifier (URI) of a proxy server.</para>
						</summary>
						<param name="destination">A <see cref="T:System.Uri"/> specifying the requested Internet resource.</param>
						<returns>
							<para>A <see cref="T:System.Uri"/> instance
   containing the URI of the proxy used to contact
<paramref name="destination"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">The <see cref="M:System.Net.IWebProxy.GetProxy(System.Uri)"/> method returns the URI of the
   proxy server that handles requests to the Internet resource specified in the
<paramref name="destination "/>parameter.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to
   get the URI of the proxy server used to access the specified resource.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsBypassed">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract bool IsBypassed(class System.Uri host)"/>
					<MemberSignature Language="C#" Value="bool IsBypassed(Uri host);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="host" Type="System.Uri"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Boolean"/> value that indicates whether the proxy server is not used to access a specified server.</para>
						</summary>
						<param name="host">The <see cref="T:System.Uri"/> of the server to check for proxy use.</param>
						<returns>
							<para>
								<see langword="true "/> if
   the proxy server is not used to access the server specified in <paramref name="host"/>;
   otherwise, <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">The value
      returned by the <see cref="M:System.Net.IWebProxy.IsBypassed(System.Uri)"/> method indicates whether
      requests that access the server specified in the <paramref name="host "/>
      parameter bypass the proxy server. </block>
							</para>
							<para>
								<block subset="none" type="usage">If <see cref="M:System.Net.IWebProxy.IsBypassed(System.Uri)"/>
is <see langword="true"/> , requests and responses between the
client and <paramref name="host"/> are not required to go through the proxy
server.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="IWebRequestCreate" FullName="System.Net.IWebRequestCreate" FullNameSP="System_Net_IWebRequestCreate">
			<TypeSignature Language="ILASM" Value=".class interface public abstract IWebRequestCreate"/>
			<TypeSignature Language="C#" Value="public interface IWebRequestCreate"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Provides a mechanism for creating new <see cref="T:System.Net.WebRequest"/>
instances.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para> The <see cref="M:System.Net.IWebRequestCreate.Create(System.Uri)"/> method is implemented by types that derive from
   <see cref="T:System.Net.WebRequest"/>. The 
   <see cref="M:System.Net.IWebRequestCreate.Create(System.Uri)"/> method is invoked via the 
   <see cref="M:System.Net.WebRequest.Create(System.Uri,System.Boolean)" qualify="true"/>
   
   method.</para>
						<para> Types that implement the <see cref="T:System.Net.IWebRequestCreate"/> interface are associated with a specific URI
scheme and registered with the <see cref="T:System.Net.WebRequest"/> class. When an application requests a
<see langword="WebRequest"/> 
object for a specific URI, <see cref="T:System.Net.WebRequest"/> calls the <see cref="M:System.Net.IWebRequestCreate.Create(System.Uri)"/> method of the type associated
with the requested URI.</para>
					</block>
				</remarks>
			</Docs>
			<Base/>
			<Interfaces/>
			<Members>
				<Member MemberName="Create">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Net.WebRequest Create(class System.Uri uri)"/>
					<MemberSignature Language="C#" Value="WebRequest Create(Uri uri);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.WebRequest</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="uri" Type="System.Uri"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Net.WebRequest"/>
instance.</para>
						</summary>
						<param name="uri">The <see cref="T:System.Uri"/> to be associated with the new instance.</param>
						<returns>
							<para>A new <see cref="T:System.Net.WebRequest"/>
instance.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">This
      method returns a new instance of a type that derives from
   <see cref="T:System.Net.WebRequest"/>
   .</block>
							</para>
							<para>
								<block subset="none" type="usage">This method is
   used by the <see cref="T:System.Net.WebRequest"/>
   class.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="LingerOption" FullName="System.Net.Sockets.LingerOption" FullNameSP="System_Net_Sockets_LingerOption">
			<TypeSignature Language="ILASM" Value=".class public LingerOption extends System.Object"/>
			<TypeSignature Language="C#" Value="public class LingerOption"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Maintains information that specifies how a <see cref="T:System.Net.Sockets.Socket"/> instance
   with pending data behaves when the <see cref="M:System.Net.Sockets.Socket.Close" qualify="true"/> method of
   the socket is called. </para>
				</summary>
				<remarks>
					<para> An instance of this class is
      passed into the <see cref="M:System.Net.Sockets.Socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,System.Int32)" qualify="true"/> method
      and is returned by the <see cref="M:System.Net.Sockets.Socket.GetSocketOption(System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName)" qualify="true"/> method when the <paramref name="optionName"/>
      parameter is set to <see cref="F:System.Net.Sockets.SocketOptionName.Linger" qualify="true"/>.</para>
					<para>When the <see cref="P:System.Net.Sockets.LingerOption.Enabled"/> property is <see langword="true"/>, any queued data continues to be sent until
   time equal to the setting of the <see cref="P:System.Net.Sockets.LingerOption.LingerTime"/> property has passed or until
   the input queue is empty. At this time, the connection is closed. </para>
					<para> When the <see cref="P:System.Net.Sockets.LingerOption.LingerTime"/> property is zero or the <see cref="P:System.Net.Sockets.LingerOption.Enabled"/> property is
<see langword="false"/>, calling <see cref="M:System.Net.Sockets.Socket.Close"/> immediately closes the socket and any
pending data is lost. </para>
When setting the <see cref="F:System.Net.Sockets.SocketOptionName.Linger"/> option of an instance of
the <see cref="T:System.Net.Sockets.Socket" qualify="true"/> class, a <see cref="T:System.ArgumentException" qualify="true"/> exception is thrown if the
<see cref="P:System.Net.Sockets.LingerOption.LingerTime"/> property is
less than zero or greater than <see cref="F:System.UInt16.MaxValue"/>.
</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(bool enable, int32 seconds)"/>
					<MemberSignature Language="C#" Value="public LingerOption(bool enable, int seconds);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="enable" Type="System.Boolean"/>
						<Parameter Name="seconds" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of
      the <see cref="T:System.Net.Sockets.LingerOption"/> class.</para>
						</summary>
						<param name="enable">A <see cref="T:System.Boolean" qualify="true"/> where <see langword="true"/> enables the linger option and <see langword="false"/> disables the option.</param>
						<param name=" seconds">A <see cref="T:System.Int32" qualify="true"/> that contains the number of seconds to remain connected after the <see cref="M:System.Net.Sockets.Socket.Close" qualify="true"/> method is called.</param>
						<remarks>
							<para>The <see cref="T:System.Net.Sockets.LingerOption"/> instance is created with the <see cref="P:System.Net.Sockets.LingerOption.Enabled"/> property set to <paramref name="enable "/>and the
<see cref="P:System.Net.Sockets.LingerOption.LingerTime"/> property set to <paramref name="seconds"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Enabled">
					<MemberSignature Language="ILASM" Value=".property bool Enabled { public hidebysig specialname instance bool get_Enabled() public hidebysig specialname instance void set_Enabled(bool value) }"/>
					<MemberSignature Language="C#" Value="public bool Enabled { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets a <see cref="T:System.Boolean"/> value indicating whether the connection remains
   open (lingers) for a period of time after the <see cref="M:System.Net.Sockets.Socket.Close" qualify="true"/> method is
   called.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>to enable lingering
   after the <see cref="M:System.Net.Sockets.Socket.Close" qualify="true"/>
   method is called; otherwise
<see langword="false"/>.</para>
						</value>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LingerTime">
					<MemberSignature Language="ILASM" Value=".property int32 LingerTime { public hidebysig specialname instance int32 get_LingerTime() public hidebysig specialname instance void set_LingerTime(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int LingerTime { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the amount of time to remain connected after
      the <see cref="M:System.Net.Sockets.Socket.Close" qualify="true"/> method is called.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32" qualify="true"/> that contains the amount of time, in seconds, to remain connected after
   calling the <see cref="M:System.Net.Sockets.Socket.Close" qualify="true"/>
   method.</para>
						</value>
						<remarks>
							<para>When setting the <see cref="F:System.Net.Sockets.SocketOptionName.Linger"/> option of an instance of
   the <see cref="T:System.Net.Sockets.Socket" qualify="true"/> class, a <see cref="T:System.ArgumentException" qualify="true"/> exception is thrown if the
<see cref="P:System.Net.Sockets.LingerOption.LingerTime"/> 
property is less than zero or greater than
<see cref="F:System.UInt16.MaxValue"/> . </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="MulticastOption" FullName="System.Net.Sockets.MulticastOption" FullNameSP="System_Net_Sockets_MulticastOption">
			<TypeSignature Language="ILASM" Value=".class public MulticastOption extends System.Object"/>
			<TypeSignature Language="C#" Value="public class MulticastOption"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Contains Internet Protocol (IP) addresses used
      when joining or leaving
      an IP multicast group.</para>
				</summary>
				<remarks>
					<para>Collectively, the hosts listening to a specific IP multicast address (the group address) are
      called a multicast group. Each member of the group receives any IP messages sent
      to the group address. </para>
					<para> An instance of this class is passed into the <see cref="M:System.Net.Sockets.Socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,System.Int32)" qualify="true"/> method
   and returned by the <see cref="M:System.Net.Sockets.Socket.GetSocketOption(System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName)" qualify="true"/> method when the <paramref name="optionName"/>
   parameter is set to <see cref="F:System.Net.Sockets.SocketOptionName.AddMembership" qualify="true"/> or <see cref="F:System.Net.Sockets.SocketOptionName.DropMembership" qualify="true"/>. </para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Net.IPAddress group, class System.Net.IPAddress mcint)"/>
					<MemberSignature Language="C#" Value="public MulticastOption(IPAddress group, IPAddress mcint);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="group" Type="System.Net.IPAddress"/>
						<Parameter Name="mcint" Type="System.Net.IPAddress"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.Sockets.MulticastOption"/> class with the specified IP
   multicast group and local addresses.</para>
						</summary>
						<param name="group"> An instance of <see cref="T:System.Net.IPAddress" qualify="true"/> containing the group IP address.</param>
						<param name=" mcint"> An instance of <see cref="T:System.Net.IPAddress" qualify="true"/> containing the local IP address.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="group "/> or <paramref name="mcint"/> is <see langword="null"/>.</para>
						</exception>
						<remarks>
							<para>The <see cref="P:System.Net.Sockets.MulticastOption.Group"/> property is set to <paramref name="group"/> and the
<see cref="P:System.Net.Sockets.MulticastOption.LocalAddress"/> property is set to <paramref name="mcint"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Net.IPAddress group)"/>
					<MemberSignature Language="C#" Value="public MulticastOption(IPAddress group);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="group" Type="System.Net.IPAddress"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.Sockets.MulticastOption"/> class with the specified IP multicast group
   address.</para>
						</summary>
						<param name="group">An instance of <see cref="T:System.Net.IPAddress" qualify="true"/> containing the IP address of a multicast group.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="group "/>is <see langword="null"/>.</para>
						</exception>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.Net.Sockets.MulticastOption.Group"/> property of the new instance using
<paramref name="group"/>. The <see cref="P:System.Net.Sockets.MulticastOption.LocalAddress"/> property is initialized to <see cref="F:System.Net.IPAddress.Any" qualify="true"/>. <see langword="Any"/> 
allows the protocol to decide which local IP address to
use.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Group">
					<MemberSignature Language="ILASM" Value=".property class System.Net.IPAddress Group { public hidebysig specialname instance class System.Net.IPAddress get_Group() public hidebysig specialname instance void set_Group(class System.Net.IPAddress value) }"/>
					<MemberSignature Language="C#" Value="public IPAddress Group { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPAddress</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the IP address of a multicast group.</para>
						</summary>
						<value>
							<para> An instance of <see cref="T:System.Net.IPAddress" qualify="true"/>
containing the IP address of a multicast
group.</para>
						</value>
						<remarks>
							<para> Collectively, the hosts listening to a specific IP
      multicast address are called a multicast group. Each member of the group receives any IP messages sent to this
      address. </para>
							<block subset="none" type="note">
								<para>Valid IP addresses for multicast groups are in the range 224.0.0.0 to
         239.255.255.255 with some addresses reserved for special purposes. </para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LocalAddress">
					<MemberSignature Language="ILASM" Value=".property class System.Net.IPAddress LocalAddress { public hidebysig specialname instance class System.Net.IPAddress get_LocalAddress() public hidebysig specialname instance void set_LocalAddress(class System.Net.IPAddress value) }"/>
					<MemberSignature Language="C#" Value="public IPAddress LocalAddress { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.IPAddress</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the local IP address to receive data.</para>
						</summary>
						<value>
							<para> An instance of <see cref="T:System.Net.IPAddress" qualify="true"/> containing the local IP
   address.</para>
						</value>
						<remarks>
							<para>This property specifies the local IP address used to receive data
      sent to the multicast group. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="NameValueCollection" FullName="System.Collections.Specialized.NameValueCollection" FullNameSP="System_Collections_Specialized_NameValueCollection">
			<TypeSignature Language="ILASM" Value=".class public serializable NameValueCollection extends System.Object"/>
			<TypeSignature Language="C#" Value="public class NameValueCollection : 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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents a collection of associated <see cref="T:System.String"/> keys and <see cref="T:System.String"/>
values.</para>
				</summary>
				<remarks>
					<para>This class can be used for headers, query strings and
      form data. Each key in the collection is associated with one or more
      values. Multiple values for a particular key are contained in a single
   <see cref="T:System.String"/> . </para>
					<para>The capacity is the number of key-and-value pairs that the <see cref="T:System.Collections.Specialized.NameValueCollection"/> can contain. The default initial
   capacity is zero. The capacity is automatically increased as required.</para>
					<para>The hash code provider dispenses hash codes for keys in the <see cref="T:System.Collections.Specialized.NameValueCollection"/>.</para>
					<para>The comparer determines whether two keys are equal.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Collections.ICollection</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
				<Interface>
					<InterfaceName>System.Collections.IEnumerable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Attributes>
				<Attribute>
					<AttributeName>DefaultMemberAttribute("Item")</AttributeName>
					<Excluded>1</Excluded>
					<ExcludedTypeName>System.Reflection.DefaultMemberAttribute</ExcludedTypeName>
					<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 capacity, class System.Collections.IHashCodeProvider hashProvider, class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public NameValueCollection(int capacity, IHashCodeProvider hashProvider, IComparer comparer);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="capacity" Type="System.Int32"/>
						<Parameter Name="hashProvider" Type="System.Collections.IHashCodeProvider"/>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes new instance of the <see cref="T:System.Collections.Specialized.NameValueCollection"/>
class with the specified initial capacity, hash code provider,
and comparer.</para>
						</summary>
						<param name="capacity">A <see cref="T:System.Int32"/> containing the initial number of entries that the <see cref="T:System.Collections.Specialized.NameValueCollection"/> can contain. </param>
						<param name="hashProvider">The <see cref="T:System.Collections.IHashCodeProvider"/> that will supply the hash codes for all keys in the new instance.</param>
						<param name="comparer">
							<para> The <see cref="T:System.Collections.IComparer"/> to use to determine whether two keys in the new instance are equal.</para>
						</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="capacity"/> &lt; 0. </exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 capacity, class System.Collections.Specialized.NameValueCollection col)"/>
					<MemberSignature Language="C#" Value="public NameValueCollection(int capacity, NameValueCollection col);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="capacity" Type="System.Int32"/>
						<Parameter Name="col" Type="System.Collections.Specialized.NameValueCollection"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes new instance of the <see cref="T:System.Collections.Specialized.NameValueCollection"/> class
   that contains the same values as the specified <see cref="T:System.Collections.Specialized.NameValueCollection"/> and either the specified capacity or the
   capacity of the specified collection, whichever is
   greater.</para>
						</summary>
						<param name="capacity">A <see cref="T:System.Int32"/> containing the initial number of entries that the new instance can contain. </param>
						<param name="col">The <see cref="T:System.Collections.Specialized.NameValueCollection"/> used to initialize the new instance. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="col"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="capacity"/> is &lt; 0.</exception>
						<remarks>
							<para>The new instance is initialized with the default <see cref="T:System.Collections.IHashCodeProvider"/> and <see cref="T:System.Collections.IComparer"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(int32 capacity)"/>
					<MemberSignature Language="C#" Value="public NameValueCollection(int capacity);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="capacity" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Collections.Specialized.NameValueCollection"/>
class with the specified initial capacity.</para>
						</summary>
						<param name="capacity">A <see cref="T:System.Int32"/> containing the initial number of entries that the new instance can contain. </param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="capacity"/> &lt; 0. </exception>
						<remarks>
							<para>The new instance is initialized with the default <see cref="T:System.Collections.IHashCodeProvider"/> and <see cref="T:System.Collections.IComparer"/>
.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Collections.IHashCodeProvider hashProvider, class System.Collections.IComparer comparer)"/>
					<MemberSignature Language="C#" Value="public NameValueCollection(IHashCodeProvider hashProvider, IComparer comparer);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="hashProvider" Type="System.Collections.IHashCodeProvider"/>
						<Parameter Name="comparer" Type="System.Collections.IComparer"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Collections.Specialized.NameValueCollection"/> class
   with the specified <see cref="T:System.Collections.IHashCodeProvider"/> and the specified <see cref="T:System.Collections.IComparer"/>
   
   .</para>
						</summary>
						<param name="hashProvider">
							<para>The <see cref="T:System.Collections.IHashCodeProvider"/> that supplies the hash codes for all keys in the new instance; or, <see langword="null"/> to use the default hash code provider.</para>
						</param>
						<param name="comparer">
							<para>The <see cref="T:System.Collections.IComparer"/> to use to determine whether two keys are equal. Specify <see langword="null"/> to use the default comparer.</para>
						</param>
						<remarks>
							<para>The new instance is initialized with the default capacity of zero.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Collections.Specialized.NameValueCollection col)"/>
					<MemberSignature Language="C#" Value="public NameValueCollection(NameValueCollection col);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="col" Type="System.Collections.Specialized.NameValueCollection"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and
      initializes a new instance of the <see cref="T:System.Collections.Specialized.NameValueCollection"/> class using the values of the specified <see cref="T:System.Collections.Specialized.NameValueCollection"/>
      .</para>
						</summary>
						<param name="col">The <see cref="T:System.Collections.Specialized.NameValueCollection"/> used to initialize the new instance.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="col"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>The capacity, values, and order of values of the new 
      instance are equal to the capacity and values of <paramref name="col"/>
      . The <see cref="T:System.Collections.IHashCodeProvider"/> and <see cref="T:System.Collections.IComparer"/> of the new instance are the
      default instances.</para>
							<para>The elements of the new <see cref="T:System.Collections.Specialized.NameValueCollection"/> are sorted in the same
   order as the source <see cref="T:System.Collections.Specialized.NameValueCollection"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public NameValueCollection();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Collections.Specialized.NameValueCollection"/>
class.</para>
						</summary>
						<remarks>
							<para>The new instance is initialized with the default initial capacity, <see cref="T:System.Collections.IHashCodeProvider"/>, and <see cref="T:System.Collections.IComparer"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Add">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Add(string name, string value)"/>
					<MemberSignature Language="C#" Value="public virtual void Add(string name, string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Adds an entry with the specified key and value to the current instance.</para>
						</summary>
						<param name="name">
							<para>A <see cref="T:System.String"/> that represents the key of the entry to add. Can be <see langword="null"/> .</para>
						</param>
						<param name="value">
							<para>A <see cref="T:System.String"/> that represents the value of the entry to add. Can be <see langword="null"/> .</para>
						</param>
						<exception cref="T:System.NotSupportedException">The current instance is read-only.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<block subset="none" type="default">
								<para>If the specified key already exists in the current instance, the specified
         value is added to the existing comma-separated list of values associated with
         the same key.</para>
								<para>Attempting to assign the same value to an existing key adds a new value to that key, thus providing two (or more) copies of the same value associated with the key.</para>
							</block>
							<para>
								<block subset="none" type="overrides">Override this method to customize the default
      behavior in a type derived from the current
      type.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to
      add an entry to the current
      instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Add">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void Add(class System.Collections.Specialized.NameValueCollection c)"/>
					<MemberSignature Language="C#" Value="public void Add(NameValueCollection c);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="c" Type="System.Collections.Specialized.NameValueCollection"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Copies the entries from the specified <see cref="T:System.Collections.Specialized.NameValueCollection"/> to 
   the current instance.</para>
						</summary>
						<param name="c">The <see cref="T:System.Collections.Specialized.NameValueCollection"/> to copy to the current instance. </param>
						<exception cref="T:System.NotSupportedException">The current instance is read-only.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="c"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>If a key in <paramref name="c"/> already exists in the target <see cref="T:System.Collections.Specialized.NameValueCollection"/> instance, the associated value in
<paramref name="c"/> is added to the existing comma-separated list of values
   associated with the same key in the target <see cref="T:System.Collections.Specialized.NameValueCollection"/> instance.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllKeys">
					<MemberSignature Language="ILASM" Value=".property class System.String[] AllKeys { public hidebysig virtual specialname class System.String[] get_AllKeys() }"/>
					<MemberSignature Language="C#" Value="public virtual string[] AllKeys { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets all the keys in the current instance. </para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> array containing all the keys of the current instance.
   If the current instance is empty, the value of this property is an empty array.</para>
						</value>
						<remarks>
							<para>
								<block subset="none" type="behaviors">This property
      is read-only.</block>
							</para>
							<para>
								<block subset="none" type="usage">The array returned by <see cref="P:System.Collections.Specialized.NameValueCollection.AllKeys"/> is cached for better
   performance and is automatically refreshed when the collection changes. A
   derived class can invalidate the cached version by calling <see cref="M:System.Collections.Specialized.NameValueCollection.InvalidateCachedArrays"/>, thereby forcing the array to be refreshed.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Clear">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void Clear()"/>
					<MemberSignature Language="C#" Value="public void Clear();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Invalidates the cached arrays and removes all entries from 
      the current instance.</para>
						</summary>
						<exception cref="T:System.NotSupportedException">The current instance is read-only.</exception>
						<remarks>
							<para>The value of each key and value in the current instance is set to 
   <see langword="null"/> 
   .</para>
							<para>If the current instance is empty, it remains unchanged and no exception is 
   thrown.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CopyTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void CopyTo(class System.Array dest, int32 index)"/>
					<MemberSignature Language="C#" Value="public void CopyTo(Array dest, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="dest" Type="System.Array"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Copies the elements from the current instance to the specified <see cref="T:System.Array"/>, starting at the specified
   index in that array.</para>
						</summary>
						<param name="dest">A one-dimensional, zero-based <see cref="T:System.Array"/> that is the destination of the elements copied from the current instance.</param>
						<param name="index">A <see cref="T:System.Int32"/> containing the zero-based index in <paramref name="dest"/> at which copying begins. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="dest"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> &lt; 0.</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="dest"/> has more than one dimension.</para>
							<para>
								<paramref name="index"/> &gt;= <paramref name="dest"/>.Length.</para>
							<para>The number of elements in the current instance is greater than the available space from <paramref name="index"/> to the end of the destination <paramref name="dest"/>.</para>
						</exception>
						<exception cref="T:System.InvalidCastException">At least one element in the current instance is not assignment-compatible with the type of <paramref name="dest"/>.</exception>
						<remarks>
							<para>This method uses <see cref="M:System.Array.Copy(System.Array,System.Array,System.Int32)" qualify="true"/> to copy the elements.</para>
							<para>
								<block subset="none" type="note">This method is
   implemented to support the <see cref="T:System.Collections.ICollection"/> interface.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Get">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string Get(string name)"/>
					<MemberSignature Language="C#" Value="public virtual string Get(string name);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Gets the values associated with the specified key from
      the current instance combined into one comma-separated list.</para>
						</summary>
						<param name="name">
							<para>A <see cref="T:System.String"/> that specified the key of the entry that contains the values to get.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> that contains a
   comma-separated list of the values associated with the specified key from the
   current instance, if found;
   otherwise, <see langword="null"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">If <paramref name="name"/> is
<see langword="null"/>, the values associated with the null key, if any, are returned; otherwise, <see langword="null"/> is returned.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Get">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string Get(int32 index)"/>
					<MemberSignature Language="C#" Value="public virtual string Get(int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the values at the
      specified index of the
      current instance.</para>
						</summary>
						<param name="index">
							<para>A <see cref="T:System.Int32"/> that specifies the zero-based index of the entry that contains the values to get from the current instance.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> that contains a
   comma-separated list of the values at the specified index of the current
   instance, if found;
   otherwise, <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> is outside the valid range of indices for the current instance.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetKey">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual string GetKey(int32 index)"/>
					<MemberSignature Language="C#" Value="public virtual string GetKey(int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the key at the specified index of the current
      instance.</para>
						</summary>
						<param name="index">
							<para>A <see cref="T:System.Int32"/> that specifies the zero-based index of the key to get from the current instance.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.String"/> that contains the
   key at the specified index of the current instance, if found;
   otherwise, <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> is outside the valid range of indices for the current instance.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetValues">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.String[] GetValues(string name)"/>
					<MemberSignature Language="C#" Value="public virtual string[] GetValues(string name);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Gets the values associated with the specified key from
      the current instance.</para>
						</summary>
						<param name="name">
							<para>A <see cref="T:System.String"/> that specifies the key of the entry that contains the values to get. </para>
						</param>
						<returns>
							<para> A <see cref="T:System.String"/>
array containing the values associated with <paramref name="name"/>
from the current instance, if found;
otherwise, <see langword="null"/>.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="default">If <paramref name="name"/> is
<see langword="null"/>, no exception is thrown and <see langword="null"/> is returned.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetValues">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.String[] GetValues(int32 index)"/>
					<MemberSignature Language="C#" Value="public virtual string[] GetValues(int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns an array that contains the values at the
      specified index of the current instance.</para>
						</summary>
						<param name="index">
							<para> A <see cref="T:System.Int32"/> that specifies the zero-based index of the entry that contains the values to get from the current instance.</para>
						</param>
						<returns>
							<para> A <see cref="T:System.String"/> array containing the values at the specified index of the
   current instance, if found;
   otherwise, <see langword="null"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> is outside the valid range of indices for the current instance.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">As described
      above.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HasKeys">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance bool HasKeys()"/>
					<MemberSignature Language="C#" Value="public bool HasKeys();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current instance
   contains keys that are not <see langword="null"/>.</para>
						</summary>
						<returns>
							<para>
								<see langword="true"/> if the
   current instance contains
   keys that are not <see langword="null"/>; otherwise, <see langword="false"/>.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="InvalidateCachedArrays">
					<MemberSignature Language="ILASM" Value=".method family hidebysig instance void InvalidateCachedArrays()"/>
					<MemberSignature Language="C#" Value="protected void InvalidateCachedArrays();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Resets the cached arrays of the current instance to <see langword="null"/>.</para>
						</summary>
						<remarks>
							<para>
								<block subset="none" type="note">The array returned by <see cref="P:System.Collections.Specialized.NameValueCollection.AllKeys"/> is cached for better performance and is automatically refreshed
   when the collection changes. A derived class can invalidate the
   cached version by calling <see cref="M:System.Collections.Specialized.NameValueCollection.InvalidateCachedArrays"/>, thereby
   forcing the arrays to be recreated.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Item">
					<MemberSignature Language="ILASM" Value=".property string Item[string name] { public hidebysig specialname instance string get_Item(string name) public hidebysig specialname instance void set_Item(string name, string value) }"/>
					<MemberSignature Language="C#" Value="public string this[string name] { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Gets or sets the value in the current instance that is associated with the
      specified key.</para>
						</summary>
						<param name="name">
							<para>A <see cref="T:System.String"/> containing the key of the entry to locate. </para>
						</param>
						<value>
							<para>A <see cref="T:System.String"/> that contains the
   comma-separated list of values associated with the specified key. If
<paramref name="name"/> is not contained in the current instance, attempting to get it 
   returns <see langword="null"/>, and attempting to set it creates a new entry
   using <paramref name="name"/>
   .</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> is outside the valid range of indexes for the collection.</exception>
						<exception cref="T:System.NotSupportedException">The property is being set and the current instance is read-only. </exception>
						<remarks>
							<para>If the specified key already exists in the collection,
      setting this property overwrites the existing values with the specified
      value. If the specified key does not exist in the collection, setting this
      property creates a new entry using the specified key and the specified
      value.</para>
							<block subset="none" type="note">
								<para>This property provides the ability to access a specific element in the
         current instance using the following notation: myCollection[key] .</para>
								<para> To add the new value to
         the existing list of values, use the <see cref="M:System.Collections.Specialized.NameValueCollection.Add(System.Collections.Specialized.NameValueCollection)"/> method.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Item">
					<MemberSignature Language="ILASM" Value=".property string Item[int32 index] { public hidebysig specialname instance string get_Item(int32 index) }"/>
					<MemberSignature Language="C#" Value="public string this[int index] { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Gets the value in the current instance that is associated with the
      specified index.</para>
						</summary>
						<param name="index">
							<para> A <see cref="T:System.Int32"/> that specifies the zero-based index of the entry to locate in the current instance.</para>
						</param>
						<value>
							<para>A <see cref="T:System.String"/> that contains the comma-separated list of values at the specified
   index of the current instance.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index"/> is outside the valid range of indices for the current instance.</exception>
						<remarks>
							<para>This property is read-only.</para>
							<block subset="none" type="note">
								<para>This property provides the ability to access a specific element in the
         collection by using the following syntax: <c>myCollection[index]</c>.</para>
								<para>This property cannot be set. To set the value at a specified index,
         use <c>Item[GetKey(index)]</c>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Remove">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Remove(string name)"/>
					<MemberSignature Language="C#" Value="public virtual void Remove(string name);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Removes the entry with the specified key from the current instance.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the key of the entry to remove from the current instance.</param>
						<exception cref="T:System.NotSupportedException">
							<para>The current instance is read-only.</para>
						</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">If <paramref name="name"/>
is found, the key <paramref name="name"/> and its associated value are set
to <see langword="null"/>.
Removing an element does not alter the capacity of a
<see cref="T:System.Collections.Specialized.NameValueCollection"/> 
. </block>
							</para>
							<para>
								<block subset="none" type="default">This method uses the <see cref="M:System.Object.Equals(System.Object)"/> implementation of <paramref name="name"/> to locate <paramref name="name"/> in the 
current instance. If <paramref name="name"/> is not found in the current
instance or is <see langword="null"/>, no exception
is thrown and the current
instance is unchanged. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Set">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Set(string name, string value)"/>
					<MemberSignature Language="C#" Value="public virtual void Set(string name, string value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
						<Parameter Name="value" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets the value of the specified entry in the current
      instance to the specified value.</para>
						</summary>
						<param name="name">
							<para>A <see cref="T:System.String"/> containing the key of the entry to add the new value to. </para>
						</param>
						<param name="value">
							<para>A <see cref="T:System.String"/> containing the new value to add to the specified entry. </para>
						</param>
						<exception cref="T:System.NotSupportedException">The current instance is read-only.</exception>
						<remarks>
							<para>
								<block subset="none" type="behaviors">If the 
      specified key already exists in the current instance, this method overwrites the
      existing values with the specified value. If the specified key does not exist in the current instance, this method creates
      a new entry using the specified key and the specified value.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use the <see cref="M:System.Collections.Specialized.NameValueCollection.Add(System.Collections.Specialized.NameValueCollection)"/> 
method to add the new value to the existing list of values.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="NetworkAccess" FullName="System.Net.NetworkAccess" FullNameSP="System_Net_NetworkAccess">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable NetworkAccess extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum NetworkAccess"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Specifies network access permission types.</para>
				</summary>
				<remarks>
					<para>This enumeration is used to indicate whether a 
      permission object secures connect (client-side) or accept (server-side)
      operations.</para>
					<para>
						<block subset="none" type="note">The <see cref="T:System.Net.NetworkAccess"/> enumeration is used with the <see cref="T:System.Net.WebPermission"/> and <see cref="T:System.Net.SocketPermission"/> classes.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Accept">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.NetworkAccess Accept = 128"/>
					<MemberSignature Language="C#" Value="Accept = 128;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.NetworkAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Accept</MemberValue>
					<Docs>
						<summary>
							<para> Specifies accept operations.
      </para>
							<para>
								<block subset="none" type="note">This access type is typically used by
      servers. </block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Connect">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.NetworkAccess Connect = 64"/>
					<MemberSignature Language="C#" Value="Connect = 64;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.NetworkAccess</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Connect</MemberValue>
					<Docs>
						<summary>
							<para> Specifies connect operations.
      </para>
							<para>
								<block subset="none" type="note">This access type is typically used by clients. </block>
							</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="NetworkCredential" FullName="System.Net.NetworkCredential" FullNameSP="System_Net_NetworkCredential">
			<TypeSignature Language="ILASM" Value=".class public NetworkCredential extends System.Object implements System.Net.ICredentials"/>
			<TypeSignature Language="C#" Value="public class NetworkCredential : ICredentials"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Provides credentials for password-based authentication.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Net.NetworkCredential"/> class supplies 
 client credentials used in password-based authentication schemes such as
 Kerberos. </para>
					<block subset="none" type="note">
						<para> 
 Classes that implement
 the <see cref="T:System.Net.ICredentials"/> interface, such as
 the <see cref="T:System.Net.CredentialCache"/> class, return <see cref="T:System.Net.NetworkCredential"/> instances. </para>
						<para>This class does not support public key-based authentication
 methods such as SSL client authentication.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Net.ICredentials</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public NetworkCredential();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.NetworkCredential"/> class.</para>
						</summary>
						<remarks>
							<para> The properties of the new <see cref="T:System.Net.NetworkCredential"/> instance are initialized to 
<see langword="null"/>
.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string userName, string password)"/>
					<MemberSignature Language="C#" Value="public NetworkCredential(string userName, string password);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="userName" Type="System.String"/>
						<Parameter Name="password" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.NetworkCredential"/> class with the specified user name and password.</para>
						</summary>
						<param name="userName">A <see cref="T:System.String"/> containing the user name for the account associated with the credentials.</param>
						<param name="password">A <see cref="T:System.String"/> containing the password for the account associated with the credentials.</param>
						<remarks>
							<para>This constructor initializes the <see cref="P:System.Net.NetworkCredential.UserName"/> property of the new instance to <paramref name="userName "/>and the <see cref="P:System.Net.NetworkCredential.Password"/> property to <paramref name="password"/>. The <see cref="P:System.Net.NetworkCredential.Domain"/> property is initialized to <see cref="F:System.String.Empty"/>. The values specified for <paramref name="userName"/> and 
<paramref name="password"/> are passed through to the operating system without 
   modification.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string userName, string password, string domain)"/>
					<MemberSignature Language="C#" Value="public NetworkCredential(string userName, string password, string domain);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="userName" Type="System.String"/>
						<Parameter Name="password" Type="System.String"/>
						<Parameter Name="domain" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.NetworkCredential"/> class
   with the specified user name, password, and domain.</para>
						</summary>
						<param name="userName">A <see cref="T:System.String"/> containing the user name associated with the credentials.</param>
						<param name="password">A <see cref="T:System.String"/> containing the password for the user name associated with the credentials.</param>
						<param name="domain">A <see cref="T:System.String"/> containing the domain associated with the credentials.</param>
						<remarks>
							<para> This constructor initializes the <see cref="P:System.Net.NetworkCredential.UserName"/> property of the new instance
   to <paramref name="userName"/>, the <see cref="P:System.Net.NetworkCredential.Password"/> property to <paramref name="password"/>,
   and the <see cref="P:System.Net.NetworkCredential.Domain"/> property to <paramref name="domain"/>. The values specified for <paramref name="userName,    "/>
								<paramref name="password"/> and <paramref name="domain"/> are passed through to the
   operating system without modification.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Domain">
					<MemberSignature Language="ILASM" Value=".property string Domain { public hidebysig specialname instance string get_Domain() public hidebysig specialname instance void set_Domain(string value) }"/>
					<MemberSignature Language="C#" Value="public string Domain { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the domain
      or machine name that verifies the current credentials.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the
   name of the domain that verifies the current credentials.</para>
						</value>
						<remarks>
							<para>The <see cref="P:System.Net.NetworkCredential.Domain"/> property indicates the domain or
   realm to which the account belongs. <block subset="none" type="note">Typically, this is the host machine name where the application
   executes or the user domain for the currently logged in user.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.EnvironmentPermission">Requires read access to the environment variable that contains the domain name. See <see cref="F:System.Security.Permissions.EnvironmentPermissionAccess.Read"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetCredential">
					<MemberSignature Language="ILASM" Value=".method public final hidebysig virtual class System.Net.NetworkCredential GetCredential(class System.Uri uri, string authType)"/>
					<MemberSignature Language="C#" Value="public NetworkCredential GetCredential(Uri uri, string authType);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.NetworkCredential</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="uri" Type="System.Uri"/>
						<Parameter Name="authType" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the
      current instance.</para>
						</summary>
						<param name="uri">A <see cref="T:System.Uri"/> representing the resource for which the client is to be authenticated.</param>
						<param name="authType">A <see cref="T:System.String"/> containing the <see cref="P:System.Net.IAuthenticationModule.AuthenticationType"/> of the <see cref="T:System.Net.IAuthenticationModule"/> that will receive the credentials returned by this method.</param>
						<returns>
							<para>The current <see cref="T:System.Net.NetworkCredential"/> instance.</para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Password">
					<MemberSignature Language="ILASM" Value=".property string Password { public hidebysig specialname instance string get_Password() public hidebysig specialname instance void set_Password(string value) }"/>
					<MemberSignature Language="C#" Value="public string Password { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the password of the account associated with the current credentials.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing the 
 password of the account associated with the current credentials.</para>
						</value>
						<permission cref="T:System.Security.Permissions.SecurityPermission">Requires permission to execute unmanaged code. See <see cref="F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="UserName">
					<MemberSignature Language="ILASM" Value=".property string UserName { public hidebysig specialname instance string get_UserName() public hidebysig specialname instance void set_UserName(string value) }"/>
					<MemberSignature Language="C#" Value="public string UserName { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the user name for the account associated with the current credentials.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the
   user name for the account associated with the current credentials.</para>
						</value>
						<permission cref="T:System.Security.Permissions.EnvironmentPermission">Requires read access to the environment variable that contains the user name. See <see cref="F:System.Security.Permissions.EnvironmentPermissionAccess.Read"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="NetworkStream" FullName="System.Net.Sockets.NetworkStream" FullNameSP="System_Net_Sockets_NetworkStream">
			<TypeSignature Language="ILASM" Value=".class public NetworkStream extends System.IO.Stream"/>
			<TypeSignature Language="C#" Value="public class NetworkStream : Stream"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Implements the standard stream mechanism to read
      and write network data through an instance of the <see cref="T:System.Net.Sockets.Socket"/> class.
      </para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Net.Sockets.NetworkStream"/> class allows network data to be read and written
   in the same manner as the <see cref="T:System.IO.Stream" qualify="true"/>
   class.</para>
					<para> This class supports simultaneous synchronous and asynchronous access
   to the network data. Random access is not supported and thus
   the <see cref="P:System.Net.Sockets.NetworkStream.CanSeek"/>
   property always returns
<see langword="false."/>
					</para>
					<para> The following properties and methods inherited from the <see cref="T:System.IO.Stream" qualify="true"/> class are
not supported and throw a <see cref="T:System.NotSupportedException"/>
exception when
accessed:</para>
					<list type="bullet">
						<item>
							<term>
								<see cref="P:System.Net.Sockets.NetworkStream.Length"/>
							</term>
						</item>
						<item>
							<term>
								<see cref="P:System.Net.Sockets.NetworkStream.Position"/>
							</term>
						</item>
						<item>
							<term>
								<see cref="M:System.Net.Sockets.NetworkStream.Seek(System.Int64,System.IO.SeekOrigin)"/>
							</term>
						</item>
						<item>
							<term>
								<see cref="M:System.Net.Sockets.NetworkStream.SetLength(System.Int64)"/>
							</term>
						</item>
					</list>
					<para>The <see cref="M:System.Net.Sockets.NetworkStream.Flush"/> method is reserved for future use but does not throw an exception.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.IO.Stream</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IDisposable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Net.Sockets.Socket socket, valuetype System.IO.FileAccess access, bool ownsSocket)"/>
					<MemberSignature Language="C#" Value="public NetworkStream(Socket socket, FileAccess access, bool ownsSocket);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="socket" Type="System.Net.Sockets.Socket"/>
						<Parameter Name="access" Type="System.IO.FileAccess"/>
						<Parameter Name="ownsSocket" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.Sockets.NetworkStream"/> class.</para>
						</summary>
						<param name="socket">An instance of the <see cref="T:System.Net.Sockets.Socket"/> class.</param>
						<param name="access">One of the values of the <see cref="T:System.IO.FileAccess" qualify="true"/> enumeration.</param>
						<param name=" ownsSocket">
							<see langword="true"/> if <paramref name="socket"/> is owned by the current instance; otherwise, <see langword="false"/>.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="socket"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">
							<para>The <see cref="P:System.Net.Sockets.Socket.Blocking"/> property of <paramref name="socket"/> is <see langword="false"/>.</para>
							<para> -or-</para>
							<para>The <see cref="P:System.Net.Sockets.Socket.Connected"/> property of <paramref name="socket"/> is <see langword="false"/>.</para>
							<para> -or-</para>
							<para>The <see cref="P:System.Net.Sockets.Socket.SocketType"/> property of <paramref name="socket"/> is not <see cref="F:System.Net.Sockets.SocketType.Stream"/>.</para>
						</exception>
						<remarks>
							<para>
								<paramref name="socket"/> is required to be an
   instance of the <see cref="T:System.Net.Sockets.Socket"/> class with its <see cref="P:System.Net.Sockets.Socket.Connected"/>
   property equal to <see langword="true"/>
   , <see cref="P:System.Net.Sockets.Socket.Blocking"/> property equal to <see langword="true"/> ,
   and <see cref="T:System.Net.Sockets.SocketType"/> equal to <see cref="F:System.Net.Sockets.SocketType.Stream"/>.</para>
							<para> When <paramref name="ownsSocket"/> is <see langword="true"/>, the current instance owns <paramref name="socket"/>, meaning the <see cref="M:System.Net.Sockets.NetworkStream.Close"/>
and <see cref="M:System.Net.Sockets.NetworkStream.Dispose(System.Boolean)"/> methods call the <see cref="M:System.Net.Sockets.Socket.Close"/>
method of <paramref name="socket"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Net.Sockets.Socket socket, valuetype System.IO.FileAccess access)"/>
					<MemberSignature Language="C#" Value="public NetworkStream(Socket socket, FileAccess access);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="socket" Type="System.Net.Sockets.Socket"/>
						<Parameter Name="access" Type="System.IO.FileAccess"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.Sockets.NetworkStream"/>
class.</para>
						</summary>
						<param name="socket">An instance of the <see cref="T:System.Net.Sockets.Socket"/> class.</param>
						<param name=" access">One of the values of the <see cref="T:System.IO.FileAccess" qualify="true"/> enumeration.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="socket"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">
							<para>The <see cref="P:System.Net.Sockets.Socket.Blocking"/> property of <paramref name="socket"/> is <see langword="false"/>.</para>
							<para> -or-</para>
							<para>The <see cref="P:System.Net.Sockets.Socket.Connected"/> property of <paramref name="socket"/> is <see langword="false"/>.</para>
							<para> -or-</para>
							<para>The <see cref="P:System.Net.Sockets.Socket.SocketType"/> property of <paramref name="socket"/> is not <see cref="F:System.Net.Sockets.SocketType.Stream"/>.</para>
						</exception>
						<remarks>
							<para>This constructor is equivalent to
   <see cref="!:System.Net.Sockets.NetworkStream.NetworkStream"/>(<paramref name="socket"/>, <paramref name="access"/>, <see langword="false"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Net.Sockets.Socket socket)"/>
					<MemberSignature Language="C#" Value="public NetworkStream(Socket socket);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="socket" Type="System.Net.Sockets.Socket"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.Sockets.NetworkStream"/>
class.</para>
						</summary>
						<param name="socket">An instance of the <see cref="T:System.Net.Sockets.Socket"/> class.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="socket"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">
							<para>The <see cref="P:System.Net.Sockets.Socket.Blocking"/> property of <paramref name="socket"/> is <see langword="false"/>.</para>
							<para> -or-</para>
							<para>The <see cref="P:System.Net.Sockets.Socket.Connected"/> property of <paramref name="socket"/> is <see langword="false"/>.</para>
							<para> -or-</para>
							<para>The <see cref="P:System.Net.Sockets.Socket.SocketType"/> property of <paramref name="socket"/> is not <see cref="F:System.Net.Sockets.SocketType.Stream"/>.</para>
						</exception>
						<remarks>
							<para>This constructor is equivalent to
   <see cref="!:System.Net.Sockets.NetworkStream.NetworkStream"/>(<paramref name="socket"/>, <see cref="F:System.IO.FileAccess.ReadWrite" qualify="true"/>, <see langword="false"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Net.Sockets.Socket socket, bool ownsSocket)"/>
					<MemberSignature Language="C#" Value="public NetworkStream(Socket socket, bool ownsSocket);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="socket" Type="System.Net.Sockets.Socket"/>
						<Parameter Name="ownsSocket" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.Sockets.NetworkStream"/> class.</para>
						</summary>
						<param name="socket">An instance of the <see cref="T:System.Net.Sockets.Socket"/> class.</param>
						<param name=" ownsSocket">
							<see langword="true"/> if <paramref name="socket"/> is owned by the current instance; otherwise, <see langword="false"/>.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="socket"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">
							<para>The <see cref="P:System.Net.Sockets.Socket.Blocking"/> property of <paramref name="socket"/> is <see langword="false"/>.</para>
							<para> -or-</para>
							<para>The <see cref="P:System.Net.Sockets.Socket.Connected"/> property of <paramref name="socket"/> is <see langword="false"/>.</para>
							<para> -or-</para>
							<para>The <see cref="P:System.Net.Sockets.Socket.SocketType"/> property of <paramref name="socket"/> is not <see cref="F:System.Net.Sockets.SocketType.Stream"/>.</para>
						</exception>
						<remarks>
							<para>This constructor is
      equivalent to <see cref="!:System.Net.Sockets.NetworkStream.NetworkStream"/>(<paramref name="socket"/>, <see cref="F:System.IO.FileAccess.ReadWrite" qualify="true"/>,
   <paramref name="ownsSocket"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.IAsyncResult BeginRead(class System.Byte[] buffer, int32 offset, int32 size, class System.AsyncCallback callback, object state)"/>
					<MemberSignature Language="C#" Value="public override IAsyncResult BeginRead(byte[] buffer, int offset, int size, AsyncCallback callback, object state);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="size" Type="System.Int32"/>
						<Parameter Name="callback" Type="System.AsyncCallback"/>
						<Parameter Name="state" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Begins an asynchronous operation to read data from the current instance.
      </para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array to store data read from the stream. </param>
						<param name=" offset">A <see cref="T:System.Int32" qualify="true"/> containing the zero-based position in <paramref name="buffer"/> at which to begin storing the data. </param>
						<param name=" size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to read. </param>
						<param name="callback">A <see cref="T:System.AsyncCallback"/> delegate, or <see langword="null"/>.</param>
						<param name=" state">An application-defined object, or <see langword="null"/>.</param>
						<returns>
							<para> A <see cref="T:System.IAsyncResult"/> instance that contains information about the asynchronous operation.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="offset"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="offset"/> &gt; <paramref name="buffer"/>.Length. </para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length - <paramref name="offset"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException">
							<para>An error occurred while accessing the underlying socket.</para>
							<para>
								<block subset="none" type="note">Any exception thrown by the <see cref="M:System.Net.Sockets.Socket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)" qualify="true"/> method is caught and rethrown as an <see langword="IOException"/> with the original exception stored in the <see cref="P:System.Exception.InnerException"/> property.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>To retrieve the results of the operation and release
      resources allocated by the <see cref="M:System.Net.Sockets.NetworkStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/> method, call
      the <see cref="M:System.Net.Sockets.NetworkStream.EndRead(System.IAsyncResult)"/> method, and specify the
   <see cref="T:System.IAsyncResult"/> object returned by this
      
      method.</para>
							<para>
								<block subset="none" type="note">The <see cref="M:System.Net.Sockets.NetworkStream.EndRead(System.IAsyncResult)"/> method should be
   called exactly once for each call to the <see cref="M:System.Net.Sockets.NetworkStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/> method.</block>
							</para>
							<para>If the <paramref name="callback"/> parameter is not
<see langword="null"/>, the method referenced by 
<paramref name="callback"/> is invoked 
when the asynchronous operation completes. The <see cref="T:System.IAsyncResult"/> object returned by this method is
passed as the argument to the method referenced by <paramref name="callback"/>. The method
referenced by <paramref name="callback"/> can retrieve the results of the operation by calling
the <see cref="M:System.Net.Sockets.NetworkStream.EndRead(System.IAsyncResult)"/>
method.</para>
							<para> The <paramref name="state"/> parameter
can be any object that the caller wishes to have available for the duration of
the asynchronous operation. This object is available via the
<see cref="P:System.IAsyncResult.AsyncState"/> 
property of the object returned by this
method.</para>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.IO.Stream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" qualify="true"/>.</para>
							</block>
						</remarks>
						<example>
							<para>For an outline of an asynchronous operation, see the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)" qualify="true"/> method. For the complete example, see
   the <see cref="T:System.Net.Sockets.Socket" qualify="true"/> class overview.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.IAsyncResult BeginWrite(class System.Byte[] buffer, int32 offset, int32 size, class System.AsyncCallback callback, object state)"/>
					<MemberSignature Language="C#" Value="public override IAsyncResult BeginWrite(byte[] buffer, int offset, int size, AsyncCallback callback, object state);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="size" Type="System.Int32"/>
						<Parameter Name="callback" Type="System.AsyncCallback"/>
						<Parameter Name="state" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Begins an asynchronous operation to write data to the current instance.
      </para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array containing data to write to the stream. </param>
						<param name=" offset">A <see cref="T:System.Int32" qualify="true"/> containing the zero-based position in <paramref name="buffer"/> containing the starting location of the data to write. </param>
						<param name=" size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to write to the stream. </param>
						<param name="callback">A <see cref="T:System.AsyncCallback"/> delegate, or <see langword="null"/>.</param>
						<param name=" state">An application-defined object, or <see langword="null"/>.</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/> instance that contains information about the asynchronous operation. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="offset"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="offset"/> &gt; <paramref name="buffer"/>.Length. </para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length - <paramref name="offset"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException">
							<para>An error occurred while accessing the underlying socket. </para>
							<para>
								<block subset="none" type="note">Any exception thrown by the <see cref="M:System.Net.Sockets.Socket.BeginSend(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)" qualify="true"/> method is caught and rethrown as an <see langword="IOException"/> with the original exception stored in the <see cref="P:System.Exception.InnerException"/> property.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> To release
      resources allocated by the <see cref="M:System.Net.Sockets.NetworkStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/> method, call
      the <see cref="M:System.Net.Sockets.NetworkStream.EndWrite(System.IAsyncResult)"/> method, and specify the
   <see cref="T:System.IAsyncResult"/> object returned by this
      
      method.</para>
							<para>
								<block subset="none" type="note">The <see cref="M:System.Net.Sockets.NetworkStream.EndWrite(System.IAsyncResult)"/> method should be
   called exactly once for each call to the <see cref="M:System.Net.Sockets.NetworkStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/> method.</block>
							</para>
							<para>If the <paramref name="callback"/> parameter is not
<see langword="null"/>, the method referenced by <paramref name="callback"/> is invoked 
when the asynchronous operation completes. The <see cref="T:System.IAsyncResult"/> object returned by this method is
passed as the argument to the method referenced by <paramref name="callback"/>. The method
referenced by <paramref name="callback"/> can retrieve the results of the operation by calling
the <see cref="M:System.Net.Sockets.NetworkStream.EndWrite(System.IAsyncResult)"/>
method.</para>
							<para> The <paramref name="state"/> parameter
can be any object that the caller wishes to have available for the duration of
the asynchronous operation. This object is available via the
<see cref="P:System.IAsyncResult.AsyncState"/> 
property of the object returned by this
method.</para>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.IO.Stream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)" qualify="true"/>.</para>
							</block>
						</remarks>
						<example>
							<para>For an outline of an asynchronous operation, see the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)" qualify="true"/>
method. For the complete example, see the <see cref="T:System.Net.Sockets.Socket" qualify="true"/> class overview.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CanRead">
					<MemberSignature Language="ILASM" Value=".property bool CanRead { public hidebysig virtual specialname bool get_CanRead() }"/>
					<MemberSignature Language="C#" Value="public override bool CanRead { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean" qualify="true"/> value indicating whether the current stream supports reading.
   </para>
						</summary>
						<value>
							<para>
								<see langword="true"/> indicates that the current stream supports reading; 
<see langword="false"/>. indicates that the current stream does not 
   support reading.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The value of this property is initially set by the 
   <see cref="T:System.Net.Sockets.NetworkStream"/> constructors and can be changed using the <see cref="P:System.Net.Sockets.NetworkStream.Readable"/> property.</para>
							<block subset="none" type="note">
								<para>This property overrides <see cref="P:System.IO.Stream.CanRead" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CanSeek">
					<MemberSignature Language="ILASM" Value=".property bool CanSeek { public hidebysig virtual specialname bool get_CanSeek() }"/>
					<MemberSignature Language="C#" Value="public override bool CanSeek { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns the <see cref="T:System.Boolean"/> value <see langword="false"/> to indicate that the
<see cref="T:System.Net.Sockets.NetworkStream"/> class 
   cannot access a specific location in the data
   stream.
   </para>
						</summary>
						<value>
							<para>
								<see langword="false"/>.</para>
						</value>
						<remarks>
							<para> This property is read-only. </para>
							<block subset="none" type="note">
								<para>This property overrides <see cref="P:System.IO.Stream.CanSeek" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CanWrite">
					<MemberSignature Language="ILASM" Value=".property bool CanWrite { public hidebysig virtual specialname bool get_CanWrite() }"/>
					<MemberSignature Language="C#" Value="public override bool CanWrite { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean" qualify="true"/> value indicating whether the current stream supports writing.
   </para>
						</summary>
						<value>
							<para>
								<see langword="true"/> indicates that the current stream supports writing; 
<see langword="false"/> 
indicates that the current stream does not support writing.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The value of this property is initially set by the 
   <see cref="T:System.Net.Sockets.NetworkStream"/> 
   constructors and can be changed using the <see cref="P:System.Net.Sockets.NetworkStream.Writeable"/> property.</para>
							<block subset="none" type="note">
								<para>This property overrides <see cref="P:System.IO.Stream.CanWrite" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Close">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Close()"/>
					<MemberSignature Language="C#" Value="public override void Close();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Closes the stream and, if owned by the current instance, the underlying socket.
      </para>
						</summary>
						<remarks>
							<para> This method calls <see cref="M:System.Net.Sockets.NetworkStream.Dispose(System.Boolean)"/>(<see langword="true"/> ), which frees both managed and unmanaged
   resources used by the current instance. When the underlying socket is owned by
   the current instance, the <see cref="M:System.Net.Sockets.Socket.Close"/>
   method of the socket is called, which frees both managed and unmanaged resources
   used by the socket.</para>
							<block subset="none" type="note">
								<para> Ownership of a socket is
      specified using the <see cref="T:System.Net.Sockets.NetworkStream"/> constructor.</para>
								<para>This method overrides <see cref="M:System.IO.Stream.Close" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DataAvailable">
					<MemberSignature Language="ILASM" Value=".property bool DataAvailable { public hidebysig virtual specialname bool get_DataAvailable() }"/>
					<MemberSignature Language="C#" Value="public virtual bool DataAvailable { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean" qualify="true"/> value indicating whether data is available to be read from the underlying socket buffer.
   </para>
						</summary>
						<value>
							<para>
								<see langword="true"/> indicates that data is available to be
   read; <see langword="false"/>
   indicates that there is no data available to be read.</para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="behaviors"> As
      described
      above. </block>
							</para>
							<para>
								<block subset="none" type="default">Accessing this
      property causes a call to the <see cref="P:System.Net.Sockets.Socket.Available"/> method of the underlying <see cref="T:System.Net.Sockets.Socket"/> instance. If the <see langword="Available"/>
      method returns a
      non-zero value, indicating data is available to be read, this property returns
   <see langword="true"/>; otherwise, this property returns
   <see langword="false"/>.
   </block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this property
      to determine if data is available to be read in the underlying socket
      buffer.
   </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Dispose">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Dispose(bool disposing)"/>
					<MemberSignature Language="C#" Value="protected virtual void Dispose(bool disposing);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="disposing" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Releases the unmanaged resources used by the current instance and optionally
      releases the managed resources.</para>
						</summary>
						<param name="disposing">A <see cref="T:System.Boolean" qualify="true"/>. Specify <see langword="true"/> to release both managed and unmanaged resources; specify <see langword="false"/> to release only unmanaged resources.</param>
						<remarks>
							<block subset="none" type="note">
								<para> Ownership of a socket is specified using the <see cref="T:System.Net.Sockets.NetworkStream"/>
   constructor.</para>
								<para> The
<see cref="M:System.Net.Sockets.NetworkStream.Close"/> method calls this method with
   the <paramref name="disposing"/> parameter set to <see langword="true"/>. The finalizer
   calls this method with the <paramref name="disposing"/> parameter set to <see langword="false"/>.</para>
							</block>
							<para>
								<block subset="none" type="behaviors">
   
   This method
   closes the current <see cref="T:System.Net.Sockets.NetworkStream"/>
   instance releasing all unmanaged resources allocated by the current instance.
   When the underlying socket is owned by the current
   instance, the <see cref="M:System.Net.Sockets.Socket.Close" qualify="true"/> method of
   the socket is called, which frees
   the managed and unmanaged resources used by the
   socket. When the <paramref name="disposing"/> parameter is <see langword="true"/> , this method also releases all resources held by any other
   managed objects allocated by the current
   instance.
</block>
							</para>
							<para>
								<block subset="none" type="default">
   
   This method
   closes the current <see cref="T:System.Net.Sockets.NetworkStream"/>
   instance releasing all unmanaged resources allocated by the current instance.
   When the underlying socket is owned by the current
   instance, the <see cref="M:System.Net.Sockets.Socket.Close" qualify="true"/> method of
   the socket is called, which frees the managed and unmanaged resources used by the
   socket.
</block>
							</para>
							<para>
								<block subset="none" type="overrides">
   
   The <see cref="M:System.Net.Sockets.Socket.Dispose(System.Boolean)"/> method can be called
   multiple times by other objects. When overriding this method, do not reference
   objects that have been previously disposed in an earlier call.
</block>
							</para>
							<para>
								<block subset="none" type="usage">
   
   Use this method to release
   resources allocated by
   the current
   instance.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndRead">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 EndRead(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public override int EndRead(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Ends an asynchronous call to
      read data from the current instance.</para>
						</summary>
						<param name="asyncResult">A <see cref="T:System.IAsyncResult"/> object that holds the state information for the asynchronous operation. </param>
						<returns>
							<para> A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes read from the stream.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">An error occurred while accessing the underlying socket. <para>
								<block subset="none" type="note">This method catches all exceptions thrown by the <see cref="M:System.Net.Sockets.Socket.EndReceive(System.IAsyncResult)" qualify="true"/> method.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This method blocks if the asynchronous operation has not completed.</para>
							<para>The <see cref="M:System.Net.Sockets.NetworkStream.EndRead(System.IAsyncResult)"/>
method completes an asynchronous request that was started with a call to the
<see cref="M:System.Net.Sockets.NetworkStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/> method. The object specified for the 
<paramref name="asyncResult"/> parameter is required to be the same object as was returned 
by the <see cref="M:System.Net.Sockets.NetworkStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/>
method call that began the
request.</para>
							<para>If the <see cref="M:System.Net.Sockets.NetworkStream.EndRead(System.IAsyncResult)"/>
method is invoked via the <see cref="T:System.AsyncCallback"/> delegate specified to the <see cref="M:System.Net.Sockets.NetworkStream.BeginRead(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/> method, the
<paramref name="asyncResult"/> parameter is the <see cref="T:System.IAsyncResult"/> 
argument passed to the
delegate's method.</para>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.IO.Stream.EndRead(System.IAsyncResult)" qualify="true"/>.</para>
							</block>
						</remarks>
						<example>
							<para>For an outline of an asynchronous operation, see the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)" qualify="true"/> method.
   For the complete example, see the <see cref="T:System.Net.Sockets.Socket" qualify="true"/> class overview.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndWrite">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void EndWrite(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public override void EndWrite(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Ends an asynchronous call to write data to the current instance.</para>
						</summary>
						<param name="asyncResult">A <see cref="T:System.IAsyncResult"/> object that holds the state information for the asynchronous operation. </param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.IO.IOException">An error occurred while accessing the underlying socket. <para>
								<block subset="none" type="note">This method catches all exceptions thrown by the <see cref="M:System.Net.Sockets.Socket.EndSend(System.IAsyncResult)" qualify="true"/> method.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This method blocks if the asynchronous operation has not completed.</para>
							<para>The <see cref="M:System.Net.Sockets.NetworkStream.EndWrite(System.IAsyncResult)"/>
method completes an asynchronous request that was started with a call to the
<see cref="M:System.Net.Sockets.NetworkStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/> method. The object specified for the 
<paramref name="asyncResult"/> parameter is required to be the same object as was returned 
by the <see cref="M:System.Net.Sockets.NetworkStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/>
method call that began the
request.</para>
							<para>If the <see cref="M:System.Net.Sockets.NetworkStream.EndWrite(System.IAsyncResult)"/>
method is invoked via the <see cref="T:System.AsyncCallback"/> delegate specified to the <see cref="M:System.Net.Sockets.NetworkStream.BeginWrite(System.Byte[],System.Int32,System.Int32,System.AsyncCallback,System.Object)"/> method, the
<paramref name="asyncResult"/> parameter is the <see cref="T:System.IAsyncResult"/> 
argument passed to the
delegate's method.</para>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.IO.Stream.EndWrite(System.IAsyncResult)" qualify="true"/>.</para>
							</block>
						</remarks>
						<example>
							<para>For an outline of an asynchronous operation, see the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)" qualify="true"/> method.
   For the complete example, see the <see cref="T:System.Net.Sockets.Socket" qualify="true"/> class
   overview.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Finalize">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Finalize()"/>
					<MemberSignature Language="C#" Value="~NetworkStream();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Frees unmanaged resources used by the current instance.</para>
						</summary>
						<remarks>
							<block subset="none" type="note">
								<para>Application code does not call this method; it is automatically invoked
         during garbage collection unless finalization by the garbage collector has been
         disabled. For more information, see <see cref="M:System.GC.SuppressFinalize(System.Object)" qualify="true"/>, and <see cref="M:System.Object.Finalize" qualify="true"/>.</para>
								<para> This method calls <see cref="M:System.Net.Sockets.NetworkStream.Dispose(System.Boolean)"/>(<see langword="false"/>), which frees unmanaged resources used by
      the current instance. When the underlying socket is owned by the current
      instance, it is closed and the managed and unmanaged resources used by the
      socket are freed.</para>
								<para>Ownership of a socket is specified using the <see cref="T:System.Net.Sockets.NetworkStream"/> constructor.</para>
								<para>This method overrides <see cref="M:System.Object.Finalize" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Flush">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Flush()"/>
					<MemberSignature Language="C#" Value="public override void Flush();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> This method is reserved for future use.
      </para>
						</summary>
						<remarks>
							<para>Calling this method does not throw an exception.</para>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.IO.Stream.Flush" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Length">
					<MemberSignature Language="ILASM" Value=".property int64 Length { public hidebysig virtual specialname int64 get_Length() }"/>
					<MemberSignature Language="C#" Value="public override long Length { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Throws a <see cref="T:System.NotSupportedException"/>.
   </para>
						</summary>
						<exception cref="T:System.NotSupportedException">Any attempt to access this property. </exception>
						<remarks>
							<block subset="none" type="note">
								<para> The <see cref="T:System.IO.Stream"/> base class implements this property to return the length of the data
      available on the stream. This functionality is not supported in
      the <see cref="T:System.Net.Sockets.NetworkStream"/> class.</para>
								<para>This property overrides <see cref="P:System.IO.Stream.Length" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Position">
					<MemberSignature Language="ILASM" Value=".property int64 Position { public hidebysig virtual specialname int64 get_Position() public hidebysig virtual specialname void set_Position(int64 value) }"/>
					<MemberSignature Language="C#" Value="public override long Position { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Throws a <see cref="T:System.NotSupportedException"/>.
   </para>
						</summary>
						<exception cref="T:System.NotSupportedException">Any attempt to access this property.</exception>
						<remarks>
							<block subset="none" type="note">
								<para> The <see cref="T:System.IO.Stream"/> base class implements this property to return or set the
      current position in the stream. This functionality is not supported in the <see cref="T:System.Net.Sockets.NetworkStream"/>
      class.</para>
								<para>This property overrides <see cref="P:System.IO.Stream.Position" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Read">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int32 Read(class System.Byte[] buffer, int32 offset, int32 size)"/>
					<MemberSignature Language="C#" Value="public override int Read(byte[] buffer, int offset, int size);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="size" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Reads data from the current instance and stores it in a data buffer.
      </para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array to store data read from the stream. </param>
						<param name=" offset">A <see cref="T:System.Int32" qualify="true"/> containing the zero-based position in <paramref name="buffer"/> at which to begin storing the data. </param>
						<param name=" size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to read. </param>
						<returns>
							<para> A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes read from the
   stream.
   </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="offset"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="offset"/> &gt; <paramref name="buffer"/>.Length. </para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length - <paramref name="offset"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An error occurred while accessing the underlying socket. <para>
								<block subset="none" type="note">This method catches all exceptions thrown by the <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)" qualify="true"/> method.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> When no incoming data is available, this method blocks and
      waits for data to arrive.</para>
							<para> If the remote socket was shut down gracefully (<see cref="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)" qualify="true"/> was called on the socket or
   the <see cref="F:System.Net.Sockets.SocketOptionName.Linger" qualify="true"/> option was enabled
   and <see cref="M:System.Net.Sockets.Socket.Close" qualify="true"/> was called on the socket) and all data was received, this
   method immediately returns zero.</para>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Seek">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual int64 Seek(int64 offset, valuetype System.IO.SeekOrigin origin)"/>
					<MemberSignature Language="C#" Value="public override long Seek(long offset, SeekOrigin origin);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int64</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="offset" Type="System.Int64"/>
						<Parameter Name="origin" Type="System.IO.SeekOrigin"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Throws a <see cref="T:System.NotSupportedException"/>.</para>
						</summary>
						<param name="offset">This parameter is not used.</param>
						<param name=" origin">This parameter is not used.</param>
						<exception cref="T:System.NotSupportedException">Any call to this method.</exception>
						<remarks>
							<block subset="none" type="note">
								<para> The <see cref="T:System.IO.Stream"/> base class uses this method to set the current
      position in the stream. This functionality is not supported in the <see cref="T:System.Net.Sockets.NetworkStream"/>
      class.</para>
								<para>This method overrides <see cref="M:System.IO.Stream.Seek(System.Int64,System.IO.SeekOrigin)" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetLength">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void SetLength(int64 value)"/>
					<MemberSignature Language="C#" Value="public override void SetLength(long value);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="value" Type="System.Int64"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Throws a <see cref="T:System.NotSupportedException"/>.</para>
						</summary>
						<param name="value">This parameter is not used.</param>
						<exception cref="T:System.NotSupportedException">Any call to this method.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>The <see cref="T:System.IO.Stream"/>
   base class uses this method to set the length of the data available on the
   stream. This functionality is not supported in the <see cref="T:System.Net.Sockets.NetworkStream"/> class.</para>
								<para>This method overrides <see cref="M:System.IO.Stream.SetLength(System.Int64)" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Write">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void Write(class System.Byte[] buffer, int32 offset, int32 size)"/>
					<MemberSignature Language="C#" Value="public override void Write(byte[] buffer, int offset, int size);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="size" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Writes data from a specific area of a data buffer to the current instance.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array containing data to write to the stream.</param>
						<param name="offset">A <see cref="T:System.Int32" qualify="true"/> containing the zero-based position in <paramref name="buffer"/> containing the starting location of the data to write.</param>
						<param name="size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to write to the stream.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="offset"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="offset"/> &gt; <paramref name="buffer"/>.Length. </para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length - <paramref name="offset"/>.</para>
						</exception>
						<exception cref="T:System.IO.IOException">An error occurred while accessing the underlying socket. <para>
								<block subset="none" type="note">This method catches all exceptions thrown by the <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)" qualify="true"/> method.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>When no buffer space is available within the underlying protocol, this method
      blocks unless the socket is in non-blocking mode. </para>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)" qualify="true"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ProtocolType" FullName="System.Net.Sockets.ProtocolType" FullNameSP="System_Net_Sockets_ProtocolType">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable ProtocolType extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum ProtocolType"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Specifies the protocols used by the <see cref="T:System.Net.Sockets.Socket"/> class.
   </para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Net.Sockets.ProtocolType"/> enumeration is used with the
<see cref="T:System.Net.Sockets.Socket"/> class. This enumeration specifies the 
   protocols that a socket instance can use to transport
   data. </para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Ggp">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType Ggp = 3"/>
					<MemberSignature Language="C#" Value="Ggp = 3;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Ggp</MemberValue>
					<Docs>
						<summary>
							<para>Specifies the Gateway To Gateway Protocol.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Icmp">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType Icmp = 1"/>
					<MemberSignature Language="C#" Value="Icmp = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Icmp</MemberValue>
					<Docs>
						<summary>
							<para>Specifies the Internet Control Message Protocol (ICMP) as defined by IETF RFC 1792.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Idp">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType Idp = 22"/>
					<MemberSignature Language="C#" Value="Idp = 22;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Idp</MemberValue>
					<Docs>
						<summary>
							<para> Specifies the Inter-Domain Policy Protocol (IDP) as defined by IETF RFC 1764.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Igmp">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType Igmp = 2"/>
					<MemberSignature Language="C#" Value="Igmp = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Igmp</MemberValue>
					<Docs>
						<summary>
							<para>Specifies the Internet Group Management Protocol (IGMP) as defined by IETF RFC 2236.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IP">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType IP = 0"/>
					<MemberSignature Language="C#" Value="IP = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>IP</MemberValue>
					<Docs>
						<summary>
							<para>Specifies the Internet Protocol (IP) as defined by IETF RFC 791, 792, 919, 
      922, and 1112.</para>
							<block subset="none" type="note">
								<para>Multiple names are defined for this value based on prior art.
         This value is identical to <see cref="F:System.Net.Sockets.ProtocolType.Unspecified"/>.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Ipx">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType Ipx = 1000"/>
					<MemberSignature Language="C#" Value="Ipx = 1000;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Ipx</MemberValue>
					<Docs>
						<summary>
							<para> Specifies the Internetwork Packet Exchange Protocol.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ND">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType ND = 77"/>
					<MemberSignature Language="C#" Value="ND = 77;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ND</MemberValue>
					<Docs>
						<summary>
							<para> Specifies the Net Disk Protocol.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Pup">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType Pup = 12"/>
					<MemberSignature Language="C#" Value="Pup = 12;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Pup</MemberValue>
					<Docs>
						<summary>
							<para> Specifies the Xerox Post Office Update Protocol.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Raw">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType Raw = 255"/>
					<MemberSignature Language="C#" Value="Raw = 255;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Raw</MemberValue>
					<Docs>
						<summary>
							<para>Specifies the Raw IP packet protocol.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Spx">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType Spx = 1256"/>
					<MemberSignature Language="C#" Value="Spx = 1256;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Spx</MemberValue>
					<Docs>
						<summary>
							<para> Specifies the Sequenced Packet Exchange Protocol.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SpxII">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType SpxII = 1257"/>
					<MemberSignature Language="C#" Value="SpxII = 1257;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>SpxII</MemberValue>
					<Docs>
						<summary>
							<para>Specifies the Sequenced Packet Exchange Version 2 Protocol.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Tcp">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType Tcp = 6"/>
					<MemberSignature Language="C#" Value="Tcp = 6;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Tcp</MemberValue>
					<Docs>
						<summary>
							<para>Specifies the Transmission Control Protocol (TCP) as defined by IETF RFC 793. </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Udp">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType Udp = 17"/>
					<MemberSignature Language="C#" Value="Udp = 17;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Udp</MemberValue>
					<Docs>
						<summary>
							<para>Specifies the User Datagram Protocol (UDP) as defined by IETF RFC 768. </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Unknown">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType Unknown = -1"/>
					<MemberSignature Language="C#" Value="Unknown = -1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Unknown</MemberValue>
					<Docs>
						<summary>
							<para>Used to indicate an uninitialized state. This member is not to
      be used when constructing instances of the <see cref="T:System.Net.Sockets.Socket"/> class.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Unspecified">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.ProtocolType Unspecified = 0"/>
					<MemberSignature Language="C#" Value="Unspecified = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>IP</MemberValue>
					<Docs>
						<summary>
							<para>Unspecified protocol.</para>
							<block subset="none" type="note">
								<para>Multiple names are defined for this value based on prior art. 
         This value is identical to <see cref="F:System.Net.Sockets.ProtocolType.IP"/>.</para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ProtocolViolationException" FullName="System.Net.ProtocolViolationException" FullNameSP="System_Net_ProtocolViolationException">
			<TypeSignature Language="ILASM" Value=".class public serializable ProtocolViolationException extends System.InvalidOperationException"/>
			<TypeSignature Language="C#" Value="public class ProtocolViolationException : InvalidOperationException"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents errors that occur due to violating the rules of a network
 protocol.</para>
				</summary>
				<remarks>
					<para>A <see cref="T:System.Net.ProtocolViolationException"/> is thrown by types
 derived from <see cref="T:System.Net.WebRequest"/> and <see cref="T:System.Net.WebResponse"/> to indicate that an error has occurred as defined by the rules of the underlying
 protocol. For example, the <see cref="T:System.Net.HttpWebRequest"/> type throws a
<see cref="T:System.Net.ProtocolViolationException"/> when an application 
 attempts to send content without specifying the content length.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.InvalidOperationException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public ProtocolViolationException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Net.ProtocolViolationException"/> class.</para>
						</summary>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.Net.ProtocolViolationException.Message"/> property of the
   new instance to a system-supplied message that describes the error, such as
   "Protocol error occurred." This message takes into account the current system
   culture.</para>
							<para>The <see cref="!:System.Net.ProtocolViolationException.InnerException"/> property of the new instance is
initialized to <see langword="null"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string message)"/>
					<MemberSignature Language="C#" Value="public ProtocolViolationException(string message);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="message" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.ProtocolViolationException"/>
class.</para>
						</summary>
						<param name="message">A <see cref="T:System.String"/> that describes the error. The content of <paramref name="message"/> is intended to be understood by humans. The caller of this constructor is required to ensure that this string has been localized for the current system culture.</param>
						<remarks>
							<para>This constructor initializes the <see cref="!:System.Net.ProtocolViolationException.Message"/> property
   of the new instance using <paramref name="message"/>. If <paramref name="message"/> is
<see langword="null"/>, the <see cref="!:System.Net.ProtocolViolationException.Message"/> property is initialized to the system-supplied 
   message provided by the constructor that takes no arguments. </para>
							<para> The <see cref="!:System.Net.ProtocolViolationException.InnerException"/> property of the new
instance is initialized to <see langword="null"/>. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SelectMode" FullName="System.Net.Sockets.SelectMode" FullNameSP="System_Net_Sockets_SelectMode">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable SelectMode extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum SelectMode"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Specifies the mode used by the <see cref="M:System.Net.Sockets.Socket.Poll(System.Int32,System.Net.Sockets.SelectMode)"/> method of
   the <see cref="T:System.Net.Sockets.Socket"/> class.
   </para>
				</summary>
				<remarks>
					<para>A <see cref="T:System.Net.Sockets.SelectMode"/> member specifies the
   status information (read, write, or error) to retrieve from the
   current <see cref="T:System.Net.Sockets.Socket"/> instance.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="SelectError">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SelectMode SelectError = 2"/>
					<MemberSignature Language="C#" Value="SelectError = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SelectMode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>SelectError</MemberValue>
					<Docs>
						<summary>
							<para>Determine the error status of the current <see cref="T:System.Net.Sockets.Socket"/> 
instance.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SelectRead">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SelectMode SelectRead = 0"/>
					<MemberSignature Language="C#" Value="SelectRead = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SelectMode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>SelectRead</MemberValue>
					<Docs>
						<summary>
							<para>Determine the read status of the current <see cref="T:System.Net.Sockets.Socket"/> 
instance.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SelectWrite">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SelectMode SelectWrite = 1"/>
					<MemberSignature Language="C#" Value="SelectWrite = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SelectMode</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>SelectWrite</MemberValue>
					<Docs>
						<summary>
							<para>Determine the write status of the current <see cref="T:System.Net.Sockets.Socket"/> instance.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ServicePoint" FullName="System.Net.ServicePoint" FullNameSP="System_Net_ServicePoint">
			<TypeSignature Language="ILASM" Value=".class public ServicePoint extends System.Object"/>
			<TypeSignature Language="C#" Value="public class ServicePoint"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Represents connections to Internet hosts.</para>
				</summary>
				<remarks>
					<para>The <see cref="T:System.Net.ServicePoint"/> class handles connections to a resource based on the host information
   passed in the Uniform Resource Identifier (URI) of the resource. The initial
   connection to the host determines the information the <see cref="T:System.Net.ServicePoint"/> maintains, which is then
   shared by all subsequent requests for resources residing on the host. </para>
					<block subset="none" type="note">
						<para>
							<see cref="T:System.Net.ServicePoint"/> instances are
   created and managed by the <see cref="T:System.Net.ServicePointManager"/>
   class. The maximum number of <see cref="T:System.Net.ServicePoint"/> instances is
   set by the <see cref="P:System.Net.ServicePointManager.MaxServicePoints" qualify="true"/>
   property.</para>
						<para>A <see cref="T:System.Net.ServicePoint"/> instance that is not connected to any host is idle. 
An idle <see cref="T:System.Net.ServicePoint"/>
is managed by the <see cref="T:System.Net.ServicePointManager"/>
only until it has been
idle longer than the time specified in its <see cref="P:System.Net.ServicePoint.MaxIdleTime"/> property.
After a <see cref="T:System.Net.ServicePoint"/>
instance exceeds the <see cref="P:System.Net.ServicePoint.MaxIdleTime"/> , it is
released by the service point
manager and subsequently freed. The default value of <see cref="P:System.Net.ServicePoint.MaxIdleTime"/> is set by the <see cref="P:System.Net.ServicePointManager.MaxServicePointIdleTime" qualify="true"/>
property. </para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Address">
					<MemberSignature Language="ILASM" Value=".property class System.Uri Address { public hidebysig specialname instance class System.Uri get_Address() }"/>
					<MemberSignature Language="C#" Value="public Uri Address { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Uri</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the Uniform Resource Identifier (URI) of the <see cref="T:System.Net.ServicePoint"/>.
   </para>
						</summary>
						<value>
							<para> A <see cref="T:System.Uri"/> instance
   representing the URI specified at the time the current instance was constructed <see langword="."/>
							</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">The <see cref="P:System.Uri.Host"/> property
   of the <see cref="T:System.Uri"/> returned by this property names the host to which the current instance connects.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ConnectionLimit">
					<MemberSignature Language="ILASM" Value=".property int32 ConnectionLimit { public hidebysig specialname instance int32 get_ConnectionLimit() public hidebysig specialname instance void set_ConnectionLimit(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int ConnectionLimit { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets the maximum number of
      simultaneous connections that the <see cref="T:System.Net.ServicePoint"/> can make to an Internet
      host.
      </para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> containing the 
   maximum number of simultaneous connections allowed on the current <see cref="T:System.Net.ServicePoint"/>.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is less than or equal to zero. </exception>
						<remarks>
							<para>
								<block subset="none" type="note">When the <see cref="T:System.Net.ServicePoint"/> is created, the value of
   this property is determined by the value of the
<see cref="P:System.Net.ServicePointManager.DefaultConnectionLimit" qualify="true"/> 
property.
Note that subsequent changes to <see cref="P:System.Net.ServicePointManager.DefaultConnectionLimit"/> have no effect on existing <see cref="T:System.Net.ServicePoint"/> instances.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ConnectionName">
					<MemberSignature Language="ILASM" Value=".property string ConnectionName { public hidebysig specialname instance string get_ConnectionName() }"/>
					<MemberSignature Language="C#" Value="public string ConnectionName { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the connection group name specified by the <see cref="T:System.Net.WebRequest"/> that created the connection.
   </para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the 
   value of the <see cref="P:System.Net.WebRequest.ConnectionGroupName"/> property of the <see cref="T:System.Net.WebRequest"/> that
   initiated the connection provided
   by the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">If this
      property is set, only <see cref="T:System.Net.WebRequest"/>
      instances with the same <see cref="P:System.Net.WebRequest.ConnectionGroupName"/> can communicate with
      the host using the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CurrentConnections">
					<MemberSignature Language="ILASM" Value=".property int32 CurrentConnections { public hidebysig specialname instance int32 get_CurrentConnections() }"/>
					<MemberSignature Language="C#" Value="public int CurrentConnections { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
 Gets the number of connections held by the current
 instance.
</summary>
						<value>
 A <see cref="T:System.Int32"/> containing the number of connections held by
 the current instance.
</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">The value of <see cref="P:System.Net.ServicePoint.CurrentConnections"/> cannot
 exceed that of <see cref="P:System.Net.ServicePoint.ConnectionLimit"/>.</block>
							</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for this instance.</para>
						</returns>
						<remarks>
							<para>The algorithm used to
 generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note">This method overrides <see cref="M:System.Object.GetHashCode" qualify="true"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IdleSince">
					<MemberSignature Language="ILASM" Value=".property valuetype System.DateTime IdleSince { public hidebysig specialname instance valuetype System.DateTime get_IdleSince() }"/>
					<MemberSignature Language="C#" Value="public DateTime IdleSince { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.DateTime</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the date and time that the <see cref="T:System.Net.ServicePoint"/> was last connected to a host.
   </para>
						</summary>
						<value>
							<para>A <see cref="T:System.DateTime"/> instance
   containing the date and time at which the <see cref="T:System.Net.ServicePoint"/> was last
   connected.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">When the difference between the current time
      and <see cref="P:System.Net.ServicePoint.IdleSince"/> exceeds the
      value of <see cref="P:System.Net.ServicePoint.MaxIdleTime"/>, the current instance is released by
      the <see cref="T:System.Net.ServicePointManager"/> and subsequently freed.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxIdleTime">
					<MemberSignature Language="ILASM" Value=".property int32 MaxIdleTime { public hidebysig specialname instance int32 get_MaxIdleTime() public hidebysig specialname instance void set_MaxIdleTime(int32 value) }"/>
					<MemberSignature Language="C#" Value="public int MaxIdleTime { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
   Gets or sets the maximum amount of time the current
   instance can remain idle (unconnected to a host).
</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> containing the number of milliseconds that a <see cref="T:System.Net.ServicePoint"/> can remain idle before it is released by the <see cref="T:System.Net.ServicePointManager"/> 
and subsequently freed.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is less than <see cref="F:System.Threading.Timeout.Infinite"/> or greater than <see cref="F:System.Int32.MaxValue"/>.</exception>
						<remarks>
							<para>
								<block subset="none" type="note">When the difference between the current 
      time and <see cref="P:System.Net.ServicePoint.IdleSince"/> exceeds the value of <see cref="P:System.Net.ServicePoint.MaxIdleTime"/>, the current instance is released by
      the <see cref="T:System.Net.ServicePointManager"/> and subsequently freed.</block>
							</para>
							<para>The default value of this property is the value of the <see cref="P:System.Net.ServicePointManager.MaxServicePointIdleTime" qualify="true"/>
property at the time the <see cref="T:System.Net.ServicePoint"/> was created.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ProtocolVersion">
					<MemberSignature Language="ILASM" Value=".property class System.Version ProtocolVersion { public hidebysig virtual specialname class System.Version get_ProtocolVersion() }"/>
					<MemberSignature Language="C#" Value="public virtual Version ProtocolVersion { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Version</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the version of the protocol that the <see cref="T:System.Net.ServicePoint"/> uses.
   </para>
						</summary>
						<value>
							<para>A <see cref="T:System.Version"/> instance
   containing the version of the protocol used by the <see cref="T:System.Net.ServicePoint"/> .</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="behaviors">As described
      above. </block>
							</para>
							<para>
								<block subset="none" type="default">This property returns a <see cref="T:System.Version"/> instance
   initialized to <see cref="F:System.Net.HttpVersion.Version11"/>.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this property to return
   the version information for types derived from <see cref="T:System.Net.ServicePoint"/>.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this property to determine the protocol
   version information used by the current instance.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SupportsPipelining">
					<MemberSignature Language="ILASM" Value=".property bool SupportsPipelining { public hidebysig specialname instance bool get_SupportsPipelining() }"/>
					<MemberSignature Language="C#" Value="public bool SupportsPipelining { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> A <see cref="T:System.Boolean"/> value that indicates whether the <see cref="T:System.Net.ServicePoint"/> supports pipelined connections.
   </para>
						</summary>
						<value>
							<para>
								<see langword="true"/> if the <see cref="T:System.Net.ServicePoint"/> supports pipelined connections;
   otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">For information on pipelining, see IETF 
      RFC 2068.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="ServicePointManager" FullName="System.Net.ServicePointManager" FullNameSP="System_Net_ServicePointManager">
			<TypeSignature Language="ILASM" Value=".class public ServicePointManager extends System.Object"/>
			<TypeSignature Language="C#" Value="public class ServicePointManager"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>The public static fields exposed in ServicePointManager are not thread safe.  Changing one of these values in one thread will change the value for any other thread subsequently accessing the field.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Manages <see cref="T:System.Net.ServicePoint"/> instances.</para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Net.ServicePointManager"/> creates, maintains,
 and deletes <see cref="T:System.Net.ServicePoint"/> instances. </para>
					<para> When an application requests a connection to an Internet resource through
 the <see cref="T:System.Net.ServicePointManager"/>, the <see cref="T:System.Net.ServicePointManager"/>
 returns a <see cref="T:System.Net.ServicePoint"/> instance containing
 connection information for the host identified by
 the Uniform Resource Identifier (URI) of the resource. If there is an existing <see cref="T:System.Net.ServicePoint"/> for that host, the
<see cref="T:System.Net.ServicePointManager"/> 
returns the existing <see cref="T:System.Net.ServicePoint"/>, otherwise the <see cref="T:System.Net.ServicePointManager"/> creates a new <see cref="T:System.Net.ServicePoint"/>
instance. </para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="DefaultConnectionLimit">
					<MemberSignature Language="ILASM" Value=".property int32 DefaultConnectionLimit { public hidebysig static specialname int32 get_DefaultConnectionLimit() public hidebysig static specialname void set_DefaultConnectionLimit(int32 value) }"/>
					<MemberSignature Language="C#" Value="public static int DefaultConnectionLimit { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>2</MemberValue>
					<Docs>
						<summary>
							<para>Gets or sets the maximum number of concurrent connections allowed by a
   <see cref="T:System.Net.ServicePoint"/> instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> containing the maximum number of concurrent connections allowed by a <see cref="T:System.Net.ServicePoint"/> instance.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is less than or equal to zero.</exception>
						<remarks>
							<para>The <see cref="P:System.Net.ServicePointManager.DefaultConnectionLimit"/> property sets the default maximum number of concurrent
   connections that the <see cref="T:System.Net.ServicePointManager"/> assigns to the <see cref="P:System.Net.ServicePoint.ConnectionLimit"/> property
   when creating <see cref="T:System.Net.ServicePoint"/> instances.</para>
							<para>
								<block subset="none" type="note">Changing the <see cref="P:System.Net.ServicePointManager.DefaultConnectionLimit"/> property has no effect on existing <see cref="T:System.Net.ServicePoint"/>
instances; it affects only <see cref="T:System.Net.ServicePoint"/> instances that
are initialized after the change.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DefaultNonPersistentConnectionLimit">
					<MemberSignature Language="ILASM" Value=".field public static literal int32 DefaultNonPersistentConnectionLimit = 4"/>
					<MemberSignature Language="C#" Value="public const int DefaultNonPersistentConnectionLimit = 4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>4</MemberValue>
					<Docs>
						<summary>
							<para> The default number of non-persistent connections allowed on a <see cref="T:System.Net.ServicePoint"/> .
   </para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para>The value of this field is
      4.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DefaultPersistentConnectionLimit">
					<MemberSignature Language="ILASM" Value=".field public static literal int32 DefaultPersistentConnectionLimit = 2"/>
					<MemberSignature Language="C#" Value="public const int DefaultPersistentConnectionLimit = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>2</MemberValue>
					<Docs>
						<summary>
							<para> The default number of persistent connections allowed on a <see cref="T:System.Net.ServicePoint"/> .
   </para>
						</summary>
						<remarks>
							<para>This field is read-only.</para>
							<para>The value of this field is
      2.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FindServicePoint">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Net.ServicePoint FindServicePoint(class System.Uri address)"/>
					<MemberSignature Language="C#" Value="public static ServicePoint FindServicePoint(Uri address);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.ServicePoint</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Uri"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Finds an existing <see cref="T:System.Net.ServicePoint"/> or creates a new <see cref="T:System.Net.ServicePoint"/> to connect to the specified host.</para>
						</summary>
						<param name="address">A <see cref="T:System.Uri"/> containing the Internet host to contact.</param>
						<returns>
							<para>A <see cref="T:System.Net.ServicePoint"/> that connects to the host identified in
<paramref name="address"/> 
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="address "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.InvalidOperationException">The maximum number of service points defined in <see cref="P:System.Net.ServicePointManager.MaxServicePoints"/> has been reached and there is no service point that connects to the specified host.</exception>
						<remarks>
							<para>This method is identical to <see cref="M:System.Net.ServicePointManager.FindServicePoint(System.Uri)"/>(<paramref name="address"/>, <see cref="M:System.Net.GlobalProxySelection.GetEmptyWebProxy"/>).</para>
							<para> If no <see cref="T:System.Net.ServicePoint"/> exists for the host named in <paramref name="address"/> , the <see cref="T:System.Net.ServicePointManager"/> attempts to
create one.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FindServicePoint">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Net.ServicePoint FindServicePoint(string uriString, class System.Net.IWebProxy proxy)"/>
					<MemberSignature Language="C#" Value="public static ServicePoint FindServicePoint(string uriString, IWebProxy proxy);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.ServicePoint</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="uriString" Type="System.String"/>
						<Parameter Name="proxy" Type="System.Net.IWebProxy"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Finds an existing <see cref="T:System.Net.ServicePoint"/> or creates a new <see cref="T:System.Net.ServicePoint"/> to connect to the specified host.</para>
						</summary>
						<param name="uriString">A <see cref="T:System.String"/> containing a URI that names the host to contact.</param>
						<param name="proxy">A <see cref="T:System.Net.IWebProxy"/> that represents a proxy server to access.</param>
						<returns>
							<para>A <see cref="T:System.Net.ServicePoint"/> that connects to the host identified in
<paramref name="uriString"/> 
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="uriString"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.UriFormatException">The URI specified in <paramref name="uriString"/> is in an invalid form.</exception>
						<exception cref="T:System.InvalidOperationException">The maximum number of service points defined in <see cref="P:System.Net.ServicePointManager.MaxServicePoints"/> has been reached and there is no service point that connects to the specified host.</exception>
						<remarks>
							<para>This method is identical to <see cref="M:System.Net.ServicePointManager.FindServicePoint(System.Uri)"/>(new <see cref="T:System.Uri"/>(<paramref name="uriString"/>),
<paramref name="proxy"/>).</para>
							<para>If no <see cref="T:System.Net.ServicePoint"/> exists for the host named in <paramref name="uriString"/>, the
<see cref="T:System.Net.ServicePointManager"/> attempts to create one.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FindServicePoint">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static class System.Net.ServicePoint FindServicePoint(class System.Uri address, class System.Net.IWebProxy proxy)"/>
					<MemberSignature Language="C#" Value="public static ServicePoint FindServicePoint(Uri address, IWebProxy proxy);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.ServicePoint</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="address" Type="System.Uri"/>
						<Parameter Name="proxy" Type="System.Net.IWebProxy"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Finds an existing <see cref="T:System.Net.ServicePoint"/> or creates a new <see cref="T:System.Net.ServicePoint"/> to connect to the specified host.</para>
						</summary>
						<param name="address">A <see cref="T:System.Uri"/> instance containing the address of the Internet resource to contact.</param>
						<param name="proxy">A <see cref="T:System.Net.IWebProxy"/> that represents a proxy server to access.</param>
						<returns>
							<para>A <see cref="T:System.Net.ServicePoint"/> that connects to the host identified in
<paramref name="address"/> 
.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="address "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.InvalidOperationException">The maximum number of service points defined in <see cref="P:System.Net.ServicePointManager.MaxServicePoints"/> has been reached and there is no service point that connects to the specified host.</exception>
						<remarks>
							<para> If no <see cref="T:System.Net.ServicePoint"/> exists for the <see cref="P:System.Uri.Host"/> specified in <paramref name="address"/> , the <see cref="T:System.Net.ServicePointManager"/> attempts to create one.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxServicePointIdleTime">
					<MemberSignature Language="ILASM" Value=".property int32 MaxServicePointIdleTime { public hidebysig static specialname int32 get_MaxServicePointIdleTime() public hidebysig static specialname void set_MaxServicePointIdleTime(int32 value) }"/>
					<MemberSignature Language="C#" Value="public static int MaxServicePointIdleTime { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>900000</MemberValue>
					<Docs>
						<summary>
							<para> Gets or sets the maximum amount of time a <see cref="T:System.Net.ServicePoint"/> instance can be idle, 
   after which resources allocated
   to the service point can be released.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> containing the maximum idle time, in milliseconds, of a <see cref="T:System.Net.ServicePoint"/> instance.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is less than <see cref="F:System.Threading.Timeout.Infinite"/> or greater than <see cref="F:System.Int32.MaxValue" qualify="true"/>
						</exception>
						<remarks>
							<para> A <see cref="T:System.Net.ServicePoint"/>
is idle when the list of
connections associated with the <see cref="T:System.Net.ServicePoint"/> is empty.</para>
							<para>The <see cref="P:System.Net.ServicePointManager.MaxServicePointIdleTime"/>
property holds the value for the maximum idle time for service points. When a <see cref="T:System.Net.ServicePoint"/> instance is created,
this value is assigned to its <see cref="P:System.Net.ServicePoint.MaxIdleTime"/> property. Changes to the value
of this property affect only <see cref="T:System.Net.ServicePoint"/> instances that are initialized after this property
is changed.</para>
							<para>After a <see cref="T:System.Net.ServicePoint"/> has been idle for the time
specified in <see cref="P:System.Net.ServicePoint.MaxIdleTime"/> , it is
released by the service point manager, and
any resources allocated
for it are freed.</para>
							<para>The default value of this property is
   implementation defined.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxServicePoints">
					<MemberSignature Language="ILASM" Value=".property int32 MaxServicePoints { public hidebysig static specialname int32 get_MaxServicePoints() public hidebysig static specialname void set_MaxServicePoints(int32 value) }"/>
					<MemberSignature Language="C#" Value="public static int MaxServicePoints { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>0</MemberValue>
					<Docs>
						<summary>
							<para>Gets or sets the maximum number of <see cref="T:System.Net.ServicePoint"/> instances managed by this class at any
 time.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.Int32"/> containing the maximum number of <see cref="T:System.Net.ServicePoint"/> instances to maintain.</para>
						</value>
						<exception cref="T:System.ArgumentOutOfRangeException">The value specified for a set operation is less than zero or greater than <see cref="F:System.Int32.MaxValue" qualify="true"/>
						</exception>
						<remarks>
							<para>If this property is set to a value that is less than the
 number of <see cref="T:System.Net.ServicePoint"/> instances currently in
 existence, the <see cref="T:System.Net.ServicePointManager"/>
 deletes the
 <see cref="T:System.Net.ServicePoint"/> instances with the longest idle times.
 If the number of <see cref="T:System.Net.ServicePoint"/> instances with active
 connections is greater than the value of
 <see cref="P:System.Net.ServicePointManager.MaxServicePoints"/>, the <see cref="T:System.Net.ServicePointManager"/> 
 deletes <see cref="T:System.Net.ServicePoint"/>
 instances as they become idle. </para>
							<para>
								<block subset="none" type="note">The default value
 of the <see cref="P:System.Net.ServicePointManager.MaxServicePoints"/> property is 0, which indicates
 there is no limit to the number of <see cref="T:System.Net.ServicePoint"/> instances.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Socket" FullName="System.Net.Sockets.Socket" FullNameSP="System_Net_Sockets_Socket">
			<TypeSignature Language="ILASM" Value=".class public Socket extends System.Object implements System.IDisposable"/>
			<TypeSignature Language="C#" Value="public class Socket : IDisposable"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Creates a communication endpoint through which an application sends or receives data across a
      network.</para>
				</summary>
				<remarks>
					<para> This class enables a <see cref="T:System.Net.Sockets.Socket"/> instance to communicate with another socket
   across a network. The communication can
   be through connection-oriented and connectionless protocols using either data streams or datagrams
   (discrete message packets).</para>
					<para>Message-oriented protocols preserve message boundaries
   and require that for each <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> method call there is one
   corresponding <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> method call. For stream-oriented protocols, data
   is transmitted without regards to message boundaries. In this case, for
   example, multiple <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> method calls may be necessary to
   retrieve all the data from one <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> method call. The protocol is set in
   the <see langword="Socket"/>
   
   class
   constructor. </para>
					<para>A <see cref="T:System.Net.Sockets.Socket"/>
instance has a local and a remote endpoint associated with it. The local
endpoint contains the connection information for the current socket instance.
The remote endpoint contains the connection information for the socket that the current instance communicates with. The
endpoints are required to be an instance of a type derived from
the <see cref="T:System.Net.EndPoint" qualify="true"/> class. For the Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) protocols, an endpoint
includes the address family, an Internet Protocol (IP) address, and a port number.
For connection-oriented protocols (for example, TCP), the remote endpoint
does not have to be specified when transferring data. For connectionless
protocols (for example, UDP), the remote endpoint is required to be specified.</para>
					<para>Methods are provided for both synchronous and asynchronous
   operations. A synchronous method can operate in blocking mode, in which it waits
   (blocks) until the operation is complete before returning, or in non-blocking
   mode, where it returns immediately, possibly before the operation has completed.
   The blocking mode is set through the <see cref="P:System.Net.Sockets.Socket.Blocking"/> property.</para>
					<para> An asynchronous method returns immediately and, by convention, relies on a delegate to
   complete the operation. Asynchronous methods have names which correspond to their
   synchronous counterparts prefixed with either 'Begin' or End'. For example, the
   synchronous <see cref="M:System.Net.Sockets.Socket.Accept"/> method has asynchronous counterpart methods
   named <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> and <see cref="M:System.Net.Sockets.Socket.EndAccept(System.IAsyncResult)"/>. The
   example for the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method shows the basic
   steps for using an asynchronous operation. A complete working example follows this
   discussion.</para>
					<para>Connection-oriented protocols commonly use the client/server model. In this model, one of
   the sockets is set up as a server, and one or more sockets are set
   up as clients. A general procedure demonstrating the synchronous communication process for this model is as
   follows.</para>
					<para>On the server-side:</para>
					<list type="number">
						<item>
							<term>
      Create a socket to listen for incoming connection
      requests.</term>
						</item>
						<item>
							<term>
      Set the local endpoint using the <see cref="M:System.Net.Sockets.Socket.Bind(System.Net.EndPoint)"/> method.</term>
						</item>
						<item>
							<term>
      Put the socket in the
      listening state using the <see cref="M:System.Net.Sockets.Socket.Listen(System.Int32)"/> method.</term>
						</item>
						<item>
							<term>
      At this point incoming connection requests from a
      client are placed in a queue.</term>
						</item>
						<item>
							<term>
      Use the <see cref="M:System.Net.Sockets.Socket.Accept"/> method to create a server socket
      for a connection request issued by a client-side socket. This sets the remote
      endpoint.</term>
						</item>
						<item>
							<term>
      Use the <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> and <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> methods to communicate with the
      client socket.</term>
						</item>
						<item>
							<term>
      When communication is finished, terminate the connection
      using the <see cref="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)"/> method.</term>
						</item>
						<item>
							<term>
      Release the resources allocated by the server socket using
      the <see cref="M:System.Net.Sockets.Socket.Close"/> method.</term>
						</item>
						<item>
							<term>
      Release the resources allocated by the listener socket using the <see cref="M:System.Net.Sockets.Socket.Close"/> method.</term>
						</item>
					</list>
					<para>On the client-side:</para>
					<list type="number">
						<item>
							<term>
      Create the client socket.</term>
						</item>
						<item>
							<term>
      Connect to the server socket using the <see cref="M:System.Net.Sockets.Socket.Connect(System.Net.EndPoint)"/> method.
      This sets both the local and remote endpoints for the client socket.</term>
						</item>
						<item>
							<term>
      Use the <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> and <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> methods to communicate with the
      server socket.</term>
						</item>
						<item>
							<term>&gt;
      When communication is finished, terminate the connection
      using the <see cref="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)"/> method.</term>
						</item>
						<item>
							<term>
      Release
      
      the resources allocated by the client socket using
      the <see cref="M:System.Net.Sockets.Socket.Close"/>
      
      method.</term>
						</item>
					</list>
					<para> The shutdown step in the previous procedure is
   not necessary but ensures that any pending data is not lost. If the
<see cref="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)"/> method is not called, the 
<see cref="M:System.Net.Sockets.Socket.Close"/> 
method shuts
down the connection either gracefully or by force. A graceful closure attempts
to transfer all pending data before the connection is terminated. Use
the <see cref="F:System.Net.Sockets.SocketOptionName.Linger"/> socket option to specify a graceful closure for a
socket. </para>
					<block subset="none" type="note">
						<para> This implementation is based on the UNIX sockets implementation
      in the Berkeley Software Distribution (BSD, release 4.3)
      from the University of California at Berkeley. </para>
					</block>
				</remarks>
				<example>
					<para>The following examples provide a client/server
      application that demonstrates the
      use of asynchronous communication between sockets. Run the client and server on
      different consoles.</para>
					<para> The following code is for the
      server application. Start this application before the client application.</para>
					<code lang="C#">using System;
using System.Threading;
using System.Text;
using System.Net;
using System.Net.Sockets;

public class Server 
{
  // used to pass state information to delegate
  internal class StateObject 
  {
    internal byte[] sBuffer;
    internal Socket sSocket;
    internal StateObject(int size, Socket sock) {
      sBuffer = new byte[size];
      sSocket = sock;
    }
  }
  static void Main() 
  {
    IPAddress ipAddress =
      Dns.Resolve( Dns.GetHostName() ).AddressList[0];

    IPEndPoint ipEndpoint =
      new IPEndPoint(ipAddress, 1800);

    Socket listenSocket =
      new Socket(AddressFamily.InterNetwork,
                 SocketType.Stream,
                 ProtocolType.Tcp);

    listenSocket.Bind(ipEndpoint);
    listenSocket.Listen(1);
    IAsyncResult asyncAccept = listenSocket.BeginAccept(
      new AsyncCallback(Server.acceptCallback),
      listenSocket );

    // could call listenSocket.EndAccept(asyncAccept) here
    // instead of in the callback method, but since 
    // EndAccept blocks, the behavior would be similar to 
    // calling the synchronous Accept method

    Console.Write("Connection in progress.");
    if( writeDot(asyncAccept) == true ) 
    {
      // allow time for callbacks to
      // finish before the program ends 
      Thread.Sleep(3000);
    }
  }

  public static void
    acceptCallback(IAsyncResult asyncAccept) {
      Socket listenSocket = (Socket)asyncAccept.AsyncState;
      Socket serverSocket =
        listenSocket.EndAccept(asyncAccept);

      // arriving here means the operation completed
      // (asyncAccept.IsCompleted = true) but not
      // necessarily successfully
      if( serverSocket.Connected == false )
      {
        Console.WriteLine( ".server is not connected." );
        return;
      }
      else Console.WriteLine( ".server is connected." );

      listenSocket.Close();

      StateObject stateObject =
        new StateObject(16, serverSocket);

      // this call passes the StateObject because it 
      // needs to pass the buffer as well as the socket
      IAsyncResult asyncReceive =
        serverSocket.BeginReceive(
          stateObject.sBuffer,
          0,
          stateObject.sBuffer.Length,
          SocketFlags.None,
          new AsyncCallback(receiveCallback),
          stateObject);

      Console.Write("Receiving data.");
      writeDot(asyncReceive);
  }

  public static void
    receiveCallback(IAsyncResult asyncReceive) {
      StateObject stateObject =
        (StateObject)asyncReceive.AsyncState;
      int bytesReceived =
        stateObject.sSocket.EndReceive(asyncReceive);

      Console.WriteLine(
        ".{0} bytes received: {1}",
        bytesReceived.ToString(),
        Encoding.ASCII.GetString(stateObject.sBuffer) );

      byte[] sendBuffer =
        Encoding.ASCII.GetBytes("Goodbye");
      IAsyncResult asyncSend =
        stateObject.sSocket.BeginSend(
          sendBuffer,
          0,
          sendBuffer.Length,
          SocketFlags.None,
          new AsyncCallback(sendCallback),
          stateObject.sSocket);

      Console.Write("Sending response.");
      writeDot(asyncSend);
  }

  public static void sendCallback(IAsyncResult asyncSend) {
    Socket serverSocket = (Socket)asyncSend.AsyncState;
    int bytesSent = serverSocket.EndSend(asyncSend);
    Console.WriteLine(
      ".{0} bytes sent.{1}{1}Shutting down.",
      bytesSent.ToString(),
      Environment.NewLine );

    serverSocket.Shutdown(SocketShutdown.Both);
    serverSocket.Close();
  }

  // times out after 20 seconds but operation continues
  internal static bool writeDot(IAsyncResult ar)
  {
    int i = 0;
    while( ar.IsCompleted == false ) 
    {
      if( i++ &gt; 40 ) 
      {
        Console.WriteLine("Timed out.");
        return false;
      }
      Console.Write(".");
      Thread.Sleep(500);
    }
    return true;
  }
}
   </code>
					<para>The following code is for the client application. When
      starting the application, supply the hostname of the console running the server
      application as an input parameter (for example, ProgramName <paramref name="hostname"/>
      ). </para>
					<code lang="C#">using System;
using System.Threading;
using System.Text;
using System.Net;
using System.Net.Sockets;

public class Client {

  // used to pass state information to delegate
  class StateObject 
  {
    internal byte[] sBuffer;
    internal Socket sSocket;
    internal StateObject(int size, Socket sock) {
      sBuffer = new byte[size];
      sSocket = sock;
    }
  }

  static void Main(string[] argHostName) 
  {
    IPAddress ipAddress =
      Dns.Resolve( argHostName[0] ).AddressList[0];

    IPEndPoint ipEndpoint =
      new IPEndPoint(ipAddress, 1800);

    Socket clientSocket = new Socket(
      AddressFamily.InterNetwork,
      SocketType.Stream,
      ProtocolType.Tcp);

    IAsyncResult asyncConnect = clientSocket.BeginConnect(
      ipEndpoint,
      new AsyncCallback(connectCallback),
      clientSocket );

    Console.Write("Connection in progress.");
    if( writeDot(asyncConnect) == true ) 
    {
      // allow time for callbacks to
      // finish before the program ends
      Thread.Sleep(3000);
    }
  }

  public static void
    connectCallback(IAsyncResult asyncConnect) {
      Socket clientSocket =
        (Socket)asyncConnect.AsyncState;
      clientSocket.EndConnect(asyncConnect);
      // arriving here means the operation completed
      // (asyncConnect.IsCompleted = true) but not
      // necessarily successfully
      if( clientSocket.Connected == false )
      {
        Console.WriteLine( ".client is not connected." );
        return;
      }
      else Console.WriteLine( ".client is connected." );

      byte[] sendBuffer = Encoding.ASCII.GetBytes("Hello");
      IAsyncResult asyncSend = clientSocket.BeginSend(
        sendBuffer,
        0,
        sendBuffer.Length,
        SocketFlags.None,
        new AsyncCallback(sendCallback),
        clientSocket);

      Console.Write("Sending data.");
      writeDot(asyncSend);
  }

  public static void sendCallback(IAsyncResult asyncSend) 
  {
    Socket clientSocket = (Socket)asyncSend.AsyncState;
    int bytesSent = clientSocket.EndSend(asyncSend);
    Console.WriteLine(
      ".{0} bytes sent.",
      bytesSent.ToString() );

    StateObject stateObject =
      new StateObject(16, clientSocket);

    // this call passes the StateObject because it
    // needs to pass the buffer as well as the socket
    IAsyncResult asyncReceive =
      clientSocket.BeginReceive(
        stateObject.sBuffer,
        0,
        stateObject.sBuffer.Length,
        SocketFlags.None,
        new AsyncCallback(receiveCallback),
        stateObject);

    Console.Write("Receiving response.");
    writeDot(asyncReceive);
  }

  public static void
    receiveCallback(IAsyncResult asyncReceive) {
      StateObject stateObject =
       (StateObject)asyncReceive.AsyncState;

      int bytesReceived =
        stateObject.sSocket.EndReceive(asyncReceive);

      Console.WriteLine(
        ".{0} bytes received: {1}{2}{2}Shutting down.",
        bytesReceived.ToString(),
        Encoding.ASCII.GetString(stateObject.sBuffer),
        Environment.NewLine );

      stateObject.sSocket.Shutdown(SocketShutdown.Both);
      stateObject.sSocket.Close();
  }

  // times out after 2 seconds but operation continues
  internal static bool writeDot(IAsyncResult ar)
  {
    int i = 0;
    while( ar.IsCompleted == false ) 
    {
      if( i++ &gt; 20 ) 
      {
        Console.WriteLine("Timed out.");
        return false;
      }
      Console.Write(".");
      Thread.Sleep(100);
    }
    return true;
  }
}
   </code>
					<para>The output of the server application is</para>
					<c>
						<para>Connection in progress...........server is connected.</para>
						<para>Receiving data......5 bytes received: Hello</para>
						<para>Sending response....7 bytes sent.</para>
						<para>Shutting down.</para>
						<para>-----------------------------------------</para>
					</c>
					<para>The output of the client application is</para>
					<c>
						<para>Connection in progress......client is connected.</para>
						<para>Sending data......5 bytes sent.</para>
						<para>Receiving response......7 bytes received: Goodbye</para>
						<para>Shutting down.</para>
					</c>
				</example>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.IDisposable</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Net.Sockets.AddressFamily addressFamily, valuetype System.Net.Sockets.SocketType socketType, valuetype System.Net.Sockets.ProtocolType protocolType)"/>
					<MemberSignature Language="C#" Value="public Socket(AddressFamily addressFamily, SocketType socketType, ProtocolType protocolType);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="addressFamily" Type="System.Net.Sockets.AddressFamily"/>
						<Parameter Name="socketType" Type="System.Net.Sockets.SocketType"/>
						<Parameter Name="protocolType" Type="System.Net.Sockets.ProtocolType"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Constructs and initializes a new instance of the <see cref="T:System.Net.Sockets.Socket"/> class.
   </para>
						</summary>
						<param name="addressFamily">One of the values defined in the <see cref="T:System.Net.Sockets.AddressFamily"/> enumeration. </param>
						<param name="socketType">One of the values defined in the <see cref="T:System.Net.Sockets.SocketType"/> enumeration. </param>
						<param name="protocolType">One of the values defined in the <see cref="T:System.Net.Sockets.ProtocolType"/> enumeration. </param>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>The combination of <paramref name="addressFamily"/>, <paramref name="socketType"/>, and <paramref name="protocolType"/> is invalid.</para>
							<para>-or-</para>
							<para>An error occurred while creating the socket. </para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<remarks>
							<para> The <paramref name="addressFamily "/>parameter
   specifies the addressing scheme used by the current instance, the <paramref name="socketType    "/>parameter specifies the socket type of the current instance, and the
<paramref name="protocolType"/> parameter 
   specifies the protocol
   used by the current instance. The three parameters are not independent. Some
   address families restrict which protocols are used, and often the socket type is
   determined by the protocol. When the specified
   values are not a valid combination, a <see cref="T:System.Net.Sockets.SocketException"/> exception
   is thrown.</para>
							<para>Using the <see langword="Unknown"/> member of either the
<see cref="T:System.Net.Sockets.AddressFamily"/> or <see cref="T:System.Net.Sockets.ProtocolType"/> enumeration, results 
in a <see cref="T:System.Net.Sockets.SocketException"/>
exception being thrown.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Accept">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Net.Sockets.Socket Accept()"/>
					<MemberSignature Language="C#" Value="public Socket Accept();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.Socket</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Creates and initializes a new <see cref="T:System.Net.Sockets.Socket"/> instance and connects it to an incoming connection
   request.</para>
						</summary>
						<returns>
							<para> A new connected <see cref="T:System.Net.Sockets.Socket"/>
instance.</para>
						</returns>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>An error occurred while accessing the socket.</para>
							<para> The <see cref="P:System.Net.Sockets.Socket.Blocking"/> property is set to <see langword="false"/>.</para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This method is used only on the server-side of connection-oriented protocols. It extracts the first
      connection request from the queue of pending requests, creates a new <see cref="T:System.Net.Sockets.Socket"/>
      instance, and connects this instance to the socket associated with the request.</para>
							<para> The <see cref="P:System.Net.Sockets.Socket.Blocking"/> property
   of the socket determines the behavior of this method when there are no pending
   connection requests. When <see langword="false"/>, this method will throw a
<see cref="T:System.Net.Sockets.SocketException"/>.
   When <see langword="true"/>, this method blocks.</para>
							<para> The following properties of the new <see cref="T:System.Net.Sockets.Socket"/> instance returned by this method have values 
identical to the corresponding properties of the current instance:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="P:System.Net.Sockets.Socket.AddressFamily"/>
									</term>
								</item>
								<item>
									<term>
										<see cref="P:System.Net.Sockets.Socket.Blocking"/>
									</term>
								</item>
								<item>
									<term>
										<see cref="P:System.Net.Sockets.Socket.LocalEndPoint"/>
									</term>
								</item>
								<item>
									<term>
										<see cref="P:System.Net.Sockets.Socket.ProtocolType"/>
									</term>
								</item>
								<item>
									<term>
										<see cref="P:System.Net.Sockets.Socket.SocketType"/>
									</term>
								</item>
							</list>
							<para> The <see cref="P:System.Net.Sockets.Socket.RemoteEndPoint"/> property of the new instance is set to the local endpoint of the first request in
the input queue. The <see cref="P:System.Net.Sockets.Socket.Connected"/> property is set to <see langword="true"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddressFamily">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Net.Sockets.AddressFamily AddressFamily { public hidebysig specialname instance valuetype System.Net.Sockets.AddressFamily get_AddressFamily() }"/>
					<MemberSignature Language="C#" Value="public AddressFamily AddressFamily { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the address family of the current instance.
      </para>
						</summary>
						<value>
							<para>One of the values defined in
      the <see cref="T:System.Net.Sockets.AddressFamily"/> enumeration.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>This property is set by the constructor for the current instance. The value of this property specifies the addressing scheme used by the current instance to resolve an address.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Available">
					<MemberSignature Language="ILASM" Value=".property int32 Available { public hidebysig specialname instance int32 get_Available() }"/>
					<MemberSignature Language="C#" Value="public int Available { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the amount
      of data available to be read in a single <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> or <see cref="M:System.Net.Sockets.Socket.ReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@)"/>
      call.
      </para>
						</summary>
						<value>
							<para> A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes of data that are
   available to be read.</para>
						</value>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This property is read-only.</para>
							<para>When the current instance is stream-oriented (for example, the <see cref="F:System.Net.Sockets.SocketType.Stream"/> socket type), the available data
   is generally the total amount of data queued on the current instance.</para>
							<para>When the current instance is message-oriented (for example, the <see cref="F:System.Net.Sockets.SocketType.Dgram"/> socket type), the available data
is the first message in the input queue.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginAccept">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.IAsyncResult BeginAccept(class System.AsyncCallback callback, object state)"/>
					<MemberSignature Language="C#" Value="public IAsyncResult BeginAccept(AsyncCallback callback, object state);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="callback" Type="System.AsyncCallback"/>
						<Parameter Name="state" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Begins an asynchronous operation to accept an incoming connection request.</para>
						</summary>
						<param name="callback">A <see cref="T:System.AsyncCallback"/> delegate, or <see langword="null"/>.</param>
						<param name=" state">An application-defined object, or <see langword="null"/>.</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/> instance that contains information about the asynchronous operation.</para>
						</returns>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while starting the operation. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>To retrieve the results of the operation and release
      resources allocated by the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method, call
      the <see cref="M:System.Net.Sockets.Socket.EndAccept(System.IAsyncResult)"/> method, and specify the
   <see cref="T:System.IAsyncResult"/> object returned by this
      method.</para>
							<para>
								<block subset="none" type="note">The <see cref="M:System.Net.Sockets.Socket.EndAccept(System.IAsyncResult)"/> method should be
   called exactly once for each call to the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/>
   method.</block>
							</para>
							<para>If the <paramref name="callback"/> parameter is not
<see langword="null"/>, the method referenced by <paramref name="callback"/> is invoked 
when the asynchronous operation completes. The <see cref="T:System.IAsyncResult"/> object returned by this method is
passed as the argument to the method referenced by <paramref name="callback"/>. The method
referenced by <paramref name="callback"/> can retrieve the results of the operation by calling
the <see cref="M:System.Net.Sockets.Socket.EndAccept(System.IAsyncResult)"/>
method.</para>
							<para> The <paramref name="state"/> parameter
can be any object that the caller wishes to have available for the duration of
the asynchronous operation. This object is available via the
<see cref="P:System.IAsyncResult.AsyncState"/> 
property of the object returned by this
method.</para>
							<para>To determine the connection status, check the <see cref="P:System.Net.Sockets.Socket.Connected"/> property, or use either the <see cref="M:System.Net.Sockets.Socket.Poll(System.Int32,System.Net.Sockets.SelectMode)"/>
or <see cref="M:System.Net.Sockets.Socket.Select(System.Collections.IList,System.Collections.IList,System.Collections.IList,System.Int32)"/>
method.</para>
							<block subset="none" type="note">
								<para>For more information, see <see cref="M:System.Net.Sockets.Socket.Accept"/>, the
   synchronous version of this method.</para>
							</block>
						</remarks>
						<example>
							<para> The following excerpt from the <see cref="T:System.Net.Sockets.Socket"/> class overview
   example outlines an asynchronous accept operation. </para>
							<code lang="C#">public class Server
{
  static void Main()
  {
    .
    .
    .
    listenSocket.BeginAccept(
      new AsyncCallback(Server.acceptCallback),
      listenSocket);
    .
    .
    .
    // EndAccept can be called here
    .
    .
    .
  }

  public static void
    acceptCallback(IAsyncResult asyncAccept)
  {
    Socket listenSocket =
      (Socket)asyncAccept.AsyncState;

    Socket serverSocket =
      listenSocket.EndAccept(asyncAccept);

    serverSocket.BeginReceive(...);
    .
    .
    .
  }
}
</code>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginConnect">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.IAsyncResult BeginConnect(class System.Net.EndPoint remoteEP, class System.AsyncCallback callback, object state)"/>
					<MemberSignature Language="C#" Value="public IAsyncResult BeginConnect(EndPoint remoteEP, AsyncCallback callback, object state);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="remoteEP" Type="System.Net.EndPoint"/>
						<Parameter Name="callback" Type="System.AsyncCallback"/>
						<Parameter Name="state" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Begins an asynchronous operation to associate the current instance with a remote endpoint.</para>
						</summary>
						<param name="remoteEP">
							<para>The <see cref="T:System.Net.EndPoint" qualify="true"/> associated with the socket to connect to.</para>
						</param>
						<param name="callback">A <see cref="T:System.AsyncCallback"/> delegate, or <see langword="null"/>.</param>
						<param name=" state">An application-defined object, or <see langword="null"/>.</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/> instance that contains information about the asynchronous operation.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="remoteEP "/>is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while starting the operation. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<exception cref="T:System.Security.SecurityException">A caller higher in the call stack does not have permission for the requested operation.</exception>
						<remarks>
							<para> To release
      resources allocated by the <see cref="M:System.Net.Sockets.Socket.BeginConnect(System.Net.EndPoint,System.AsyncCallback,System.Object)"/> method, call
      the <see cref="M:System.Net.Sockets.Socket.EndConnect(System.IAsyncResult)"/> method, and specify the
      <see cref="T:System.IAsyncResult"/> object returned by this
      
      method.</para>
							<para>
								<block subset="none" type="note">The <see cref="M:System.Net.Sockets.Socket.EndConnect(System.IAsyncResult)"/> method should be
   called exactly once for each call to the <see cref="M:System.Net.Sockets.Socket.BeginConnect(System.Net.EndPoint,System.AsyncCallback,System.Object)"/>
   method.</block>
							</para>
							<para>If the <paramref name="callback"/> parameter is not
<see langword="null"/>, the method referenced by <paramref name="callback"/> is invoked 
when the asynchronous operation completes. The <see cref="T:System.IAsyncResult"/> object returned by this method is
passed as the argument to the method referenced by <paramref name="callback"/>. The method
referenced by <paramref name="callback"/> can retrieve the results of the operation by calling
the <see cref="M:System.Net.Sockets.Socket.EndConnect(System.IAsyncResult)"/>
method.</para>
							<para> The <paramref name="state"/> parameter
can be any object that the caller wishes to have available for the duration of
the asynchronous operation. This object is available via the
<see cref="P:System.IAsyncResult.AsyncState"/> 
property of the object returned by this
method.</para>
							<para>To determine the connection status, check the <see cref="P:System.Net.Sockets.Socket.Connected"/> property, or use either the <see cref="M:System.Net.Sockets.Socket.Poll(System.Int32,System.Net.Sockets.SelectMode)"/>
or <see cref="M:System.Net.Sockets.Socket.Select(System.Collections.IList,System.Collections.IList,System.Collections.IList,System.Int32)"/> method.</para>
							<block subset="none" type="note">
								<para>For more information, see <see cref="M:System.Net.Sockets.Socket.Connect(System.Net.EndPoint)"/>, the
   synchronous version of this method.</para>
							</block>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">Requires permission to make a connection to the endpoint defined by <paramref name="remoteEP"/>. <block subset="none" type="note">See <see cref="F:System.Net.NetworkAccess.Connect" qualify="true"/>.</block>
						</permission>
						<example>
							<para> For an outline of an asynchronous
      operation, see the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method.
      For the complete example, which uses the <see cref="M:System.Net.Sockets.Socket.BeginConnect(System.Net.EndPoint,System.AsyncCallback,System.Object)"/> method, see the
      <see cref="T:System.Net.Sockets.Socket"/> class overview.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginReceive">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.IAsyncResult BeginReceive(class System.Byte[] buffer, int32 offset, int32 size, valuetype System.Net.Sockets.SocketFlags socketFlags, class System.AsyncCallback callback, object state)"/>
					<MemberSignature Language="C#" Value="public IAsyncResult BeginReceive(byte[] buffer, int offset, int size, SocketFlags socketFlags, AsyncCallback callback, object state);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="size" Type="System.Int32"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
						<Parameter Name="callback" Type="System.AsyncCallback"/>
						<Parameter Name="state" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Begins an asynchronous operation to receive data from a socket.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array to store data received from the socket.</param>
						<param name=" offset">A <see cref="T:System.Int32" qualify="true"/> containing the zero-based position in <paramref name="buffer "/>to begin storing the received data.</param>
						<param name=" size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to receive.</param>
						<param name=" socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/>, or <see cref="F:System.Net.Sockets.SocketFlags.Peek"/>.</param>
						<param name="callback">A <see cref="T:System.AsyncCallback"/> delegate, or <see langword="null"/>.</param>
						<param name=" state">An application-defined object, or <see langword="null"/>.</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/> instance that contains information about the asynchronous operation.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="offset"/> &lt; 0. </para>
							<para>-or-</para>
							<para>
								<paramref name="offset"/> &gt; <paramref name="buffer"/>.Length. </para>
							<para> -or-</para>
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length - <paramref name="offset"/>.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket. </para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>To retrieve the results of the operation and release
      resources allocated by the <see cref="M:System.Net.Sockets.Socket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> method, call
      the <see cref="M:System.Net.Sockets.Socket.EndReceive(System.IAsyncResult)"/> method, and specify the
   <see cref="T:System.IAsyncResult"/> object returned by this
      
      method.</para>
							<para>
								<block subset="none" type="note">The <see cref="M:System.Net.Sockets.Socket.EndReceive(System.IAsyncResult)"/> method should be
   called exactly once for each call to the <see cref="M:System.Net.Sockets.Socket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/>
   method.</block>
							</para>
							<para>If the <paramref name="callback"/> parameter is not
<see langword="null"/>, the method referenced by <paramref name="callback"/> is invoked 
when the asynchronous operation completes. The <see cref="T:System.IAsyncResult"/> object returned by this method is
passed as the argument to the method referenced by <paramref name="callback"/>. The method
referenced by <paramref name="callback"/> can retrieve the results of the operation by calling
the <see cref="M:System.Net.Sockets.Socket.EndReceive(System.IAsyncResult)"/>
method.</para>
							<para> The <paramref name="state"/> parameter
can be any object that the caller wishes to have available for the duration of
the asynchronous operation. This object is available via the
<see cref="P:System.IAsyncResult.AsyncState"/> 
property of the object returned by this
method.</para>
							<block subset="none" type="note">
								<para>For more information, see <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/>, the
   synchronous version of this method.</para>
							</block>
						</remarks>
						<example>
							<para>For an outline of an asynchronous operation, see
      the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method.
      For the complete example, which uses the <see cref="M:System.Net.Sockets.Socket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> method, see the <see cref="T:System.Net.Sockets.Socket"/> class overview.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginReceiveFrom">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.IAsyncResult BeginReceiveFrom(class System.Byte[] buffer, int32 offset, int32 size, valuetype System.Net.Sockets.SocketFlags socketFlags, class System.Net.EndPoint&amp; remoteEP, class System.AsyncCallback callback, object state)"/>
					<MemberSignature Language="C#" Value="public IAsyncResult BeginReceiveFrom(byte[] buffer, int offset, int size, SocketFlags socketFlags, ref EndPoint remoteEP, AsyncCallback callback, object state);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="size" Type="System.Int32"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
						<Parameter Name="remoteEP" Type="System.Net.EndPoint&amp;"/>
						<Parameter Name="callback" Type="System.AsyncCallback"/>
						<Parameter Name="state" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Begins an asynchronous operation to receive data from a socket and,
      for connectionless protocols, store the endpoint associated with the socket that
      sent the data.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array to store data received from the socket.</param>
						<param name=" offset">A <see cref="T:System.Int32" qualify="true"/> containing the zero-based position in <paramref name="buffer "/>to begin storing the received data.</param>
						<param name=" size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to receive.</param>
						<param name=" socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/>, or <see cref="F:System.Net.Sockets.SocketFlags.Peek"/> .</param>
						<param name=" remoteEP">
							<para>An instance of a class derived from the <see cref="T:System.Net.EndPoint" qualify="true"/> class, which contains the endpoint associated with the socket that sent the data.</para>
						</param>
						<param name="callback">A <see cref="T:System.AsyncCallback"/> delegate, or <see langword="null"/>.</param>
						<param name=" state">An application-defined object, or <see langword="null"/>.</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/> instance that contains information about the asynchronous operation.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="buffer "/>is <see langword="null"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="remoteEP "/>is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="offset"/> &lt; 0. </para>
							<para>-or-</para>
							<para>
								<paramref name="offset"/> &gt; <paramref name="buffer"/>.Length. </para>
							<para> -or-</para>
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length - <paramref name="offset"/>.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket. </para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<exception cref="T:System.Security.SecurityException">A caller in the call stack does not have the required permissions.</exception>
						<remarks>
							<para>To retrieve the results of the operation and release
      resources allocated by the <see cref="M:System.Net.Sockets.Socket.BeginReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@,System.AsyncCallback,System.Object)"/> method, call
      the <see cref="M:System.Net.Sockets.Socket.EndReceiveFrom(System.IAsyncResult,System.Net.EndPoint@)"/> method, and specify the
   <see cref="T:System.IAsyncResult"/> object returned by this
      
      method.</para>
							<para>
								<block subset="none" type="note">The <see cref="M:System.Net.Sockets.Socket.EndReceiveFrom(System.IAsyncResult,System.Net.EndPoint@)"/> method should be
   called exactly once for each call to the <see cref="M:System.Net.Sockets.Socket.BeginReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@,System.AsyncCallback,System.Object)"/>
   method.</block>
							</para>
							<para>If the <paramref name="callback"/> parameter is not
<see langword="null"/>, the method referenced by <paramref name="callback"/> is invoked 
when the asynchronous operation completes. The <see cref="T:System.IAsyncResult"/> object returned by this method is
passed as the argument to the method referenced by <paramref name="callback"/>. The method
referenced by <paramref name="callback"/> can retrieve the results of the operation by calling
the <see cref="M:System.Net.Sockets.Socket.EndReceiveFrom(System.IAsyncResult,System.Net.EndPoint@)"/>
method.</para>
							<para> The <paramref name="state"/> parameter
can be any object that the caller wishes to have available for the duration of
the asynchronous operation. This object is available via the
<see cref="P:System.IAsyncResult.AsyncState"/> 
property of the object returned by this
method.</para>
							<block subset="none" type="note">
								<para>For more information, see <see cref="M:System.Net.Sockets.Socket.ReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@)"/>, the
   synchronous version of this method.</para>
							</block>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">
							<para>Requires permission to accept a connection on the endpoint defined by the <see cref="P:System.Net.Sockets.Socket.LocalEndPoint"/> property of the current instance. See <see cref="F:System.Net.NetworkAccess.Accept" qualify="true"/>.</para>
							<para>Requires permission to make a connection to the endpoint defined by <paramref name="remoteEP"/>. See <see cref="F:System.Net.NetworkAccess.Connect" qualify="true"/>.</para>
						</permission>
						<example>
							<para>For an outline of an asynchronous operation, see
      the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method.
      For the complete example, see <see cref="T:System.Net.Sockets.Socket"/>.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginSend">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.IAsyncResult BeginSend(class System.Byte[] buffer, int32 offset, int32 size, valuetype System.Net.Sockets.SocketFlags socketFlags, class System.AsyncCallback callback, object state)"/>
					<MemberSignature Language="C#" Value="public IAsyncResult BeginSend(byte[] buffer, int offset, int size, SocketFlags socketFlags, AsyncCallback callback, object state);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="size" Type="System.Int32"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
						<Parameter Name="callback" Type="System.AsyncCallback"/>
						<Parameter Name="state" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Begins an asynchronous operation to send data to a connected socket.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array storing data to send to the socket.</param>
						<param name=" offset">A <see cref="T:System.Int32" qualify="true"/> containing the zero-based position in <paramref name="buffer"/> containing the starting location of the data to send.</param>
						<param name=" size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to send.</param>
						<param name=" socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.DontRoute"/>, or <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/> .</param>
						<param name="callback">A <see cref="T:System.AsyncCallback"/> delegate, or <see langword="null"/>.</param>
						<param name=" state">An application-defined object, or <see langword="null"/>.</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/> instance that contains information about the asynchronous operation.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="offset"/> &lt; 0. </para>
							<para>-or- </para>
							<para>
								<paramref name="offset"/> &gt; <paramref name="buffer"/>.Length. </para>
							<para> -or-</para>
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length - <paramref name="offset"/>.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket. </para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>To retrieve the results of the operation and release
      resources allocated by the <see cref="M:System.Net.Sockets.Socket.BeginSend(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> method, call
      the <see cref="M:System.Net.Sockets.Socket.EndSend(System.IAsyncResult)"/> method, and specify the
   <see cref="T:System.IAsyncResult"/> object returned by
      this
      
      method.</para>
							<para>
								<block subset="none" type="note">The <see cref="M:System.Net.Sockets.Socket.EndSend(System.IAsyncResult)"/> method should be
   called exactly once for each call to the <see cref="M:System.Net.Sockets.Socket.BeginSend(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/>
   method.</block>
							</para>
							<para>If the <paramref name="callback"/> parameter is not
<see langword="null"/>, the method referenced by <paramref name="callback"/> is invoked 
when the asynchronous operation completes. The <see cref="T:System.IAsyncResult"/> object returned by this method is
passed as the argument to the method referenced by <paramref name="callback"/>. The method
referenced by <paramref name="callback"/> can retrieve the results of the operation by calling
the <see cref="M:System.Net.Sockets.Socket.EndSend(System.IAsyncResult)"/>
method.</para>
							<para> The <paramref name="state"/> parameter
can be any object that the caller wishes to have available for the duration of
the asynchronous operation. This object is available via the
<see cref="P:System.IAsyncResult.AsyncState"/> 
property of the object returned by this
method.</para>
							<block subset="none" type="note">
								<para>For more information, see <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/>, the
   synchronous version of this method.</para>
							</block>
						</remarks>
						<example>
							<para>For an outline of an asynchronous operation, see
      the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method.
      For the complete example, which uses the <see cref="M:System.Net.Sockets.Socket.BeginSend(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> method, see the <see cref="T:System.Net.Sockets.Socket"/> class overview.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BeginSendTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.IAsyncResult BeginSendTo(class System.Byte[] buffer, int32 offset, int32 size, valuetype System.Net.Sockets.SocketFlags socketFlags, class System.Net.EndPoint remoteEP, class System.AsyncCallback callback, object state)"/>
					<MemberSignature Language="C#" Value="public IAsyncResult BeginSendTo(byte[] buffer, int offset, int size, SocketFlags socketFlags, EndPoint remoteEP, AsyncCallback callback, object state);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.IAsyncResult</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="size" Type="System.Int32"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
						<Parameter Name="remoteEP" Type="System.Net.EndPoint"/>
						<Parameter Name="callback" Type="System.AsyncCallback"/>
						<Parameter Name="state" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Begins an asynchronous operation to send data to the socket associated with the specified endpoint.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array storing data to send to the socket.</param>
						<param name="offset">A <see cref="T:System.Int32" qualify="true"/> containing the zero-based position in <paramref name="buffer"/> to begin sending data.</param>
						<param name="size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to send.</param>
						<param name="socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.DontRoute"/>, or <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/> .</param>
						<param name=" remoteEP">
							<para>The <see cref="T:System.Net.EndPoint" qualify="true"/> associated with the socket to receive the data.</para>
						</param>
						<param name="callback">A <see cref="T:System.AsyncCallback"/> delegate, or <see langword="null"/>.</param>
						<param name=" state">An application-defined object, or <see langword="null"/>.</param>
						<returns>
							<para>A <see cref="T:System.IAsyncResult"/> instance that contains information about the asynchronous operation.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="buffer "/>is <see langword="null"/>.</para>
							<para>-or-</para>
							<para>
								<paramref name="remoteEP "/>is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="offset"/> &lt; 0. </para>
							<para>-or-</para>
							<para>
								<paramref name="offset"/> &gt; <paramref name="buffer"/>.Length. </para>
							<para> -or-</para>
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length - <paramref name="offset"/>.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket. </para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<exception cref="T:System.Security.SecurityException">A caller in the call stack does not have the required permissions.</exception>
						<remarks>
							<para>To retrieve the results of the operation and release
      resources allocated by the <see cref="M:System.Net.Sockets.Socket.BeginSendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object)"/> method, call
      the <see cref="M:System.Net.Sockets.Socket.EndSendTo(System.IAsyncResult)"/> method, and specify the
   <see cref="T:System.IAsyncResult"/> object returned by this
      
      method.</para>
							<para>
								<block subset="none" type="note">The <see cref="M:System.Net.Sockets.Socket.EndSendTo(System.IAsyncResult)"/> method should be
   called exactly once for each call to the <see cref="M:System.Net.Sockets.Socket.BeginSendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object)"/>
   method.</block>
							</para>
							<para>If the <paramref name="callback"/> parameter is not
<see langword="null"/>, the method referenced by <paramref name="callback"/> is invoked 
when the asynchronous operation completes. The <see cref="T:System.IAsyncResult"/> object returned by this method is
passed as the argument to the method referenced by <paramref name="callback"/>. The method
referenced by <paramref name="callback"/> can retrieve the results of the operation by calling
the <see cref="M:System.Net.Sockets.Socket.EndSendTo(System.IAsyncResult)"/>
method.</para>
							<para> The <paramref name="state"/> parameter
can be any object that the caller wishes to have available for the duration of
the asynchronous operation. This object is available via the
<see cref="P:System.IAsyncResult.AsyncState"/> 
property of the object returned by this
method.</para>
							<block subset="none" type="note">
								<para>For more information, see <see cref="M:System.Net.Sockets.Socket.SendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint)"/>, the
   synchronous version of this method.</para>
							</block>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">
							<para>Requires permission to make a connection to the endpoint defined by <paramref name="remoteEP"/>. See <see cref="F:System.Net.NetworkAccess.Connect" qualify="true"/>.</para>
						</permission>
						<example>
							<para>For an outline of an asynchronous operation, see
      the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method.
      For
      the complete example, see the <see cref="T:System.Net.Sockets.Socket"/> class overview.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Bind">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void Bind(class System.Net.EndPoint localEP)"/>
					<MemberSignature Language="C#" Value="public void Bind(EndPoint localEP);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="localEP" Type="System.Net.EndPoint"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Associates the current instance with a local endpoint.</para>
						</summary>
						<param name="localEP">
							<para>The local <see cref="T:System.Net.EndPoint" qualify="true"/> to be associated with the socket.</para>
						</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="localEP "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<exception cref="T:System.Security.SecurityException"> A caller in the call stack does not have the required permission.</exception>
						<remarks>
							<para>This method sets the <see cref="P:System.Net.Sockets.Socket.LocalEndPoint"/> property of the current instance to
<paramref name="localEP"/>.</para>
							<block subset="none" type="note">
								<para>For connection-oriented protocols, this method is
      generally used only on the server-side and is required to be called before the first
      call to the <see cref="M:System.Net.Sockets.Socket.Listen(System.Int32)"/> method.
      On the client-side, binding is usually performed implicitly by the <see cref="M:System.Net.Sockets.Socket.Connect(System.Net.EndPoint)"/> method. </para>
								<para>For connectionless protocols, the <see cref="M:System.Net.Sockets.Socket.Connect(System.Net.EndPoint)"/>
									<see cref="M:System.Net.Sockets.Socket.SendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint)"/>, and <see cref="M:System.Net.Sockets.Socket.BeginSendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object)"/> methods bind the current instance to
the local endpoint if the current instance has not previously been bound. </para>
							</block>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">Requires permission to accept connections on the endpoint defined by <paramref name="localEP"/>. See <see cref="F:System.Net.NetworkAccess.Accept" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Blocking">
					<MemberSignature Language="ILASM" Value=".property bool Blocking { public hidebysig specialname instance bool get_Blocking() public hidebysig specialname instance void set_Blocking(bool value) }"/>
					<MemberSignature Language="C#" Value="public bool Blocking { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets or sets a <see cref="T:System.Boolean" qualify="true"/> value that indicates whether the socket is in blocking mode.
   </para>
						</summary>
						<value>
							<para>
								<see langword="true"/> indicates that
   the current instance is in blocking mode;
<see langword="false"/> indicates that the current instance is in 
   non-blocking mode. </para>
						</value>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> Blocking is when a method waits to complete an operation before returning. Sockets are created in blocking mode
      by default. </para>
							<para> Except for when the current instance has been disposed, no notification is given when an attempt to change
      the value of this property fails.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Close">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void Close()"/>
					<MemberSignature Language="C#" Value="public void Close();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Closes the current instance and releases all managed and unmanaged resources allocated by the current instance.
      </para>
						</summary>
						<remarks>
							<para> This method calls the
   <see cref="M:System.Net.Sockets.Socket.Dispose(System.Boolean)"/>(<see cref="T:System.Boolean"/>)
      method with the argument set to <see langword="true"/>, which frees both managed
      and unmanaged resources used by the current instance. </para>
							<para>The socket attempts to perform a graceful closure when the <see cref="F:System.Net.Sockets.SocketOptionName.Linger"/> socket option is enabled
   and set to a non-zero linger time. In all other cases, closure is forced and any
   pending data is lost.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Connect">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void Connect(class System.Net.EndPoint remoteEP)"/>
					<MemberSignature Language="C#" Value="public void Connect(EndPoint remoteEP);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="remoteEP" Type="System.Net.EndPoint"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Associates the current instance with a remote endpoint.</para>
						</summary>
						<param name="remoteEP">
							<para>The <see cref="T:System.Net.EndPoint" qualify="true"/> associated with the socket to connect to.</para>
						</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="remoteEP "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<exception cref="T:System.Security.SecurityException"> A caller in the call stack does not have the required permission.</exception>
						<remarks>
							<para>This method sets the <see cref="P:System.Net.Sockets.Socket.RemoteEndPoint"/> property of the current instance to
<paramref name="remoteEP"/>.</para>
							<block subset="none" type="note">
								<para> For connection-oriented protocols, this method
      establishes a connection between the current instance and the
      socket associated with <paramref name="remoteEP"/>. This method is used only on
      the client-side. The <see cref="M:System.Net.Sockets.Socket.Accept"/> method establishes the connection on the
      server-side. Once the connection has been made, data can
      be sent using the <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/>
      method, and received using the <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> method. </para>
								<para> For connectionless protocols, the <see cref="M:System.Net.Sockets.Socket.Connect(System.Net.EndPoint)"/>
method can be used from both
client and server-sides, allowing the use of the <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> method instead of the <see cref="M:System.Net.Sockets.Socket.SendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint)"/>
method. The <see cref="P:System.Net.Sockets.Socket.RemoteEndPoint"/> property is set to
<paramref name="remoteEP"/> 
and
the <see cref="P:System.Net.Sockets.Socket.LocalEndPoint"/> property is set to a value determined
by the protocol; however, a connection is not established. Subsequent data is
required to be received on the endpoint set in
the <see cref="P:System.Net.Sockets.Socket.LocalEndPoint"/> property.</para>
							</block>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">Requires permission to make a connection to the endpoint defined by <paramref name="remoteEP"/>. See <see cref="F:System.Net.NetworkAccess.Connect" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Connected">
					<MemberSignature Language="ILASM" Value=".property bool Connected { public hidebysig specialname instance bool get_Connected() }"/>
					<MemberSignature Language="C#" Value="public bool Connected { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets a <see cref="T:System.Boolean"/> value indicating whether the current instance is connected.
   </para>
						</summary>
						<value>
							<para>
								<see langword="true"/> indicates that 
   the current instance was connected at
   the time of the
   last I/O operation;
<see langword="false"/> indicates that the 
   current instance is not connected.</para>
						</value>
						<remarks>
							<para> This property is read-only.
      </para>
							<para>When this property returns <see langword="true"/>, the current instance was
   connected at the time of the last I/O operation; it might not still be connected.
   When this property returns <see langword="false"/>, the current instance was
   never connected or is not currently connected.</para>
							<para>The current instance is considered connected when
   the <see cref="P:System.Net.Sockets.Socket.RemoteEndPoint"/>
   property contains a valid endpoint.</para>
							<para>
								<block subset="none" type="note">The <see cref="M:System.Net.Sockets.Socket.Accept"/> and <see cref="M:System.Net.Sockets.Socket.Connect(System.Net.EndPoint)"/> methods,
and their asynchronous counterparts set this
property.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Dispose">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Dispose(bool disposing)"/>
					<MemberSignature Language="C#" Value="protected virtual void Dispose(bool disposing);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="disposing" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Closes the current instance, releases the unmanaged resources allocated by the current
      instance, and optionally releases the
      managed resources.</para>
						</summary>
						<param name="disposing">A <see cref="T:System.Boolean" qualify="true"/>. Specify <see langword="true"/> to release both managed and unmanaged resources; <see langword="false"/> to release only unmanaged resources.</param>
						<remarks>
							<para>
								<block subset="none" type="behaviors">
      
      This method
      closes the current <see cref="T:System.Net.Sockets.Socket"/> instance
      and releases all unmanaged resources allocated by the
      current instance. When <paramref name="disposing"/> is <see langword="true"/>, this method also releases all resources held by any managed
      objects allocated by the current
      instance.
   </block>
							</para>
							<para>
								<block subset="none" type="default">
      
      This method
      closes the current <see cref="T:System.Net.Sockets.Socket"/> instance but does not release any managed
      resources.
   </block>
							</para>
							<para>
								<block subset="none" type="overrides">
      
      The <see cref="M:System.Net.Sockets.Socket.Dispose(System.Boolean)"/> method can be called
      multiple times by other objects. When overriding this method, do not reference
      objects that have been previously disposed in an earlier call.
   </block>
							</para>
							<para>
								<block subset="none" type="usage">
      
      Use this method to release
      resources allocated by
      the current
      instance.
   </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndAccept">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Net.Sockets.Socket EndAccept(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public Socket EndAccept(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.Socket</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Ends an asynchronous call to accept
      an incoming connection
      request.</para>
						</summary>
						<param name="asyncResult">A <see cref="T:System.IAsyncResult"/> object that holds the state information for the asynchronous operation.</param>
						<returns>
							<para> A new connected <see cref="T:System.Net.Sockets.Socket"/>
instance.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="asyncResult "/> was not returned by the current instance from a call to the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method.</exception>
						<exception cref="T:System.InvalidOperationException">
							<see cref="M:System.Net.Sockets.Socket.EndAccept(System.IAsyncResult)"/> was previously called for this operation.</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred during the operation. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This method blocks if the asynchronous operation has not completed.</para>
							<para>The <see cref="M:System.Net.Sockets.Socket.EndAccept(System.IAsyncResult)"/>
method completes an asynchronous request that was started with a call to the
<see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method. The object specified for the 
<paramref name="asyncResult"/> parameter is required to be the same object as was returned 
by the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/>
method call that began the
request.</para>
							<para>If the <see cref="M:System.Net.Sockets.Socket.EndAccept(System.IAsyncResult)"/>
method is invoked via the <see cref="T:System.AsyncCallback"/> delegate specified to the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method, the
<paramref name="asyncResult"/> parameter is the <see cref="T:System.IAsyncResult"/> 
argument passed to the
delegate's method.</para>
						</remarks>
						<example>
							<para>For an outline of an asynchronous operation, see
      the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method.
      For the complete example, which uses the <see cref="M:System.Net.Sockets.Socket.EndAccept(System.IAsyncResult)"/> method, see the <see cref="T:System.Net.Sockets.Socket"/> class overview.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndConnect">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void EndConnect(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public void EndConnect(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Ends an asynchronous call
      to associate the current instance with a remote endpoint.</para>
						</summary>
						<param name="asyncResult">A <see cref="T:System.IAsyncResult"/> object that holds the state information for the asynchronous operation.</param>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="asyncResult "/> was not returned by the current instance from a call to the <see cref="M:System.Net.Sockets.Socket.BeginConnect(System.Net.EndPoint,System.AsyncCallback,System.Object)"/> method.</exception>
						<exception cref="T:System.InvalidOperationException">
							<see cref="M:System.Net.Sockets.Socket.EndConnect(System.IAsyncResult)"/> was previously called for this operation.</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred during the operation. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This method blocks if the asynchronous operation has not completed.</para>
							<para>The <see cref="M:System.Net.Sockets.Socket.EndConnect(System.IAsyncResult)"/>
method completes an asynchronous request that was started with a call to the
<see cref="M:System.Net.Sockets.Socket.BeginConnect(System.Net.EndPoint,System.AsyncCallback,System.Object)"/> method. The object specified for the 
<paramref name="asyncResult"/> parameter is required to be the same object as was returned 
by the <see cref="M:System.Net.Sockets.Socket.BeginConnect(System.Net.EndPoint,System.AsyncCallback,System.Object)"/>
method call that began the
request.</para>
							<para>If the <see cref="M:System.Net.Sockets.Socket.EndConnect(System.IAsyncResult)"/>
method is invoked via the <see cref="T:System.AsyncCallback"/> delegate specified to the <see cref="M:System.Net.Sockets.Socket.BeginConnect(System.Net.EndPoint,System.AsyncCallback,System.Object)"/> method, the
<paramref name="asyncResult"/> parameter is the <see cref="T:System.IAsyncResult"/> 
argument passed to the
delegate's method.</para>
						</remarks>
						<example>
							<para>For an outline of an asynchronous operation, see
      the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method.
      For the complete example, which uses the <see cref="M:System.Net.Sockets.Socket.EndConnect(System.IAsyncResult)"/> method, see the <see cref="T:System.Net.Sockets.Socket"/> class overview.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndReceive">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 EndReceive(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public int EndReceive(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Ends an asynchronous call to receive
      data from a
      socket.</para>
						</summary>
						<param name="asyncResult">
							<para>A <see cref="T:System.IAsyncResult"/> object that holds the state information for the asynchronous operation.</para>
						</param>
						<returns>
							<para> A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes received.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="asyncResult "/> was not returned by the current instance from a call to the <see cref="M:System.Net.Sockets.Socket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> method.</exception>
						<exception cref="T:System.InvalidOperationException">
							<see cref="M:System.Net.Sockets.Socket.EndReceive(System.IAsyncResult)"/> was previously called for this operation.</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred during the operation. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This method blocks if the asynchronous operation has not completed.</para>
							<para>The <see cref="M:System.Net.Sockets.Socket.EndReceive(System.IAsyncResult)"/>
method completes an asynchronous request that was started with a call to the
<see cref="M:System.Net.Sockets.Socket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> method. The object specified for the 
<paramref name="asyncResult"/> parameter is required to be the same object as was returned 
by the <see cref="M:System.Net.Sockets.Socket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/>
method call that began the
request.</para>
							<para>If the <see cref="M:System.Net.Sockets.Socket.EndReceive(System.IAsyncResult)"/>
method is invoked via the <see cref="T:System.AsyncCallback"/> delegate specified to the <see cref="M:System.Net.Sockets.Socket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> method, the
<paramref name="asyncResult"/> parameter is the <see cref="T:System.IAsyncResult"/> 
argument passed to the
delegate's method.</para>
						</remarks>
						<example>
							<para>For an outline of an asynchronous operation, see
      the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method.
      For the complete example, which uses the <see cref="M:System.Net.Sockets.Socket.EndReceive(System.IAsyncResult)"/> method, see the <see cref="T:System.Net.Sockets.Socket"/> class overview.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndReceiveFrom">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 EndReceiveFrom(class System.IAsyncResult asyncResult, class System.Net.EndPoint&amp; endPoint)"/>
					<MemberSignature Language="C#" Value="public int EndReceiveFrom(IAsyncResult asyncResult, ref EndPoint endPoint);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
						<Parameter Name="endPoint" Type="System.Net.EndPoint&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Ends an asynchronous call to receive
      data from a socket and store the endpoint associated with the socket that
      sent the data.</para>
						</summary>
						<param name="asyncResult">
							<para>A <see cref="T:System.IAsyncResult"/> object that holds the state information for the asynchronous operation.</para>
						</param>
						<param name=" endPoint">A reference to the <see cref="T:System.Net.EndPoint" qualify="true"/> associated with the socket that sent the data. </param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes received.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="asyncResult "/> was not returned by the current instance from a call to the <see cref="M:System.Net.Sockets.Socket.BeginReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@,System.AsyncCallback,System.Object)"/> method.</exception>
						<exception cref="T:System.InvalidOperationException">
							<see cref="M:System.Net.Sockets.Socket.EndReceiveFrom(System.IAsyncResult,System.Net.EndPoint@)"/> was previously called for this operation.</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred during the operation. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This method blocks if the asynchronous operation has not completed.</para>
							<para>The <see cref="M:System.Net.Sockets.Socket.EndReceiveFrom(System.IAsyncResult,System.Net.EndPoint@)"/>
method completes an asynchronous request that was started with a call to the
<see cref="M:System.Net.Sockets.Socket.BeginReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@,System.AsyncCallback,System.Object)"/> method. The object specified for the 
<paramref name="asyncResult"/> parameter is required to be the same object as was returned 
by the <see cref="M:System.Net.Sockets.Socket.BeginReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@,System.AsyncCallback,System.Object)"/>
method call that began the
request.</para>
							<para>If the <see cref="M:System.Net.Sockets.Socket.EndReceiveFrom(System.IAsyncResult,System.Net.EndPoint@)"/>
method is invoked via the <see cref="T:System.AsyncCallback"/> delegate specified to the <see cref="M:System.Net.Sockets.Socket.BeginReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@,System.AsyncCallback,System.Object)"/> method, the
<paramref name="asyncResult"/> parameter is the <see cref="T:System.IAsyncResult"/> 
argument passed to the
delegate's method.</para>
						</remarks>
						<example>
							<para>For an outline of an asynchronous operation, see
      the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method.
      For
      the complete example, see the <see cref="T:System.Net.Sockets.Socket"/> class overview.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndSend">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 EndSend(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public int EndSend(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Ends an asynchronous call to send data
      to a connected socket.</para>
						</summary>
						<param name="asyncResult">
							<para>A <see cref="T:System.IAsyncResult"/> object that holds the state information for the asynchronous operation.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes sent. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="asyncResult "/> was not returned by the current instance from a call to the <see cref="M:System.Net.Sockets.Socket.BeginSend(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> method.</exception>
						<exception cref="T:System.InvalidOperationException">
							<see cref="M:System.Net.Sockets.Socket.EndSend(System.IAsyncResult)"/> was previously called for this operation.</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred during the operation. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This method blocks if the asynchronous operation has not completed.</para>
							<para>The <see cref="M:System.Net.Sockets.Socket.EndSend(System.IAsyncResult)"/>
method completes an asynchronous request that was started with a call to the
<see cref="M:System.Net.Sockets.Socket.BeginSend(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> method. The object specified for the 
<paramref name="asyncResult"/> parameter is required to be the same object as was returned 
by the <see cref="M:System.Net.Sockets.Socket.BeginSend(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/>
method call that began the
request.</para>
							<para>If the <see cref="M:System.Net.Sockets.Socket.EndSend(System.IAsyncResult)"/>
method is invoked via the <see cref="T:System.AsyncCallback"/> delegate specified to the <see cref="M:System.Net.Sockets.Socket.BeginSend(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> method, the
<paramref name="asyncResult"/> parameter is the <see cref="T:System.IAsyncResult"/> 
argument passed to the
delegate's method.</para>
						</remarks>
						<example>
							<para>For an outline of an asynchronous operation, see
      the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method.
      For the complete example, which uses the <see cref="M:System.Net.Sockets.Socket.EndSend(System.IAsyncResult)"/> method, see the <see cref="T:System.Net.Sockets.Socket"/> class overview.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EndSendTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 EndSendTo(class System.IAsyncResult asyncResult)"/>
					<MemberSignature Language="C#" Value="public int EndSendTo(IAsyncResult asyncResult);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="asyncResult" Type="System.IAsyncResult"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Ends an asynchronous call to send data to a socket associated
      with a specified endpoint.</para>
						</summary>
						<param name="asyncResult">
							<para>A <see cref="T:System.IAsyncResult"/> object that holds the state information for the asynchronous operation.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes sent. </para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="asyncResult "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentException">
							<paramref name="asyncResult "/> was not returned by the current instance from a call to the <see cref="M:System.Net.Sockets.Socket.SendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint)"/> method.</exception>
						<exception cref="T:System.InvalidOperationException">
							<see cref="M:System.Net.Sockets.Socket.EndSendTo(System.IAsyncResult)"/> was previously called for this operation.</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred during the operation. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This method blocks if the asynchronous operation has not completed.</para>
							<para>The <see cref="M:System.Net.Sockets.Socket.EndSendTo(System.IAsyncResult)"/>
method completes an asynchronous request that was started with a call to the
<see cref="M:System.Net.Sockets.Socket.BeginSendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object)"/> method. The object specified for the 
<paramref name="asyncResult"/> parameter is required to be the same object as was returned 
by the <see cref="M:System.Net.Sockets.Socket.BeginSendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object)"/>
method call that began the
request.</para>
							<para>If the <see cref="M:System.Net.Sockets.Socket.EndSendTo(System.IAsyncResult)"/>
method is invoked via the <see cref="T:System.AsyncCallback"/> delegate specified to the <see cref="M:System.Net.Sockets.Socket.BeginSendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object)"/> method, the
<paramref name="asyncResult"/> parameter is the <see cref="T:System.IAsyncResult"/> 
argument passed to the
delegate's method.</para>
						</remarks>
						<example>
							<para>For an outline of an asynchronous operation, see
      the <see cref="M:System.Net.Sockets.Socket.BeginAccept(System.AsyncCallback,System.Object)"/> method.
      For
      the complete example, see the <see cref="T:System.Net.Sockets.Socket"/> class overview.</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Finalize">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Finalize()"/>
					<MemberSignature Language="C#" Value="~Socket();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Closes the current instance and releases unmanaged resources allocated by the current
      instance.</para>
						</summary>
						<remarks>
							<block subset="none" type="note">
								<para> Application code does not call this method; it
         is automatically invoked during garbage collection unless finalization by the
         garbage collector has been disabled. For more information, see <see cref="M:System.GC.SuppressFinalize(System.Object)" qualify="true"/>,
         and <see cref="M:System.Object.Finalize" qualify="true"/>.</para>
								<para> This method calls <see cref="M:System.Net.Sockets.NetworkStream.Dispose(System.Boolean)"/>(<see langword="false"/>) to free unmanaged
      resources used by the current instance.</para>
								<para>This method overrides <see cref="M:System.Object.Finalize" qualify="true"/>.</para>
							</block>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<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>
							<para>
								<block subset="none" type="note">
      
      This method overrides <see cref="M:System.Object.GetHashCode" qualify="true"/>.
   </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetSocketOption">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance object GetSocketOption(valuetype System.Net.Sockets.SocketOptionLevel optionLevel, valuetype System.Net.Sockets.SocketOptionName optionName)"/>
					<MemberSignature Language="C#" Value="public object GetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Object</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="optionLevel" Type="System.Net.Sockets.SocketOptionLevel"/>
						<Parameter Name="optionName" Type="System.Net.Sockets.SocketOptionName"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Retrieves an object containing the value of the specified socket option.</para>
						</summary>
						<param name="optionLevel">One of the values defined in the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration. </param>
						<param name="optionName">One of the values defined in the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration.</param>
						<returns>
							<para> The following table describes the values returned 
      by this method.</para>
							<list type="table">
								<listheader>
									<term>optionName</term>
									<description>Return value</description>
								</listheader>
								<item>
									<term>
										<see langword="Linger"/>
									</term>
									<description> An instance of the <see cref="T:System.Net.Sockets.LingerOption" qualify="true"/>
   class.</description>
								</item>
								<item>
									<term>
										<para>
											<see langword="AddMembership"/>
										</para>
										<para> -or-</para>
										<para>
											<see langword="DropMembership"/>
										</para>
									</term>
									<description> An instance of
   the <see cref="T:System.Net.Sockets.MulticastOption" qualify="true"/>
   class.</description>
								</item>
								<item>
									<term> All other values defined in the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration.</term>
									<description>A <see cref="T:System.Int32" qualify="true"/> containing the value
of the option.</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>Socket options determine the behavior of the
      current instance. </para>
							<para>
								<paramref name="optionLevel"/> and <paramref name="optionName"/> are not
   independent. See the <see cref="M:System.Net.Sockets.Socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,System.Int32)"/>(<see langword="SocketOptionLevel"/>,
<see langword="SocketOptionName"/>, <see langword="Int32"/>) method for a listing of the values of the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration grouped
   by <see cref="T:System.Net.Sockets.SocketOptionLevel"/>. </para>
						</remarks>
						<example>
							<para>The following example gets the state of the linger option and the size of the receive buffer, changes the values of both, then gets the new values.</para>
							<code lang="C#">using System;
using System.Net.Sockets;

class OptionTest{

  public static void Main() {

    // Get the current option values.
    Socket someSocket =
      new Socket(AddressFamily.InterNetwork,
                 SocketType.Stream,
                 ProtocolType.Tcp);

    LingerOption lingerOp =
      (LingerOption)someSocket.GetSocketOption(
                    SocketOptionLevel.Socket,
                    SocketOptionName.Linger);

    int receiveBuffer =
      (int)someSocket.GetSocketOption(
           SocketOptionLevel.Socket,
           SocketOptionName.ReceiveBuffer);

    Console.WriteLine(
      "Linger option is {0} and set to {1} seconds.",
      lingerOp.Enabled.ToString(),
      lingerOp.LingerTime.ToString() );

    Console.WriteLine(
      "Size of the receive buffer is {0} bytes.",
      receiveBuffer.ToString() );

    // Change the options.
    lingerOp = new LingerOption(true, 10);
    someSocket.SetSocketOption(
      SocketOptionLevel.Socket,
      SocketOptionName.Linger,
      lingerOp);

    someSocket.SetSocketOption(
      SocketOptionLevel.Socket,
      SocketOptionName.ReceiveBuffer,
      2048);

    Console.WriteLine(
      "The SetSocketOption method has been called.");
 
    // Get the new option values.
    lingerOp =
      (LingerOption)someSocket.GetSocketOption(
                    SocketOptionLevel.Socket,
                    SocketOptionName.Linger);

    receiveBuffer =
      (int)someSocket.GetSocketOption(
           SocketOptionLevel.Socket,
           SocketOptionName.ReceiveBuffer);

    Console.WriteLine(
      "Linger option is now {0} and set to {1} seconds.",
      lingerOp.Enabled.ToString(),
      lingerOp.LingerTime.ToString());

    Console.WriteLine(
      "Size of the receive buffer is now {0} bytes.",
      receiveBuffer.ToString());
  }
}
   </code>
							<para>The output is</para>
							<c>
								<para> Linger option is False and set to 0 seconds.</para>
								<para> Size of the receive buffer is 8192 bytes.</para>
								<para>The SetSocketOption method has been called.</para>
								<para> Linger option is now True and set to 10 seconds.</para>
								<para> Size of the receive buffer is now 2048 bytes.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetSocketOption">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void GetSocketOption(valuetype System.Net.Sockets.SocketOptionLevel optionLevel, valuetype System.Net.Sockets.SocketOptionName optionName, class System.Byte[] optionValue)"/>
					<MemberSignature Language="C#" Value="public void GetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, byte[] optionValue);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="optionLevel" Type="System.Net.Sockets.SocketOptionLevel"/>
						<Parameter Name="optionName" Type="System.Net.Sockets.SocketOptionName"/>
						<Parameter Name="optionValue" Type="System.Byte[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Retrieves the value of the specified socket option.</para>
						</summary>
						<param name="optionLevel">One of the values defined in the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration. </param>
						<param name="optionName">One of the values defined in the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration.</param>
						<param name=" optionValue">A <see cref="T:System.Byte" qualify="true"/> array that receives the value of the specified socket option.</param>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="optionValue"/> is too small to store the value of the specified socket option.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket.</para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>Socket
      options determine the behavior of the current instance.</para>
							<para>Upon successful completion, the array specified by the <paramref name="optionValue"/> parameter contains the value of the
   specified socket option.</para>
							<para>When the length of the <paramref name="optionValue"/> array is smaller than the number of bytes required
to store the value of the specified socket option, a <see cref="T:System.Net.Sockets.SocketException"/> exception is thrown.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetSocketOption">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance class System.Byte[] GetSocketOption(valuetype System.Net.Sockets.SocketOptionLevel optionLevel, valuetype System.Net.Sockets.SocketOptionName optionName, int32 optionLength)"/>
					<MemberSignature Language="C#" Value="public byte[] GetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, int optionLength);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte[]</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="optionLevel" Type="System.Net.Sockets.SocketOptionLevel"/>
						<Parameter Name="optionName" Type="System.Net.Sockets.SocketOptionName"/>
						<Parameter Name="optionLength" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Retrieves the value of the
      specified socket option.</para>
						</summary>
						<param name="optionLevel">One of the values defined in the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration. </param>
						<param name="optionName">One of the values defined in the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration.</param>
						<param name=" optionLength">A <see cref="T:System.Int32" qualify="true"/> containing the maximum length, in bytes, of the value of the specified socket option.</param>
						<returns>
							<para> A <see cref="T:System.Byte" qualify="true"/> array containing the value of the specified socket option.</para>
						</returns>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="optionLength"/> is smaller than the number of bytes required to store the value of the specified socket option.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket.</para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> Socket options
      determine the behavior of the current instance.</para>
							<para>The <paramref name="optionLength"/> parameter
   is used to allocate an array to store the value of the specified option. When this value is smaller than the number of bytes required to store
   the value of the specified option, a <see cref="T:System.Net.Sockets.SocketException"/> exception is thrown. When this value is
   greater than or equal to the number of bytes required to store the value of the
   specified option, the array returned by this
   method is allocated to be exactly the required length.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Handle">
					<MemberSignature Language="ILASM" Value=".property valuetype System.IntPtr Handle { public hidebysig specialname instance valuetype System.IntPtr get_Handle() }"/>
					<MemberSignature Language="C#" Value="public IntPtr Handle { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.IntPtr</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the operating system handle for the current instance.
      </para>
						</summary>
						<value>
							<para>A <see cref="T:System.IntPtr" qualify="true"/> containing the operating system handle for the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.SecurityPermission"> Requires permission to access unmanaged code. See <see cref="F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode" qualify="true"/>.</permission>
					</Docs>
					<Excluded>1</Excluded>
					<ExcludedLibrary>RuntimeInfrastructure</ExcludedLibrary>
				</Member>
				<Member MemberName="IOControl">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 IOControl(int32 ioControlCode, class System.Byte[] optionInValue, class System.Byte[] optionOutValue)"/>
					<MemberSignature Language="C#" Value="public int IOControl(int ioControlCode, byte[] optionInValue, byte[] optionOutValue);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="ioControlCode" Type="System.Int32"/>
						<Parameter Name="optionInValue" Type="System.Byte[]"/>
						<Parameter Name="optionOutValue" Type="System.Byte[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Provides low-level access to the socket, the
      transport protocol, or the communications subsystem.</para>
						</summary>
						<param name="ioControlCode">A <see cref="T:System.Int32" qualify="true"/> containing the control code of the operation to perform.</param>
						<param name=" optionInValue">A <see cref="T:System.Byte" qualify="true"/> array containing the input data required by the operation.</param>
						<param name=" optionOutValue">A <see cref="T:System.Byte" qualify="true"/> array containing the output data supplied by the operation.</param>
						<returns>
							<para> A <see cref="T:System.Int32" qualify="true"/> containing the length of the
<paramref name="optionOutValue"/> array after the method returns.</para>
						</returns>
						<exception cref="T:System.InvalidOperationException">
							<para>An attempt was made to change the blocking mode.</para>
							<block subset="none" type="note">
								<para>Use the <see cref="P:System.Net.Sockets.Socket.Blocking"/> property to change the blocking mode.</para>
							</block>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>If an attempt is made to change the blocking mode of the current instance, an
      exception is thrown. Use the <see cref="P:System.Net.Sockets.Socket.Blocking"/> property to change the
      blocking mode.</para>
							<para>
      The control codes and their requirements
      are implementation defined. Do not use
      this method if platform
      independence is a requirement.
      
      </para>
							<para>
								<block subset="none" type="note">
      
      Input data is not required for all control codes. Output data is not supplied
      by all control codes and, if not supplied, the return value is 0.
      
      </block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.SecurityPermission">Requires permission to access unmanaged code. See <see cref="F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode" qualify="true"/>.</permission>
						<example>
							<para>The following example gets the number of bytes of available
      data to be read and writes the result to the console on a Windows system.
      The remote endpoint (remoteEndpoint) to connect to may need to be changed to a value that is valid on the current system.</para>
							<code lang="C#">using System;
using System.Net;
using System.Net.Sockets;

class App {

  static void Main() {

    IPAddress remoteAddress =
    Dns.Resolve(Dns.GetHostName()).AddressList[0];

    IPEndPoint remoteEndpoint =
      new IPEndPoint(remoteAddress, 80);

    Socket someSocket =
      new Socket(AddressFamily.InterNetwork,
                 SocketType.Stream,
                 ProtocolType.Tcp);

    someSocket.Connect(remoteEndpoint);

    int fionRead = 0x4004667F;
    byte[]inValue = {0x00, 0x00, 0x00, 0x00};
    byte[]outValue = {0x00, 0x00, 0x00, 0x00};

    someSocket.IOControl(fionRead, inValue, outValue);

    uint bytesAvail = BitConverter.ToUInt32(outValue, 0);
      
    Console.WriteLine(
      "There are {0} bytes available to be read.",
      bytesAvail.ToString() );
  }
}
      </code>
							<para>The output is</para>
							<c>
								<para>There are 0 bytes available to be read.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Listen">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void Listen(int32 backlog)"/>
					<MemberSignature Language="C#" Value="public void Listen(int backlog);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="backlog" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Places the current instance into the listening
      state where it waits for incoming connection requests.</para>
						</summary>
						<param name="backlog">A <see cref="T:System.Int32" qualify="true"/> containing the maximum length of the queue of pending connections.</param>
						<exception cref="T:System.Net.Sockets.SocketException">The <see cref="P:System.Net.Sockets.Socket.Connected"/> property of the current instance is true, or an error occurred while accessing the socket. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> Once this method is called, incoming connection requests
      are placed in a queue. The maximum size of the queue is specified by the
      <paramref name="backlog"/> parameter. The size of the queue is limited to legal
      values by the underlying protocol. Illegal values of the <paramref name="backlog"/>
      parameter are replaced with a legal value, which is implementation defined.</para>
							<para>If a connection request arrives and the queue is full, a <see cref="T:System.Net.Sockets.SocketException"/> is thrown on the client.</para>
							<para> A socket in the listening state has no
   remote endpoint associated with it. Attempting to access the <see cref="P:System.Net.Sockets.Socket.RemoteEndPoint"/> property throws a <see cref="T:System.Net.Sockets.SocketException"/> exception.</para>
							<para> This method is ignored if called more than once on the
   current instance.</para>
							<block subset="none" type="note">
								<para>This method is used
      only on the server-side of connection-oriented protocols. Call the <see cref="M:System.Net.Sockets.Socket.Bind(System.Net.EndPoint)"/> method before
      this method is called the first time. Call the <see cref="M:System.Net.Sockets.Socket.Listen(System.Int32)"/> method before the first call to the <see cref="M:System.Net.Sockets.Socket.Accept"/>
      method.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LocalEndPoint">
					<MemberSignature Language="ILASM" Value=".property class System.Net.EndPoint LocalEndPoint { public hidebysig specialname instance class System.Net.EndPoint get_LocalEndPoint() }"/>
					<MemberSignature Language="C#" Value="public EndPoint LocalEndPoint { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.EndPoint</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the local endpoint associated with the current instance.
      </para>
						</summary>
						<value>
							<para> The local <see cref="T:System.Net.EndPoint" qualify="true"/>
associated with the current
instance.</para>
						</value>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This property is read-only. </para>
							<para>This property contains the network connection information for the
      current instance. </para>
							<para>
								<block subset="none" type="note">The <see cref="M:System.Net.Sockets.Socket.Bind(System.Net.EndPoint)"/> and
<see cref="M:System.Net.Sockets.Socket.Accept"/> methods, 
   and their
   asynchronous counterparts set this property. If not previously set,
   the <see cref="M:System.Net.Sockets.Socket.Connect(System.Net.EndPoint)"/> and <see cref="M:System.Net.Sockets.Socket.SendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint)"/> methods, and their asynchronous counterparts set this property.
</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Poll">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance bool Poll(int32 microSeconds, valuetype System.Net.Sockets.SelectMode mode)"/>
					<MemberSignature Language="C#" Value="public bool Poll(int microSeconds, SelectMode mode);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="microSeconds" Type="System.Int32"/>
						<Parameter Name="mode" Type="System.Net.Sockets.SelectMode"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines the read, write, or error status of the current instance.</para>
						</summary>
						<param name="microSeconds">A <see cref="T:System.Int32" qualify="true"/> containing the time to wait for a response, in microseconds. Set the <paramref name="microSeconds"/> parameter to a negative value to wait indefinitely for a response.</param>
						<param name=" mode">One of the values defined in the <see cref="T:System.Net.Sockets.SelectMode"/> enumeration.</param>
						<returns>
							<para>A <see cref="T:System.Boolean" qualify="true"/> where <see langword="true"/> indicates the current instance
   satisfies at least one of the conditions in the following table
   corresponding to the specified <see cref="T:System.Net.Sockets.SelectMode"/>
   value; otherwise, <see langword="false"/>. <see langword="false"/> is returned if the status of the current instance cannot be determined within the time specified by <paramref name="microSeconds"/> . </para>
							<list type="table">
								<listheader>
									<term>SelectMode value</term>
									<description> Condition</description>
								</listheader>
								<item>
									<term> SelectRead</term>
									<description>
										<para> Data is available for reading (includes
            out-of-band data if the <see cref="F:System.Net.Sockets.SocketOptionName.OutOfBandInline"/> value defined in
            the <see cref="T:System.Net.Sockets.SocketOptionName"/>
            enumeration
            is set).</para>
										<para>-or-</para>
										<para>The socket is in the listening state with a
            pending connection, and
            the <see cref="M:System.Net.Sockets.Socket.Accept"/> method has been called and is guaranteed to succeed without
            blocking.</para>
										<para>-or-</para>
										<para> The connection has been closed, reset,
            or terminated.</para>
									</description>
								</item>
								<item>
									<term> SelectWrite</term>
									<description>
										<para>Data can be sent.</para>
										<para>-or-</para>
										<para> A non-blocking <see cref="M:System.Net.Sockets.Socket.Connect(System.Net.EndPoint)"/> method is being processed and the connection has
            succeeded.</para>
									</description>
								</item>
								<item>
									<term> SelectError</term>
									<description>
										<para>The <see cref="F:System.Net.Sockets.SocketOptionName.OutOfBandInline"/> value defined in
            the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration is not set
            and out-of-band data is available.</para>
										<para>-or-</para>
										<para> A non-blocking <see cref="M:System.Net.Sockets.Socket.Connect(System.Net.EndPoint)"/>
      method is being processed and the connection has
      failed.</para>
									</description>
								</item>
							</list>
						</returns>
						<exception cref="T:System.NotSupportedException">
							<paramref name="mode "/>is not one of the values defined in the <see cref="T:System.Net.Sockets.SelectMode"/> enumeration.</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>An error occurred while accessing the socket. </para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ProtocolType">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Net.Sockets.ProtocolType ProtocolType { public hidebysig specialname instance valuetype System.Net.Sockets.ProtocolType get_ProtocolType() }"/>
					<MemberSignature Language="C#" Value="public ProtocolType ProtocolType { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.ProtocolType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the protocol type of the current instance.
      </para>
						</summary>
						<value>
							<para>One of the values defined in
      the <see cref="T:System.Net.Sockets.ProtocolType"/> enumeration. </para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>This property is set by the constructor for the current instance. The value of
      this property specifies the protocol used by the current instance.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Receive">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 Receive(class System.Byte[] buffer, int32 size, valuetype System.Net.Sockets.SocketFlags socketFlags)"/>
					<MemberSignature Language="C#" Value="public int Receive(byte[] buffer, int size, SocketFlags socketFlags);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="size" Type="System.Int32"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Receives data from a socket.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array to store data received from the socket.</param>
						<param name="size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to receive.</param>
						<param name="socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/>, or <see cref="F:System.Net.Sockets.SocketFlags.Peek"/>.</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes received.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para> -or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length.</para>
						</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values.</para>
							<para> -or- </para>
							<para> An error occurred while accessing the socket. </para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.Security.SecurityException">A caller in the call stack does not have the required permissions.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This method is equivalent to <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/>(<paramref name="buffer"/>, 0, <paramref name="size"/>,
<paramref name="socketFlags"/>).</para>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">Requires permission to accept connections. See <see cref="F:System.Net.NetworkAccess.Accept" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Receive">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 Receive(class System.Byte[] buffer, valuetype System.Net.Sockets.SocketFlags socketFlags)"/>
					<MemberSignature Language="C#" Value="public int Receive(byte[] buffer, SocketFlags socketFlags);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Receives data from a
      socket.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array to store data received from the socket.</param>
						<param name="socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/>, or <see cref="F:System.Net.Sockets.SocketFlags.Peek"/>.</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes received.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values.</para>
						</exception>
						<exception cref="T:System.Security.SecurityException"> A caller in the call stack does not have the required permissions.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/>(<paramref name="buffer"/>, 0, <paramref name="buffer"/>.Length,
<paramref name="socketFlags"/>).</para>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">Requires permission to accept connections. <block subset="none" type="note">See <see cref="F:System.Net.NetworkAccess.Accept" qualify="true"/>.</block>
						</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Receive">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 Receive(class System.Byte[] buffer, int32 offset, int32 size, valuetype System.Net.Sockets.SocketFlags socketFlags)"/>
					<MemberSignature Language="C#" Value="public int Receive(byte[] buffer, int offset, int size, SocketFlags socketFlags);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="size" Type="System.Int32"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Receives data from a socket.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array to store data received from the socket.</param>
						<param name="offset">A <see cref="T:System.Int32" qualify="true"/> containing the zero-based position in <paramref name="buffer "/>to begin storing the received data.</param>
						<param name="size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to receive.</param>
						<param name="socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/>, or <see cref="F:System.Net.Sockets.SocketFlags.Peek"/>.</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/>
containing the number of bytes received.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="offset"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="offset"/> &gt; <paramref name="buffer"/>.Length. </para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length - <paramref name="offset"/>.</para>
						</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values.</para>
							<para>-or-</para>
							<para>The <see cref="P:System.Net.Sockets.Socket.LocalEndPoint"/> property was not set.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket.</para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.Security.SecurityException">A caller in the call stack does not have the required permissions.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>The <see cref="P:System.Net.Sockets.Socket.LocalEndPoint"/> property is required to be set before 
   this method
   is called.</para>
							<para>The <see cref="P:System.Net.Sockets.Socket.Blocking"/> property of the socket determines
the behavior of this method when no incoming data is available. When
<see langword="false"/>, the <see cref="T:System.Net.Sockets.SocketException"/> exception is thrown. When 
<see langword="true"/>, this method blocks and 
waits for data
to arrive.</para>
							<para> For <see cref="F:System.Net.Sockets.SocketType.Stream" qualify="true"/> socket types, if the remote socket
was shut down gracefully, and all data was received, this method immediately returns zero,
regardless of the blocking state.</para>
							<para>For message-oriented sockets, if the message is larger than the size of
<paramref name="buffer"/>, the buffer is filled with the first part of the message, and the 
<see cref="T:System.Net.Sockets.SocketException"/> exception is thrown. For unreliable 
   protocols, the excess data is lost; for reliable protocols, the data is retained
   by the service provider.</para>
							<para>When the <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/> flag is
specified as part of the <paramref name="socketFlags"/> parameter and the socket is configured for in-line reception of
out-of-band (OOB) data (using the <see cref="F:System.Net.Sockets.SocketOptionName.OutOfBandInline"/> socket option) and OOB data is available,
only OOB data is returned.</para>
							<para>When the <see cref="F:System.Net.Sockets.SocketFlags.Peek"/> flag is specified as part of the
<paramref name="socketFlags"/> parameter, available data is copied into 
<paramref name="buffer"/> but is not removed from the system
buffer.</para>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">
							<para>Requires permission to accept a connection on the endpoint defined by the <see cref="P:System.Net.Sockets.Socket.LocalEndPoint"/> property of the current instance. See <see cref="F:System.Net.NetworkAccess.Accept" qualify="true"/>.</para>
						</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Receive">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 Receive(class System.Byte[] buffer)"/>
					<MemberSignature Language="C#" Value="public int Receive(byte[] buffer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Receives data from a socket.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array to store data received from the socket.</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/>
containing the number of bytes received.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>An error occurred while accessing the socket.</para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.Security.SecurityException"> A caller in the call stack does not have the required permissions.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/>(<paramref name="buffer"/>, 0, <paramref name="buffer"/>.Length,
<see cref="F:System.Net.Sockets.SocketFlags.None" qualify="true"/>).</para>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">Requires permission to accept connections. See <see cref="F:System.Net.NetworkAccess.Accept" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReceiveFrom">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 ReceiveFrom(class System.Byte[] buffer, class System.Net.EndPoint&amp; remoteEP)"/>
					<MemberSignature Language="C#" Value="public int ReceiveFrom(byte[] buffer, ref EndPoint remoteEP);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="remoteEP" Type="System.Net.EndPoint&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Receives data from a socket and, for connectionless protocols, stores the
      endpoint associated with the socket that sent the data.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array to store data received from the socket.</param>
						<param name="remoteEP">A reference to the <see cref="T:System.Net.EndPoint" qualify="true"/> associated with the socket that sent the data.</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/>
containing the number of bytes received.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="buffer"/> or <paramref name="remoteEP"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Net.Sockets.Socket.ReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@)"/>(<paramref name="buffer"/>, 0, <paramref name="buffer"/>.Length,
<see cref="F:System.Net.Sockets.SocketFlags.None" qualify="true"/>, <paramref name="remoteEP"/>).</para>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">Requires permission to accept connections from the endpoint defined by <paramref name="remoteEP"/>. See <see cref="F:System.Net.NetworkAccess.Accept" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReceiveFrom">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 ReceiveFrom(class System.Byte[] buffer, valuetype System.Net.Sockets.SocketFlags socketFlags, class System.Net.EndPoint&amp; remoteEP)"/>
					<MemberSignature Language="C#" Value="public int ReceiveFrom(byte[] buffer, SocketFlags socketFlags, ref EndPoint remoteEP);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
						<Parameter Name="remoteEP" Type="System.Net.EndPoint&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Receives data from a socket and, for connectionless protocols, stores the
      endpoint associated with the socket that sent the data.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array to store data received from the socket.</param>
						<param name="socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/>, or <see cref="F:System.Net.Sockets.SocketFlags.Peek"/>.</param>
						<param name="remoteEP">A reference to the <see cref="T:System.Net.EndPoint" qualify="true"/> associated with the socket that sent the data.</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/>
containing the number of bytes received.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="buffer"/> or <paramref name="remoteEP"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> specified an invalid value.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket. </para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.Security.SecurityException">A caller in the call stack does not have the required permissions.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Net.Sockets.Socket.ReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@)"/>(<paramref name="buffer"/>, 0, <paramref name="buffer"/>.Length, <paramref name="socketFlags"/>, <paramref name="remoteEP"/>).</para>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">Requires permission to accept connections from the endpoint defined by <paramref name="remoteEP"/>. See <see cref="F:System.Net.NetworkAccess.Accept" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReceiveFrom">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 ReceiveFrom(class System.Byte[] buffer, int32 size, valuetype System.Net.Sockets.SocketFlags socketFlags, class System.Net.EndPoint&amp; remoteEP)"/>
					<MemberSignature Language="C#" Value="public int ReceiveFrom(byte[] buffer, int size, SocketFlags socketFlags, ref EndPoint remoteEP);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="size" Type="System.Int32"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
						<Parameter Name="remoteEP" Type="System.Net.EndPoint&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Receives data from a socket and, for connectionless protocols, stores the
      endpoint associated with the socket that sent the data.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array to store data received from the socket.</param>
						<param name="size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to receive.</param>
						<param name="socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/>, or <see cref="F:System.Net.Sockets.SocketFlags.Peek"/>.</param>
						<param name="remoteEP">A reference to the <see cref="T:System.Net.EndPoint" qualify="true"/> associated with the socket that sent the data.</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/>
containing the number of bytes received.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="buffer"/> or <paramref name="remoteEP"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para> -or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length.</para>
						</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket.</para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.Security.SecurityException">A caller in the call stack does not have the required permissions.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Net.Sockets.Socket.ReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@)"/>(<paramref name="buffer"/>, 0, <paramref name="size"/> , <paramref name="socketFlags"/>, <paramref name="remoteEP"/> ).</para>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">Requires permission to accept connections from the endpoint defined by <paramref name="remoteEP"/>. See <see cref="F:System.Net.NetworkAccess.Accept" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReceiveFrom">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 ReceiveFrom(class System.Byte[] buffer, int32 offset, int32 size, valuetype System.Net.Sockets.SocketFlags socketFlags, class System.Net.EndPoint&amp; remoteEP)"/>
					<MemberSignature Language="C#" Value="public int ReceiveFrom(byte[] buffer, int offset, int size, SocketFlags socketFlags, ref EndPoint remoteEP);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="size" Type="System.Int32"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
						<Parameter Name="remoteEP" Type="System.Net.EndPoint&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Receives data from a socket and,
      for connectionless protocols, stores the endpoint associated with the socket that sent
      the data.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array to store data received from the socket.</param>
						<param name="offset">A <see cref="T:System.Int32" qualify="true"/> containing the zero-based position in <paramref name="buffer "/>to begin storing the received data.</param>
						<param name="size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to receive.</param>
						<param name="socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/>, or <see cref="F:System.Net.Sockets.SocketFlags.Peek"/>.</param>
						<param name="remoteEP">A reference to the <see cref="T:System.Net.EndPoint" qualify="true"/> associated with the socket that sent the data.</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/>
containing the number of bytes received.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="buffer"/> or <paramref name="remoteEP"/> is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="offset"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="offset"/> &gt; <paramref name="buffer"/>.Length. </para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length - <paramref name="offset"/>.</para>
						</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values.</para>
							<para>-or-</para>
							<para>The <see cref="P:System.Net.Sockets.Socket.LocalEndPoint"/> property was not set.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket.</para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.Security.SecurityException">A caller in the call stack does not have the required permissions.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>For connectionless protocols, when this method successfully completes, <paramref name="remoteEP"/> contains the
   endpoint associated with the socket that sent the data.</para>
							<para>For connection-oriented protocols, <paramref name="remoteEP"/> is left unchanged.</para>
							<para>The <see cref="P:System.Net.Sockets.Socket.LocalEndPoint"/> property is required to be set before
this method is called or a <see cref="T:System.Net.Sockets.SocketException"/>
is thrown.</para>
							<para>The <see cref="P:System.Net.Sockets.Socket.Blocking"/> property of the socket determines
the behavior of this method when no incoming data is available. When
<see langword="false"/>, the <see cref="T:System.Net.Sockets.SocketException"/> exception is thrown. When 
<see langword="true"/>, this method blocks and 
waits for data to arrive.</para>
							<para>For <see cref="F:System.Net.Sockets.SocketType.Stream" qualify="true"/> socket types, if the
remote socket was shut down gracefully, and all data was received, this method
immediately returns zero, regardless of the blocking state.</para>
							<para>For message-oriented sockets, if the message is larger than the size of
<paramref name="buffer"/>, the buffer is filled with the first part of the message, and the 
<see cref="T:System.Net.Sockets.SocketException"/> 
exception is thrown. For unreliable protocols, the excess data is lost; for
reliable protocols, the data is retained by the service provider.</para>
							<para>When the <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/> flag is specified as part of the<paramref name="socketFlags "/>parameter and the socket is configured for
in-line reception of out-of-band (OOB) data (using the <see cref="F:System.Net.Sockets.SocketOptionName.OutOfBandInline"/> socket option) and OOB
data is available, only OOB data is returned.</para>
							<para>When the <see cref="F:System.Net.Sockets.SocketFlags.Peek"/> flag is specified as part of the
<paramref name="socketFlags"/> parameter, available data is copied into 
<paramref name="buffer"/> 
but is not removed from the system
buffer.</para>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">
							<para>Requires permission to accept a connection on the endpoint defined by the <see cref="P:System.Net.Sockets.Socket.LocalEndPoint"/> property of the current instance. See <see cref="F:System.Net.NetworkAccess.Accept" qualify="true"/>.</para>
							<para>Requires permission to make a connection to the endpoint defined by <paramref name="remoteEP"/>. See <see cref="F:System.Net.NetworkAccess.Connect" qualify="true"/>.</para>
						</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="RemoteEndPoint">
					<MemberSignature Language="ILASM" Value=".property class System.Net.EndPoint RemoteEndPoint { public hidebysig specialname instance class System.Net.EndPoint get_RemoteEndPoint() }"/>
					<MemberSignature Language="C#" Value="public EndPoint RemoteEndPoint { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.EndPoint</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the remote endpoint associated with the current instance.
      </para>
						</summary>
						<value>
							<para> The remote <see cref="T:System.Net.EndPoint" qualify="true"/>
associated with the current instance.</para>
						</value>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para> This property
      is read-only.</para>
							<para> This property contains the network
      connection information associated with the socket communicating with the current
      instance.</para>
							<para> There is no remote endpoint
      associated with a socket in the listening state. An attempt to access the
   <see cref="P:System.Net.Sockets.Socket.RemoteEndPoint"/> 
   property causes a <see cref="T:System.Net.Sockets.SocketException"/> exception to be
   thrown.</para>
							<para>
								<block subset="none" type="note">The <see cref="M:System.Net.Sockets.Socket.Accept"/> and <see cref="M:System.Net.Sockets.Socket.Connect(System.Net.EndPoint)"/> methods, and their asynchronous 
counterparts set this property. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Select">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static void Select(class System.Collections.IList checkRead, class System.Collections.IList checkWrite, class System.Collections.IList checkError, int32 microSeconds)"/>
					<MemberSignature Language="C#" Value="public static void Select(IList checkRead, IList checkWrite, IList checkError, int microSeconds);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="checkRead" Type="System.Collections.IList"/>
						<Parameter Name="checkWrite" Type="System.Collections.IList"/>
						<Parameter Name="checkError" Type="System.Collections.IList"/>
						<Parameter Name="microSeconds" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines the read, write, or error status of a set
      of <see cref="T:System.Net.Sockets.Socket"/> instances.</para>
						</summary>
						<param name="checkRead">A <see cref="T:System.Collections.IList"/> object containing the <see cref="T:System.Net.Sockets.Socket"/> instances to check for read status.</param>
						<param name="checkWrite">A <see cref="T:System.Collections.IList"/> object containing the <see cref="T:System.Net.Sockets.Socket"/> instances to check for write status.</param>
						<param name="checkError">A <see cref="T:System.Collections.IList"/> object containing the <see cref="T:System.Net.Sockets.Socket"/> instances to check for error status.</param>
						<param name="microSeconds">A <see cref="T:System.Int32" qualify="true"/> that specifies the time to wait for a response, in microseconds. Specify a negative value to wait indefinitely for the status to be determined.</param>
						<exception cref="T:System.ArgumentNullException">All of the following parameters are <see langword="null"/> or empty: <paramref name="checkRead"/>, <paramref name="checkWrite"/>, and <paramref name="checkError"/>.</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing one of the sockets. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<remarks>
							<para>Upon successful completion, this method removes all
   <see cref="T:System.Net.Sockets.Socket"/> instances from
      the specified list that do not
      satisfy one of the conditions associated
      with that list. The following table describes the conditions for each list.</para>
							<list type="table">
								<listheader>
									<term>List</term>
									<description>Condition to remain in list</description>
								</listheader>
								<item>
									<term>
										<paramref name="checkRead"/>
									</term>
									<description>
										<para>Data is available for reading (includes
            out-of-band data if the <see cref="F:System.Net.Sockets.SocketOptionName.OutOfBandInline"/>
            value defined in the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration is set).</para>
										<para>-or-</para>
										<para>The socket is in the listening state with a pending connection, and the <see cref="M:System.Net.Sockets.Socket.Accept"/> method has been called
         and is guaranteed to succeed without blocking.</para>
										<para>-or-</para>
										<para>The connection has been closed, reset, or terminated.</para>
									</description>
								</item>
								<item>
									<term>
										<paramref name="checkWrite"/>
									</term>
									<description>
										<para>Data can be sent.</para>
										<para>-or-</para>
										<para>A non-blocking <see cref="M:System.Net.Sockets.Socket.Connect(System.Net.EndPoint)"/> method is being processed and the
      connection has succeeded.</para>
									</description>
								</item>
								<item>
									<term>
										<paramref name="checkError"/>
									</term>
									<description>
										<para>The <see cref="F:System.Net.Sockets.SocketOptionName.OutOfBandInline"/>
value defined in the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration is not set and
out-of-band data is available.</para>
										<para>-or-</para>
										<para>A non-blocking <see cref="M:System.Net.Sockets.Socket.Connect(System.Net.EndPoint)"/> method is being processed and the
connection has failed.</para>
									</description>
								</item>
							</list>
							<para>
								<block subset="none" type="note">To determine the status of a specific
<see cref="T:System.Net.Sockets.Socket"/> instance, check whether the instance 
   remains in the list after the method returns.</block>
							</para>
							<para> When the method cannot determine the status of all the
<see cref="T:System.Net.Sockets.Socket"/> instances within the time specified in the 
<paramref name="microseconds"/> parameter, the 
   method removes all the <see cref="T:System.Net.Sockets.Socket"/>
   instances from all the lists and returns.</para>
							<para> At least one of <paramref name="checkRead"/>, <paramref name="checkWrite"/>, or
<paramref name="checkError"/>, is required to contain at least one <see cref="T:System.Net.Sockets.Socket"/> instance. The 
other parameters can be empty or <see langword="null"/>.</para>
						</remarks>
						<example>
							<para>The following example determines the status of the socket instance named
      socket3 and writes the result to the console.</para>
							<code lang="C#">using System;
using System.Collections;
using System.Net.Sockets;

class SelectTest {

  public static void Main() {

    Socket socket1 =
      new Socket(AddressFamily.InterNetwork,
                 SocketType.Stream,
                 ProtocolType.Tcp);
    Socket socket2 =
      new Socket(AddressFamily.InterNetwork,
                 SocketType.Stream,
                 ProtocolType.Tcp);
    Socket socket3 =
      new Socket(AddressFamily.InterNetwork,
                 SocketType.Stream,
                 ProtocolType.Tcp);

    ArrayList readList = new ArrayList();
    ArrayList writeList = new ArrayList();
    ArrayList errorList = new ArrayList();

    readList.Add(socket1);
    readList.Add(socket2);
    readList.Add(socket3);
    errorList.Add(socket1);
    errorList.Add(socket3);

    // readList.Contains(Socket3) returns true
    // if Socket3 is in ReadList.
    Console.WriteLine(
      "socket3 is placed in readList and errorList.");
    Console.WriteLine(
      "socket3 is {0}in readList.",
      readList.Contains(socket3) ? "" : "not " );
    Console.WriteLine(
      "socket3 is {0}in writeList.",
      writeList.Contains(socket3) ? "" : "not " );
    Console.WriteLine(
      "socket3 is {0}in errorList.",
      errorList.Contains(socket3) ? "" : "not " );

    Socket.Select(readList, writeList, errorList, 10);
    Console.WriteLine("The Select method has been called.");
    Console.WriteLine(
      "socket3 is {0}in readList.",
      readList.Contains(socket3) ? "" : "not " );
    Console.WriteLine(
      "socket3 is {0}in writeList.",
      writeList.Contains(socket3) ? "" : "not " );
    Console.WriteLine(
      "socket3 is {0}in errorList.",
      errorList.Contains(socket3) ? "" : "not " );
  }
}
   </code>
							<para>The output is</para>
							<c>
								<para>socket3 is placed in readList and errorList.</para>
								<para>socket3 is in readList.</para>
								<para>socket3 is not in writeList.</para>
								<para>socket3 is in errorList.</para>
								<para>The Select method has been called.</para>
								<para>socket3 is not in readList.</para>
								<para>socket3 is not in writeList.</para>
								<para>socket3 is not in errorList.</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Send">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 Send(class System.Byte[] buffer, int32 offset, int32 size, valuetype System.Net.Sockets.SocketFlags socketFlags)"/>
					<MemberSignature Language="C#" Value="public int Send(byte[] buffer, int offset, int size, SocketFlags socketFlags);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="size" Type="System.Int32"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sends data to a connected socket.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array containing data to send to the socket.</param>
						<param name="offset">A <see cref="T:System.Int32" qualify="true"/> that specifies the zero-based position in buffer that is the starting location of the data to send.</param>
						<param name="size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to send.</param>
						<param name="socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.DontRoute"/>, or <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/>.</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/>
containing the number of bytes sent.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="offset"/> &lt; 0. </para>
							<para>-or- </para>
							<para>
								<paramref name="offset"/> &gt; <paramref name="buffer"/>.Length. </para>
							<para> -or-</para>
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length - <paramref name="offset"/>.</para>
						</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket. </para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>For connection-oriented protocols, the <see cref="P:System.Net.Sockets.Socket.LocalEndPoint"/> property of the current instance is
   required to be set before calling this
   method.</para>
							<para>For connectionless protocols, calling the <see cref="M:System.Net.Sockets.Socket.Connect(System.Net.EndPoint)"/> methods sets the <see cref="P:System.Net.Sockets.Socket.RemoteEndPoint"/> property and allows the <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/>
method to be used instead of the <see cref="M:System.Net.Sockets.Socket.SendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint)"/>
method.</para>
							<para>When the <see cref="F:System.Net.Sockets.SocketFlags.DontRoute"/> flag
is specified as part of the <paramref name="socketFlags"/> parameter,
the sent data is not routed.</para>
							<para>When the <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/> flag is specified as part of the
<paramref name="socketFlags"/> parameter, only out-of-band (OOB) data is sent.</para>
							<para>When the <see cref="P:System.Net.Sockets.Socket.Blocking"/> property of the current instance is
set to <see langword="true"/> and
buffer space is not available within the underlying protocol, this method
blocks. </para>
							<para>For message-oriented sockets, when 
<paramref name="size"/> is greater than the maximum message size of the underlying
   protocol, no data is sent and the <see cref="T:System.Net.Sockets.SocketException"/> exception is thrown.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Send">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 Send(class System.Byte[] buffer)"/>
					<MemberSignature Language="C#" Value="public int Send(byte[] buffer);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sends data to a
      connected socket.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array containing data to send to the socket.</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/>
containing the number of bytes sent.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>An error occurred while accessing the socket.</para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/>(<paramref name="buffer"/>, 0,
<paramref name="buffer"/>.Length, <see cref="F:System.Net.Sockets.SocketFlags.None" qualify="true"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Send">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 Send(class System.Byte[] buffer, valuetype System.Net.Sockets.SocketFlags socketFlags)"/>
					<MemberSignature Language="C#" Value="public int Send(byte[] buffer, SocketFlags socketFlags);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sends data to a connected socket.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array containing data to send to the socket.</param>
						<param name="socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.DontRoute"/>, or <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/>.</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/>
containing the number of bytes sent.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket. </para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/>(<paramref name="buffer"/>, 0, <paramref name="buffer"/>.Length,
<paramref name="socketFlags"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Send">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 Send(class System.Byte[] buffer, int32 size, valuetype System.Net.Sockets.SocketFlags socketFlags)"/>
					<MemberSignature Language="C#" Value="public int Send(byte[] buffer, int size, SocketFlags socketFlags);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="size" Type="System.Int32"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sends data to a connected socket.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array containing data to send to the socket.</param>
						<param name="size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to send.</param>
						<param name="socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.DontRoute"/>, or <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/>.</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/>
containing the number of bytes sent.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="buffer "/>is <see langword="null"/>.</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para> -or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length.</para>
						</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values. </para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket.</para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/>(<paramref name="buffer"/>, 0, <paramref name="size"/>,
<paramref name="socketFlags"/>).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SendTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 SendTo(class System.Byte[] buffer, class System.Net.EndPoint remoteEP)"/>
					<MemberSignature Language="C#" Value="public int SendTo(byte[] buffer, EndPoint remoteEP);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="remoteEP" Type="System.Net.EndPoint"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sends data to the socket associated with the specified
      endpoint.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array containing data to send to the socket.</param>
						<param name="remoteEP">
							<para>The <see cref="T:System.Net.EndPoint" qualify="true"/> associated with the socket to receive the data.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/>
containing the number of bytes sent.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="buffer or remoteEP "/>is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.Security.SecurityException">A caller in the call stack does not have the required permissions.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Net.Sockets.Socket.SendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint)"/>(<paramref name="buffer"/>,
   0, <paramref name="buffer"/>.Length, <see cref="F:System.Net.Sockets.SocketFlags.None" qualify="true"/>,<paramref name=" remoteEP"/>).</para>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">Requires permission to make a connection to the endpoint defined by <paramref name="remoteEP"/>. See <see cref="F:System.Net.NetworkAccess.Connect" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SendTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 SendTo(class System.Byte[] buffer, valuetype System.Net.Sockets.SocketFlags socketFlags, class System.Net.EndPoint remoteEP)"/>
					<MemberSignature Language="C#" Value="public int SendTo(byte[] buffer, SocketFlags socketFlags, EndPoint remoteEP);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
						<Parameter Name="remoteEP" Type="System.Net.EndPoint"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sends data to the socket associated with the specified
      endpoint.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array containing data to send to the socket.</param>
						<param name="socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.DontRoute"/>, or <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/>.</param>
						<param name="remoteEP">
							<para>The <see cref="T:System.Net.EndPoint" qualify="true"/> associated with the socket to receive the data.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/>
containing the number of bytes sent.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="buffer or remoteEP "/>is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket. </para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.Security.SecurityException">A caller in the call stack does not have the required permissions.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Net.Sockets.Socket.SendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint)"/>(<paramref name="buffer"/>, 0, <paramref name="buffer"/>.Length,
<paramref name="socketFlags"/>, <paramref name="remoteEP"/>).</para>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">Requires permission to make a connection to the endpoint defined by <paramref name="remoteEP"/>. See <see cref="F:System.Net.NetworkAccess.Connect" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SendTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 SendTo(class System.Byte[] buffer, int32 size, valuetype System.Net.Sockets.SocketFlags socketFlags, class System.Net.EndPoint remoteEP)"/>
					<MemberSignature Language="C#" Value="public int SendTo(byte[] buffer, int size, SocketFlags socketFlags, EndPoint remoteEP);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="size" Type="System.Int32"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
						<Parameter Name="remoteEP" Type="System.Net.EndPoint"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sends data to the socket associated with the specified
      endpoint.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array containing data to send to the socket.</param>
						<param name="size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to send.</param>
						<param name="socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.DontRoute"/>, or <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/>.</param>
						<param name="remoteEP">
							<para>The <see cref="T:System.Net.EndPoint" qualify="true"/> associated with the socket to receive the data.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/>
containing the number of bytes sent.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="buffer or remoteEP "/>is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para> -or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length.</para>
						</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket. </para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.Security.SecurityException">A caller in the call stack does not have the required permissions.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>This method is equivalent to <see cref="M:System.Net.Sockets.Socket.SendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint)"/>(<paramref name="buffer"/>, 0, <paramref name="size"/>,
<paramref name="socketFlags"/>, <paramref name="remoteEP"/>).</para>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">Requires permission to make a connection to the endpoint defined by <paramref name="remoteEP"/>. See <see cref="F:System.Net.NetworkAccess.Connect" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SendTo">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance int32 SendTo(class System.Byte[] buffer, int32 offset, int32 size, valuetype System.Net.Sockets.SocketFlags socketFlags, class System.Net.EndPoint remoteEP)"/>
					<MemberSignature Language="C#" Value="public int SendTo(byte[] buffer, int offset, int size, SocketFlags socketFlags, EndPoint remoteEP);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="buffer" Type="System.Byte[]"/>
						<Parameter Name="offset" Type="System.Int32"/>
						<Parameter Name="size" Type="System.Int32"/>
						<Parameter Name="socketFlags" Type="System.Net.Sockets.SocketFlags"/>
						<Parameter Name="remoteEP" Type="System.Net.EndPoint"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sends data to the socket associated with the specified
      endpoint.</para>
						</summary>
						<param name="buffer">A <see cref="T:System.Byte" qualify="true"/> array containing data to send to the socket.</param>
						<param name="offset">A <see cref="T:System.Int32" qualify="true"/> that specifies the zero-based position in buffer that is the starting location of the data to send.</param>
						<param name="size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to send.</param>
						<param name="socketFlags">A bitwise combination of any of the following values defined in the <see cref="T:System.Net.Sockets.SocketFlags"/> enumeration: <see cref="F:System.Net.Sockets.SocketFlags.None"/>, <see cref="F:System.Net.Sockets.SocketFlags.DontRoute"/>, or <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/>.</param>
						<param name="remoteEP">
							<para>The <see cref="T:System.Net.EndPoint" qualify="true"/> associated with the socket to receive the data.</para>
						</param>
						<returns>
							<para>A <see cref="T:System.Int32" qualify="true"/>
containing the number of bytes sent.</para>
						</returns>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="buffer or remoteEP "/>is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<para>
								<paramref name="offset"/> &lt; 0. </para>
							<para>-or- </para>
							<para>
								<paramref name="offset"/> &gt; <paramref name="buffer"/>.Length. </para>
							<para> -or-</para>
							<para>
								<paramref name="size"/> &lt; 0.</para>
							<para>-or-</para>
							<para>
								<paramref name="size"/> &gt; <paramref name="buffer"/>.Length - <paramref name="offset"/>.</para>
						</exception>
						<exception cref="T:System.InvalidOperationException">
							<para>An asynchronous call is pending and a blocking method has been called.</para>
						</exception>
						<exception cref="T:System.Net.Sockets.SocketException">
							<para>
								<paramref name="socketFlags"/> is not a valid combination of values.</para>
							<para>-or-</para>
							<para>An error occurred while accessing the socket. </para>
							<para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.Security.SecurityException"> A caller in the call stack does not have the required permissions.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>For connected sockets using connectionless
      protocols, <paramref name="remoteEP"/> overrides the endpoint specified in the <see cref="P:System.Net.Sockets.Socket.RemoteEndPoint"/> property.</para>
							<para>For unconnected sockets using connectionless protocols, this method sets
      the <see cref="P:System.Net.Sockets.Socket.LocalEndPoint"/>
      property of the current instance to a value determined by the protocol.
      Subsequent data is required to be received on <see langword="LocalEndPoint"/>.</para>
							<para>When the <see cref="F:System.Net.Sockets.SocketFlags.DontRoute"/> flag
   is specified as part of the <paramref name="socketFlags"/> parameter,
   the sent data is not routed.</para>
							<para>When the <see cref="F:System.Net.Sockets.SocketFlags.OutOfBand"/> flag is specified as part of the
<paramref name="socketFlags"/> parameter, only out-of-band (OOB) data is sent.</para>
							<para>When the <see cref="P:System.Net.Sockets.Socket.Blocking"/> property of the current instance is
set to <see langword="true"/> and
buffer space is not available within the underlying protocol, this method
blocks. </para>
							<para>For message-oriented sockets, when  <paramref name="size"/> is greater than
the maximum message size of the underlying protocol, no data is sent and the
<see cref="T:System.Net.Sockets.SocketException"/> exception is thrown.</para>
							<para>For connection-oriented sockets, the <paramref name="remoteEP"/> parameter is
ignored.</para>
						</remarks>
						<permission cref="T:System.Net.SocketPermission">Requires permission to make a connection to the endpoint defined by <paramref name="remoteEP"/>. See <see cref="F:System.Net.NetworkAccess.Connect" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetSocketOption">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void SetSocketOption(valuetype System.Net.Sockets.SocketOptionLevel optionLevel, valuetype System.Net.Sockets.SocketOptionName optionName, object optionValue)"/>
					<MemberSignature Language="C#" Value="public void SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, object optionValue);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="optionLevel" Type="System.Net.Sockets.SocketOptionLevel"/>
						<Parameter Name="optionName" Type="System.Net.Sockets.SocketOptionName"/>
						<Parameter Name="optionValue" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sets the <see cref="F:System.Net.Sockets.SocketOptionName.AddMembership"/>, <see cref="F:System.Net.Sockets.SocketOptionName.DropMembership"/>, or
<see cref="F:System.Net.Sockets.SocketOptionName.Linger"/> socket options.</para>
						</summary>
						<param name="optionLevel">Either the <see langword="Socket"/> or <see langword="IP"/> member of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration.</param>
						<param name="optionName">Either the <see langword="Linger"/>, <see langword="AddMembership"/>, or <see langword="DropMembership"/> member of the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration.</param>
						<param name="optionValue">An instance of the <see cref="T:System.Net.Sockets.LingerOption"/> or <see cref="T:System.Net.Sockets.MulticastOption"/> class.</param>
						<exception cref="T:System.ArgumentException">
							<paramref name="optionLevel"/>, <paramref name="optionName"/>, or <paramref name="optionValue"/> specified an invalid value.</exception>
						<exception cref="T:System.ArgumentNullException">
							<paramref name="optionValue"/> is <see langword="null"/>.</exception>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.Security.SecurityException">A caller in the call stack does not have the required permissions.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>Socket options determine the behavior of the current
      instance. Multiple options can be set on the current instance by calling this method multiple times.</para>
							<para>The following table summarizes the valid combinations of input parameters.</para>
							<list type="table">
								<listheader>
									<term>optionLevel/optionName</term>
									<description>optionValue</description>
								</listheader>
								<item>
									<term>
										<see langword="Socket"/>/<see langword="Linger"/>
									</term>
									<description>An instance of the <see cref="T:System.Net.Sockets.LingerOption" qualify="true"/> class.</description>
								</item>
								<item>
									<term>
										<para>
											<see langword="IP"/>/<see langword="AddMembership"/>
										</para>
										<para>- or -</para>
										<para>
											<see langword="IP"/>/<see langword="DropMembership"/>
										</para>
									</term>
									<description>An instance of the <see cref="T:System.Net.Sockets.MulticastOption" qualify="true"/> class.</description>
								</item>
							</list>
							<para> When setting the <see cref="F:System.Net.Sockets.SocketOptionName.Linger"/> option, a <see cref="T:System.ArgumentException" qualify="true"/>
exception is thrown if the <see cref="P:System.Net.Sockets.LingerOption.LingerTime"/> property of
the <see cref="T:System.Net.Sockets.LingerOption"/> instance is less than zero or greater
than <see cref="F:System.UInt16.MaxValue"/>
. </para>
							<block subset="none" type="note">
								<para> For more information on the <see cref="F:System.Net.Sockets.SocketOptionName.Linger"/> option,
   see the <see cref="T:System.Net.Sockets.LingerOption"/> class and the <see cref="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)"/>
   method. </para>
								<para> For more information on the <see cref="F:System.Net.Sockets.SocketOptionName.AddMembership"/> and <see cref="F:System.Net.Sockets.SocketOptionName.DropMembership"/> options, see the <see cref="T:System.Net.Sockets.MulticastOption"/> class. </para>
								<para>For socket options
   with values of type <see cref="T:System.Int32"/> or <see cref="T:System.Boolean"/>, see the <see cref="M:System.Net.Sockets.Socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,System.Int32)"/>(<see cref="T:System.Net.Sockets.SocketOptionLevel"/>, <see cref="T:System.Net.Sockets.SocketOptionName"/>, <see cref="T:System.Int32"/>) version
   of this method.</para>
							</block>
						</remarks>
						<permission cref="T:System.Security.Permissions.SecurityPermission">The <see cref="F:System.Net.Sockets.SocketOptionName.AddMembership"/> and <see cref="F:System.Net.Sockets.SocketOptionName.DropMembership"/> options require permission to access unmanaged code. See <see cref="F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetSocketOption">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void SetSocketOption(valuetype System.Net.Sockets.SocketOptionLevel optionLevel, valuetype System.Net.Sockets.SocketOptionName optionName, class System.Byte[] optionValue)"/>
					<MemberSignature Language="C#" Value="public void SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, byte[] optionValue);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="optionLevel" Type="System.Net.Sockets.SocketOptionLevel"/>
						<Parameter Name="optionName" Type="System.Net.Sockets.SocketOptionName"/>
						<Parameter Name="optionValue" Type="System.Byte[]"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Sets socket options with values of type <see langword="Byte[]"/>.</para>
						</summary>
						<param name="optionLevel">One of the values defined in the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration. </param>
						<param name="optionName">One of the values defined in the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration.</param>
						<param name="optionValue">A <see cref="T:System.Byte" qualify="true"/> array containing the value of the option.</param>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.Security.SecurityException">A caller in the call stack does not have the required permissions.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>Socket options determine the behavior of the current
      instance. Multiple options can be set on the current instance by calling this method
      multiple times.</para>
							<para>
								<block subset="none" type="note">For socket options
      with values of type <see cref="T:System.Int32"/> or <see cref="T:System.Boolean"/>,
      see the <see cref="M:System.Net.Sockets.Socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,System.Int32)"/>(<see cref="T:System.Net.Sockets.SocketOptionLevel"/>, <see cref="T:System.Net.Sockets.SocketOptionName"/> , <see cref="T:System.Int32"/>) version of this method.</block>
							</para>
							<para>
								<block subset="none" type="note">For the <see cref="F:System.Net.Sockets.SocketOptionName.AddMembership"/>, <see cref="F:System.Net.Sockets.SocketOptionName.DropMembership"/>, or <see cref="F:System.Net.Sockets.SocketOptionName.Linger"/> socket options, see the
<see cref="M:System.Net.Sockets.Socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,System.Int32)"/>(<see cref="T:System.Net.Sockets.SocketOptionLevel"/>, <see cref="T:System.Net.Sockets.SocketOptionName"/>, <see cref="T:System.Object"/>) version of this 
   method.</block>
							</para>
						</remarks>
						<permission cref="T:System.Security.Permissions.SecurityPermission"> Requires permission to access unmanaged code. See <see cref="F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SetSocketOption">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void SetSocketOption(valuetype System.Net.Sockets.SocketOptionLevel optionLevel, valuetype System.Net.Sockets.SocketOptionName optionName, int32 optionValue)"/>
					<MemberSignature Language="C#" Value="public void SetSocketOption(SocketOptionLevel optionLevel, SocketOptionName optionName, int optionValue);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="optionLevel" Type="System.Net.Sockets.SocketOptionLevel"/>
						<Parameter Name="optionName" Type="System.Net.Sockets.SocketOptionName"/>
						<Parameter Name="optionValue" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Sets socket options with values of type <see cref="T:System.Int32" qualify="true"/> and <see cref="T:System.Boolean" qualify="true"/>.</para>
						</summary>
						<param name="optionLevel">One of the values defined in the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration. </param>
						<param name="optionName">One of the values defined in the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration.</param>
						<param name="optionValue">
							<para>A <see cref="T:System.Int32" qualify="true"/> containing the value of the option.</para>
						</param>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.Security.SecurityException">A caller in the call stack does not have the required permissions.</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>Socket options determine the behavior of the current
      instance. Multiple options can be set on the current instance by calling
      this method multiple times.</para>
							<para> For a socket option with a <see cref="T:System.Boolean"/>
data type, specify a non-zero
<paramref name="optionValue"/> to enable the option, and an <paramref name="optionValue"/> equal to zero
to disable the option.</para>
							<para>Socket options are grouped by level of protocol support.
   The following tables list the members of
   the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration
   supported by each member of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration.
   Only members that have associated values of the <see cref="T:System.Int32" qualify="true"/> and <see cref="T:System.Boolean" qualify="true"/>
   data types are listed.</para>
The following table lists the
members of the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration supported by
the <see langword="Socket"/> member of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration.
Options that do not require permission to access unmanaged code are noted.
<list type="table">
								<listheader>
									<term>SocketOptionName</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Broadcast</term>
									<description>A
      <see cref="T:System.Boolean"/> where <see langword="true"/> indicates broadcast messages are allowed to be sent to the socket. </description>
								</item>
								<item>
									<term> Debug</term>
									<description>A <see cref="T:System.Boolean"/>
   where <see langword="true"/> indicates to record debugging information.</description>
								</item>
								<item>
									<term> DontLinger</term>
									<description>A <see cref="T:System.Boolean"/>
where <see langword="true"/> indicates to close the socket without
lingering. This option does not require permission to access unmanaged code.</description>
								</item>
								<item>
									<term> DontRoute</term>
									<description>A <see cref="T:System.Boolean"/>
where <see langword="true"/> indicates not to route data.</description>
								</item>
								<item>
									<term> Error</term>
									<description>A
   <see cref="T:System.Int32"/> that
      contains the error code associated with the last socket error. The error
      code is cleared by this option. This option is read-only.</description>
								</item>
								<item>
									<term> KeepAlive</term>
									<description>A <see cref="T:System.Boolean"/>
where <see langword="true"/> (the default) indicates to enable
keep-alives, which allows a connection to remain open after a request has completed. This option does not require permission to access unmanaged code.</description>
								</item>
								<item>
									<term> OutOfBandInline</term>
									<description>A <see cref="T:System.Boolean"/>
where <see langword="true"/> indicates to receive out-of-band data in the normal data stream.</description>
								</item>
								<item>
									<term> ReceiveBuffer</term>
									<description>A <see cref="T:System.Int32"/> that specifies the
   total per-socket buffer space reserved for receives.
   This option does not require permission to access unmanaged code.</description>
								</item>
								<item>
									<term> ReceiveTimeout</term>
									<description>A
   <see cref="T:System.Int32"/> that
      specifies the maximum time, in milliseconds, the <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> and <see cref="M:System.Net.Sockets.Socket.ReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@)"/> methods will block when attempting to
      receive data. If data is not received within this
      time, a <see cref="T:System.Net.Sockets.SocketException"/> exception
      is thrown. This option does not require permission to access unmanaged code.</description>
								</item>
								<item>
									<term> ReuseAddress</term>
									<description>A <see cref="T:System.Boolean"/>
where <see langword="true"/> allows the socket to be bound to an address that is already in use.</description>
								</item>
								<item>
									<term> SendBuffer</term>
									<description>A <see cref="T:System.Int32"/> that specifies the
   total per-socket buffer space reserved for sends. This option does not require permission to access unmanaged code.</description>
								</item>
								<item>
									<term> SendTimeout</term>
									<description>A
   <see cref="T:System.Int32"/> that
      specifies the maximum time, in milliseconds, the <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> and <see cref="M:System.Net.Sockets.Socket.SendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint)"/> methods will block when attempting to
      send data. If data is not sent within this time, a <see cref="T:System.Net.Sockets.SocketException"/> exception
      is thrown. This option does not require permission to access unmanaged code.</description>
								</item>
								<item>
									<term> Type</term>
									<description>
										<para>One of the values defined in the <see cref="T:System.Net.Sockets.SocketType"/> enumeration. This option is
      read-only.</para>
									</description>
								</item>
							</list>
							<para>The following table lists the members of the <see cref="T:System.Net.Sockets.SocketOptionName"/>
enumeration supported by the <see langword="IP"/> member of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/>
enumeration. These options require permission to access unmanaged
code.</para>
							<para>
								<list type="table">
									<listheader>
										<term>SocketOptionName</term>
										<description>Description</description>
									</listheader>
									<item>
										<term> HeaderIncluded</term>
										<description>A
      <see cref="T:System.Boolean"/> where <see langword="true"/> indicates
         the application is providing the IP header for outgoing
         datagrams. </description>
									</item>
									<item>
										<term> IPOptions</term>
										<description>A <see cref="T:System.Byte"/> array
      that specifies IP options to be inserted into outgoing
      datagrams.</description>
									</item>
									<item>
										<term> IpTimeToLive</term>
										<description>A <see cref="T:System.Int32"/> that specifies the
   time-to-live for datagrams. The time-to-live designates the number of
   networks on which the datagram is allowed to travel
   before being discarded by a
   router.</description>
									</item>
									<item>
										<term> MulticastInterface</term>
										<description>A
   <see cref="T:System.Byte" qualify="true"/>
   array that specifies the interface for outgoing multicast
   packets.</description>
									</item>
									<item>
										<term> MulticastLoopback</term>
										<description>A
   <see cref="T:System.Boolean"/> where <see langword="true"/> enables multicast
      loopback. </description>
									</item>
									<item>
										<term> MulticastTimeToLive</term>
										<description>A <see cref="T:System.Int32"/> that specifies the
   time-to-live for multicast datagrams. </description>
									</item>
									<item>
										<term> TypeOfService</term>
										<description>A <see cref="T:System.Int32"/> that specifies the
   type of service field in the IP header. </description>
									</item>
									<item>
										<term> UseLoopback</term>
										<description>A
   <see cref="T:System.Boolean"/> where <see langword="true"/> indicates to send a copy of the
      data back to the
      sender. </description>
									</item>
								</list>
							</para>
							<para>The following table lists the members of the <see cref="T:System.Net.Sockets.SocketOptionName"/>
enumeration supported by the <see langword="Tcp"/> member of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration.
These options do not require permission to access unmanaged code.</para>
							<para>
								<list type="table">
									<listheader>
										<term>SocketOptionName</term>
										<description>Description</description>
									</listheader>
									<item>
										<term> BsdUrgent</term>
										<description>A
      <see cref="T:System.Boolean"/> where <see langword="true"/> indicates to use urgent data
         as defined by IETF RFC 1222. Once enabled, this option cannot be disabled.</description>
									</item>
									<item>
										<term> Expedited</term>
										<description>A
      <see cref="T:System.Boolean"/> where <see langword="true"/> indicates to use expedited data as defined by IETF RFC
         1222. Once enabled, this option cannot be disabled.</description>
									</item>
									<item>
										<term> NoDelay</term>
										<description>A
      <see cref="T:System.Boolean"/> where <see langword="true"/> indicates to disable the Nagle algorithm for send
         coalescing.</description>
									</item>
								</list>
							</para>
							<para>The following table lists the members of the <see cref="T:System.Net.Sockets.SocketOptionName"/>
enumeration supported by the <see langword="Udp"/> member of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration.
These options do not require permission to access unmanaged code.</para>
							<para>
								<list type="table">
									<listheader>
										<term>SocketOptionName</term>
										<description>Description</description>
									</listheader>
									<item>
										<term> ChecksumCoverage</term>
										<description>A
      <see cref="T:System.Boolean"/> that specifies UDP checksum coverage.</description>
									</item>
									<item>
										<term> NoChecksum</term>
										<description>A
      <see cref="T:System.Boolean"/> where <see langword="true"/> indicates to send UDP datagrams with the checksum set to zero.</description>
									</item>
								</list>
							</para>
							<block subset="none" type="note">
								<para>For the
   <see langword="AddMembership"/>, <see langword="DropMembership"/>, and
   <see langword="Linger"/> members of the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration, see
      the <see cref="M:System.Net.Sockets.Socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,System.Int32)"/>(<see cref="T:System.Net.Sockets.SocketOptionLevel"/>, <see cref="T:System.Net.Sockets.SocketOptionName"/>, <see cref="T:System.Object"/>) version of this method.</para>
							</block>
						</remarks>
						<permission cref="T:System.Security.Permissions.SecurityPermission">Some options require permission to access unmanaged code. All the options that do not require permission are noted in the tables in the Description section. All options not so noted require this permission. See <see cref="F:System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode" qualify="true"/>.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Shutdown">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance void Shutdown(valuetype System.Net.Sockets.SocketShutdown how)"/>
					<MemberSignature Language="C#" Value="public void Shutdown(SocketShutdown how);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="how" Type="System.Net.Sockets.SocketShutdown"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Terminates the ability to send or receive data on a connected socket.</para>
						</summary>
						<param name="how">One of the values defined in the <see cref="T:System.Net.Sockets.SocketShutdown"/> enumeration.</param>
						<exception cref="T:System.Net.Sockets.SocketException">An error occurred while accessing the socket. <para>
								<block subset="none" type="note">For additional information on causes of the <see langword=" SocketException"/>, see the <see cref="T:System.Net.Sockets.SocketException" qualify="true"/> class.</block>
							</para>
						</exception>
						<exception cref="T:System.ObjectDisposedException">The current instance has been disposed.</exception>
						<remarks>
							<para>When <paramref name="how"/> is set to <see cref="F:System.Net.Sockets.SocketShutdown.Send"/> , the socket on the
   other end of the connection is notified that the current instance will not
   send any
   more data. If the <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> method is
   subsequently called, a <see cref="T:System.Net.Sockets.SocketException"/>
   
   exception is thrown.</para>
							<para>When <paramref name="how"/> is set to <see cref="F:System.Net.Sockets.SocketShutdown.Receive"/>,
the
socket on the other end of the
connection is notified that the current instance will not receive any more
data. After all the data currently queued on the current instance is
received, any subsequent calls to the <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> method cause a <see cref="T:System.Net.Sockets.SocketException"/> exception to be thrown.</para>
							<para>Setting <paramref name="how"/> to <see cref="F:System.Net.Sockets.SocketShutdown.Both"/> terminates both sends and
receives as described above. Once this occurs, the socket cannot
be used.</para>
							<block subset="none" type="note">
								<para>To free resources allocated by the current instance, call the <see cref="M:System.Net.Sockets.Socket.Close"/>
method.</para>
								<para>Expected common usage is for the <see cref="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)"/>
method to be called before the <see cref="M:System.Net.Sockets.Socket.Close"/> method to
ensure that all pending data is sent or received.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SocketType">
					<MemberSignature Language="ILASM" Value=".property valuetype System.Net.Sockets.SocketType SocketType { public hidebysig specialname instance valuetype System.Net.Sockets.SocketType get_SocketType() }"/>
					<MemberSignature Language="C#" Value="public SocketType SocketType { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the socket type of the current instance.
      </para>
						</summary>
						<value>
							<para>One of the values defined in
      the <see cref="T:System.Net.Sockets.SocketType"/> enumeration.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>This property is set by the constructor for the current instance.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="System.IDisposable.Dispose">
					<MemberSignature Language="ILASM" Value=".method private final hidebysig virtual void System.IDisposable.Dispose()"/>
					<MemberSignature Language="C#" Value="void IDisposable.Dispose();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>Implemented to support the <see cref="T:System.IDisposable"/> interface. [Note: For more information, see <see cref="M:System.IDisposable.Dispose"/>.]</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SocketAddress" FullName="System.Net.SocketAddress" FullNameSP="System_Net_SocketAddress">
			<TypeSignature Language="ILASM" Value=".class public SocketAddress extends System.Object"/>
			<TypeSignature Language="C#" Value="public class SocketAddress"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Provides a socket address stored in a <see cref="T:System.Byte" qualify="true"/> array.
   </para>
				</summary>
				<remarks>
					<para>At a minimum, a socket address consists of a member of the <see cref="T:System.Net.Sockets.AddressFamily" qualify="true"/> enumeration
   stored in the first two bytes of the array.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Object</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>DefaultMemberAttribute("Item")</AttributeName>
					<Excluded>1</Excluded>
					<ExcludedTypeName>System.Reflection.DefaultMemberAttribute</ExcludedTypeName>
					<ExcludedLibraryName>RuntimeInfrastructure</ExcludedLibraryName>
				</Attribute>
			</Attributes>
			<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(AddressFamily family);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="family" Type="System.Net.Sockets.AddressFamily"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.SocketAddress"/>
class.</para>
						</summary>
						<param name="family">One of the values of the <see cref="T:System.Net.Sockets.AddressFamily"/> enumeration.</param>
						<remarks>
							<para>This method is equivalent to <see cref="!:System.Net.SocketAddress.SocketAddress"/>(<paramref name="family"/>, 32).</para>
						</remarks>
					</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(AddressFamily family, int size);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="family" Type="System.Net.Sockets.AddressFamily"/>
						<Parameter Name="size" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.SocketAddress"/>
class.</para>
						</summary>
						<param name="family">One of the values of the <see cref="T:System.Net.Sockets.AddressFamily"/> enumeration.</param>
						<param name=" size">A <see cref="T:System.Int32" qualify="true"/> containing the number of bytes to allocate for the <see cref="T:System.Byte" qualify="true"/> array storing the socket address.</param>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="size"/> is less than 2.</exception>
						<remarks>
							<para>The minimum value for <paramref name="size"/> is 2 bytes.</para>
						</remarks>
					</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);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="comparand" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Determines whether the current instance and the
      specified <see cref="T:System.Object" qualify="true"/> represent the same
      socket address.</para>
						</summary>
						<param name="comparand">The <see cref="T:System.Object" qualify="true"/> to compare to the current instance.</param>
						<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>
					</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 AddressFamily Family { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.AddressFamily</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the address family which specifies the addressing scheme used to resolve an address.</para>
						</summary>
						<value>
							<para>One of the values defined in the <see cref="T:System.Net.Sockets.AddressFamily" qualify="true"/> enumeration.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>This property is set by the <see cref="T:System.Net.SocketAddress"/> constructors and is stored in
   the first two bytes of the socket address array.</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<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>
					</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; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Byte</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="offset" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<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>
						<param name="offset">A <see cref="T:System.Int32" qualify="true"/> containing the zero-based index of the element to get or set.</param>
						<value>
							<para>A <see cref="T:System.Byte" qualify="true"/> containing the element at the specified index.</para>
						</value>
						<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; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the length of the socket address.</para>
						</summary>
						<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>
							<para>This property is read-only.</para>
							<para>This property is set by the <see cref="T:System.Net.SocketAddress"/> constructors.</para>
						</remarks>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.String" qualify="true"/> representation of the value of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.String" qualify="true"/> representation of the current
   instance.</para>
						</returns>
						<remarks>
							<para> The returned string contains the string representation of the address family, the length of the array holding the socket
      address, and the contents of the array from the third to the maximum element, output in the
      following format:</para>
							<para>
								<see cref="P:System.Net.SocketAddress.Family"/>:<see cref="P:System.Net.SocketAddress.Size"/>:{array[2], array[3], ...,
   element[<see langword="Size"/>-
   1]}</para>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.Object.ToString" qualify="true"/>.</para>
							</block>
						</remarks>
						<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>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SocketException" FullName="System.Net.Sockets.SocketException" FullNameSP="System_Net_Sockets_SocketException">
			<TypeSignature Language="ILASM" Value=".class public serializable SocketException extends System.SystemException"/>
			<TypeSignature Language="C#" Value="public class SocketException : SystemException"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Represents the error that occurs when a socket error occurs.</para>
				</summary>
				<remarks>
					<para>A <see cref="T:System.Net.Sockets.SocketException"/> is thrown by the <see cref="T:System.Net.Sockets.Socket"/> and
<see cref="T:System.Net.Dns"/> classes
   when a network error occurs.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.SystemException</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()"/>
					<MemberSignature Language="C#" Value="public SocketException();"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters/>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.Sockets.SocketException"/> class.</para>
						</summary>
						<remarks>
							<para>The exact behavior of this constructor is implementation-defined. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SocketFlags" FullName="System.Net.Sockets.SocketFlags" FullNameSP="System_Net_Sockets_SocketFlags">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable SocketFlags extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum SocketFlags"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Controls the transfer behavior when sending and
      receiving data on a <see cref="T:System.Net.Sockets.Socket"/> instance.</para>
				</summary>
				<remarks>
					<para>The following methods use this enumeration:</para>
					<list type="bullet">
						<item>
							<term>
								<see cref="M:System.Net.Sockets.Socket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/>
							</term>
						</item>
						<item>
							<term>
								<see cref="M:System.Net.Sockets.Socket.BeginReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@,System.AsyncCallback,System.Object)"/>
							</term>
						</item>
						<item>
							<term>
								<see cref="M:System.Net.Sockets.Socket.BeginSend(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/>
							</term>
						</item>
						<item>
							<term>
								<see cref="M:System.Net.Sockets.Socket.BeginSendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint,System.AsyncCallback,System.Object)"/>
							</term>
						</item>
						<item>
							<term>
								<see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/>
							</term>
						</item>
						<item>
							<term>
								<see cref="M:System.Net.Sockets.Socket.ReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@)"/>
							</term>
						</item>
						<item>
							<term>
								<see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/>
							</term>
						</item>
						<item>
							<term>
								<see cref="M:System.Net.Sockets.Socket.SendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint)"/>
							</term>
						</item>
					</list>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>FlagsAttribute</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName="DontRoute">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketFlags DontRoute = 0x4"/>
					<MemberSignature Language="C#" Value="DontRoute = 0x4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketFlags</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>DontRoute</MemberValue>
					<Docs>
						<summary>
							<para> Specifies not to use routing tables to transmit the data. If there is a router 
 between the local and destination addresses, the data will be lost.
 </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="None">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketFlags None = 0x0"/>
					<MemberSignature Language="C#" Value="None = 0x0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketFlags</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>None</MemberValue>
					<Docs>
						<summary>
							<para> No flags are specified. 
 </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OutOfBand">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketFlags OutOfBand = 0x1"/>
					<MemberSignature Language="C#" Value="OutOfBand = 0x1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketFlags</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>OutOfBand</MemberValue>
					<Docs>
						<summary>
							<para> Specifies to send or receive out-of-band (OOB) data. OOB
      data is specially marked data that can be received independently of unmarked data.
      </para>
							<block subset="none" type="note">
								<para>Used only with a connection-oriented protocol. </para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Partial">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketFlags Partial = 0x8000"/>
					<MemberSignature Language="C#" Value="Partial = 0x8000;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketFlags</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Partial</MemberValue>
					<Docs>
						<summary>
							<para> Specifies that a partial message has been received.
      </para>
							<block subset="none" type="note">
								<para>Used only with a message-oriented protocol. </para>
							</block>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Peek">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketFlags Peek = 0x2"/>
					<MemberSignature Language="C#" Value="Peek = 0x2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketFlags</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Peek</MemberValue>
					<Docs>
						<summary>
							<para> Specifies to peek at the incoming data. This copies data 
 to the input buffer but does not remove it from the input queue.
 </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SocketOptionLevel" FullName="System.Net.Sockets.SocketOptionLevel" FullNameSP="System_Net_Sockets_SocketOptionLevel">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable SocketOptionLevel extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum SocketOptionLevel"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Specifies the option level associated with
 the <see cref="T:System.Net.Sockets.SocketOptionName"/> used in the <see cref="M:System.Net.Sockets.Socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,System.Int32)"/> and <see cref="M:System.Net.Sockets.Socket.GetSocketOption(System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName)"/> methods
 of the <see cref="T:System.Net.Sockets.Socket"/> class.
 </para>
				</summary>
				<remarks>
					<para>Some socket options apply only to specific
 protocols while others apply to all types. Members of this enumeration specify which protocol applies to
 a specific socket option. </para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="IP">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionLevel IP = 0"/>
					<MemberSignature Language="C#" Value="IP = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionLevel</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>IP</MemberValue>
					<Docs>
						<summary>
							<para> Specifies that members of the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration apply to
   Internet Protocol (IP).
   </para>
							<para>The following table lists the members of the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration used
with this level.</para>
							<list type="table">
								<listheader>
									<term>SocketOptionName</term>
									<description>Description of Socket Option Data</description>
								</listheader>
								<item>
									<term> HeaderIncluded</term>
									<description>A
      <see cref="T:System.Boolean"/> where <see langword="true"/> indicates
         the application is providing the IP header for outgoing
         datagrams. </description>
								</item>
								<item>
									<term> IPOptions</term>
									<description>A
      <see cref="T:System.Byte"/> array
         that specifies IP options to be inserted into outgoing
         datagrams.</description>
								</item>
								<item>
									<term> IpTimeToLive</term>
									<description>A <see cref="T:System.Int32"/> that specifies the
      time-to-live for datagrams. The time-to-live designates the number of
      networks on which the datagram is allowed to travel
      before being discarded by a
      router.</description>
								</item>
								<item>
									<term> MulticastInterface</term>
									<description>A <see cref="T:System.Byte" qualify="true"/>
array that specifies the interface for outgoing multicast
packets.</description>
								</item>
								<item>
									<term> MulticastLoopback</term>
									<description>A
   <see cref="T:System.Boolean"/> where <see langword="true"/> enables multicast
      loopback. </description>
								</item>
								<item>
									<term> MulticastTimeToLive</term>
									<description>A <see cref="T:System.Int32"/> that specifies the
   time-to-live for multicast datagrams. </description>
								</item>
								<item>
									<term> TypeOfService</term>
									<description>A <see cref="T:System.Int32"/> that specifies the
   type of service field in the IP header. </description>
								</item>
								<item>
									<term> UseLoopback</term>
									<description>A
   <see cref="T:System.Boolean"/> where <see langword="true"/> indicates Bypass hardware when
      possible. </description>
								</item>
							</list>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Socket">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionLevel Socket = 65535"/>
					<MemberSignature Language="C#" Value="Socket = 65535;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionLevel</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Socket</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that members of the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration are not specific to a particular protocol. </para>
							<para>The following table lists the members of the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration used 
with this level.</para>
							<list type="table">
								<listheader>
									<term>SocketOptionName</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> Broadcast</term>
									<description>A
      <see cref="T:System.Boolean"/> where <see langword="true"/> indicates broadcast messages are allowed to be sent to the socket. </description>
								</item>
								<item>
									<term> Debug</term>
									<description>A <see cref="T:System.Boolean"/>
   where <see langword="true"/> indicates to record debugging information.</description>
								</item>
								<item>
									<term> DontLinger</term>
									<description>A <see cref="T:System.Boolean"/>
where <see langword="true"/> indicates to close the socket without lingering.</description>
								</item>
								<item>
									<term> DontRoute</term>
									<description>A <see cref="T:System.Boolean"/>
where <see langword="true"/> indicates not to route
data; <see langword="false"/> indicates to send data directly to interface addresses.</description>
								</item>
								<item>
									<term> Error</term>
									<description>A
   <see cref="T:System.Int32"/> that
      contains the error code associated with the last socket error. The error
      code is cleared by this option. This option is read-only.</description>
								</item>
								<item>
									<term> KeepAlive</term>
									<description>A <see cref="T:System.Boolean"/>
where <see langword="true"/> (the default) indicates to enable keep-alives, which allows a connection to remain open after a request.</description>
								</item>
								<item>
									<term> OutOfBandInline</term>
									<description>A <see cref="T:System.Boolean"/>
where <see langword="true"/> indicates to receive out-of-band data in the normal data stream.</description>
								</item>
								<item>
									<term> ReceiveBuffer</term>
									<description>A <see cref="T:System.Int32"/> that specifies the
   total per-socket buffer space reserved for receives. This is unrelated to
   the maximum message size or the size of a TCP window.</description>
								</item>
								<item>
									<term> ReceiveTimeout</term>
									<description>A
   <see cref="T:System.Int32"/> that
      specifies the maximum time, in milliseconds, the <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> and <see cref="M:System.Net.Sockets.Socket.ReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@)"/> methods will block when attempting to
      receive data. If data is not received within this
      time, a <see cref="T:System.Net.Sockets.SocketException"/> exception is thrown.</description>
								</item>
								<item>
									<term> ReuseAddress</term>
									<description>A <see cref="T:System.Boolean"/>
where <see langword="true"/> allows the socket to be bound to an address that is already in use.</description>
								</item>
								<item>
									<term> SendBuffer</term>
									<description>A <see cref="T:System.Int32"/> that specifies the total per-socket buffer space reserved for sends. This is unrelated to the maximum message size or the size of a TCP window.</description>
								</item>
								<item>
									<term> SendTimeout</term>
									<description>A
   <see cref="T:System.Int32"/> that
      specifies the maximum time, in milliseconds, the <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> and <see cref="M:System.Net.Sockets.Socket.SendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint)"/> methods will block when attempting to
      send data. If data is not sent within this time, a <see cref="T:System.Net.Sockets.SocketException"/> exception is thrown.</description>
								</item>
								<item>
									<term> Type</term>
									<description>
										<para>One of the values defined in the <see cref="T:System.Net.Sockets.SocketType"/> enumeration. This option is
      read-only.</para>
									</description>
								</item>
							</list>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Tcp">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionLevel Tcp = 6"/>
					<MemberSignature Language="C#" Value="Tcp = 6;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionLevel</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Tcp</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that members of the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration apply to Transmission Control Protocol (TCP). </para>
							<para>The following table lists the members of the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration used 
with this level.</para>
							<list type="table">
								<listheader>
									<term>SocketOptionName</term>
									<description>Description of Socket Option Data</description>
								</listheader>
								<item>
									<term> BsdUrgent</term>
									<description>A
      <see cref="T:System.Boolean"/> where <see langword="true"/> indicates to use urgent data as defined
         by IETF RFC 1222. Once set, this option cannot be turned off.</description>
								</item>
								<item>
									<term> Expedited</term>
									<description>A
      <see cref="T:System.Boolean"/> where <see langword="true"/> indicates to use expedited data as defined by IETF RFC 1222.
         Once set, this option cannot be turned off.</description>
								</item>
								<item>
									<term> NoDelay</term>
									<description>A
      <see cref="T:System.Boolean"/> where <see langword="true"/> indicates to disable the Nagle algorithm for send
         coalescing.</description>
								</item>
							</list>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Udp">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionLevel Udp = 17"/>
					<MemberSignature Language="C#" Value="Udp = 17;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionLevel</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Udp</MemberValue>
					<Docs>
						<summary>
							<para>Specifies that members of the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration apply to User Datagram Protocol
   (UDP). </para>
							<para>The following table lists the members of the <see cref="T:System.Net.Sockets.SocketOptionName"/> enumeration used
with this level.</para>
							<list type="table">
								<listheader>
									<term>SocketOptionName</term>
									<description>Description of Socket Option Data</description>
								</listheader>
								<item>
									<term> ChecksumCoverage</term>
									<description>A 
      <see cref="T:System.Boolean"/> 
      that specifies UDP checksum coverage.</description>
								</item>
								<item>
									<term> NoChecksum</term>
									<description>A
   <see cref="T:System.Boolean"/> where <see langword="true"/> indicates to send UDP datagrams with the checksum set to zero.</description>
								</item>
							</list>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SocketOptionName" FullName="System.Net.Sockets.SocketOptionName" FullNameSP="System_Net_Sockets_SocketOptionName">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable SocketOptionName extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum SocketOptionName"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Specifies option names for use in the <see cref="M:System.Net.Sockets.Socket.SetSocketOption(System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName,System.Int32)" qualify="true"/> and <see cref="M:System.Net.Sockets.Socket.GetSocketOption(System.Net.Sockets.SocketOptionLevel,System.Net.Sockets.SocketOptionName)" qualify="true"/> 
methods of the <see cref="T:System.Net.Sockets.Socket"/> class. </para>
				</summary>
				<remarks>
					<para>Socket options determine the behavior of an instance of
      the <see cref="T:System.Net.Sockets.Socket"/> class. Some socket options apply only to specific protocols while others apply to
      all types. Members of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration specify
      which protocol applies to a specific socket option. </para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="AcceptConnection">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName AcceptConnection = 2"/>
					<MemberSignature Language="C#" Value="AcceptConnection = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>HeaderIncluded</MemberValue>
					<Docs>
						<summary>
							<para>
								<see cref="M:System.Net.Sockets.Socket.Listen(System.Int32)" qualify="true"/> has been called on the socket.</para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> 
data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddMembership">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName AddMembership = 12"/>
					<MemberSignature Language="C#" Value="AddMembership = 12;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AddMembership</MemberValue>
					<Docs>
						<summary>
							<para> Add an IP group membership.
 </para>
							<para>The value associated with this option is an instance of the <see cref="T:System.Net.Sockets.MulticastOption" qualify="true"/> class. </para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AddSourceMembership">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName AddSourceMembership = 15"/>
					<MemberSignature Language="C#" Value="AddSourceMembership = 15;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>AddSourceMembership</MemberValue>
					<Docs>
						<summary>
							<para>Join a source group.</para>
							<para>The value associated with this option is an instance of the <see cref="T:System.Net.IPAddress" qualify="true"/>
class. </para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BlockSource">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName BlockSource = 17"/>
					<MemberSignature Language="C#" Value="BlockSource = 17;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>BlockSource</MemberValue>
					<Docs>
						<summary>
							<para>Block data from a source.</para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Broadcast">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName Broadcast = 32"/>
					<MemberSignature Language="C#" Value="Broadcast = 32;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Broadcast</MemberValue>
					<Docs>
						<summary>
							<para> Permit sending broadcast messages on the socket.
 </para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data 
 type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="BsdUrgent">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName BsdUrgent = 2"/>
					<MemberSignature Language="C#" Value="BsdUrgent = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>HeaderIncluded</MemberValue>
					<Docs>
						<summary>
							<para>Use urgent data as defined by IETF RFC 1222. This option can
      be set only once, and once set, cannot be turned off.</para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Tcp"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ChecksumCoverage">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName ChecksumCoverage = 20"/>
					<MemberSignature Language="C#" Value="ChecksumCoverage = 20;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ChecksumCoverage</MemberValue>
					<Docs>
						<summary>
							<para>Set or get UDP checksum coverage.</para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data
   type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Udp"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Debug">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName Debug = 1"/>
					<MemberSignature Language="C#" Value="Debug = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Debug</MemberValue>
					<Docs>
						<summary>
							<para>Record debugging information when available.</para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data 
 type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DontFragment">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName DontFragment = 14"/>
					<MemberSignature Language="C#" Value="DontFragment = 14;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>DontFragment</MemberValue>
					<Docs>
						<summary>
							<para>Do not fragment IP datagrams.</para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DontLinger">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName DontLinger = -129"/>
					<MemberSignature Language="C#" Value="DontLinger = -129;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>DontLinger</MemberValue>
					<Docs>
						<summary>
							<para> Close socket gracefully without lingering.
 </para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data 
 type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DontRoute">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName DontRoute = 16"/>
					<MemberSignature Language="C#" Value="DontRoute = 16;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>DropSourceMembership</MemberValue>
					<Docs>
						<summary>
							<para> Do not route; send directly to interface addresses.
 </para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data 
 type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DropMembership">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName DropMembership = 13"/>
					<MemberSignature Language="C#" Value="DropMembership = 13;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>DropMembership</MemberValue>
					<Docs>
						<summary>
							<para> Drop an IP group membership.
 </para>
							<para>The value associated with this option is an instance of the <see cref="T:System.Net.Sockets.MulticastOption" qualify="true"/> class. </para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="DropSourceMembership">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName DropSourceMembership = 16"/>
					<MemberSignature Language="C#" Value="DropSourceMembership = 16;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>DropSourceMembership</MemberValue>
					<Docs>
						<summary>
							<para>Drop a source group.</para>
							<para>The value associated with this option is an instance of the <see cref="T:System.Net.IPAddress" qualify="true"/>
class. </para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Error">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName Error = 4103"/>
					<MemberSignature Language="C#" Value="Error = 4103;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Error</MemberValue>
					<Docs>
						<summary>
							<para> Get the error status code, then clear the code.
      </para>
							<para>The value associated with this option is a <see cref="T:System.Int32" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ExclusiveAddressUse">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName ExclusiveAddressUse = -5"/>
					<MemberSignature Language="C#" Value="ExclusiveAddressUse = -5;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ExclusiveAddressUse</MemberValue>
					<Docs>
						<summary>
							<para> Enable a socket to be bound for exclusive access.
      </para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data
   type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Expedited">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName Expedited = 2"/>
					<MemberSignature Language="C#" Value="Expedited = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>HeaderIncluded</MemberValue>
					<Docs>
						<summary>
							<para>Use expedited data as defined by IETF RFC 1222. This option
      can be set only once, and once set, cannot be turned off.</para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Tcp"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HeaderIncluded">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName HeaderIncluded = 2"/>
					<MemberSignature Language="C#" Value="HeaderIncluded = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>HeaderIncluded</MemberValue>
					<Docs>
						<summary>
							<para> Application is providing the IP header for
 outgoing datagrams.</para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IPOptions">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName IPOptions = 1"/>
					<MemberSignature Language="C#" Value="IPOptions = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Debug</MemberValue>
					<Docs>
						<summary>
							<para>Specifies IP options to be inserted into outgoing datagrams.</para>
							<para>The value associated with this option is a <see cref="T:System.Byte" qualify="true"/> 
array.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IpTimeToLive">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName IpTimeToLive = 4"/>
					<MemberSignature Language="C#" Value="IpTimeToLive = 4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ReuseAddress</MemberValue>
					<Docs>
						<summary>
							<para>Set the IP header time-to-live field.</para>
							<para>The value associated with this option is a <see cref="T:System.Int32" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="KeepAlive">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName KeepAlive = 8"/>
					<MemberSignature Language="C#" Value="KeepAlive = 8;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>KeepAlive</MemberValue>
					<Docs>
						<summary>
							<para> Send keep-alives.
 </para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data 
 type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Linger">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName Linger = 128"/>
					<MemberSignature Language="C#" Value="Linger = 128;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Linger</MemberValue>
					<Docs>
						<summary>
							<para> Linger on close if unsent data is present.
 </para>
							<para>The value associated with this option is an instance of 
 the <see cref="T:System.Net.Sockets.LingerOption" qualify="true"/> class. </para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MaxConnections">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName MaxConnections = 2147483647"/>
					<MemberSignature Language="C#" Value="MaxConnections = 2147483647;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>MaxConnections</MemberValue>
					<Docs>
						<summary>
							<para> Maximum queue length that can be specified by <see cref="M:System.Net.Sockets.Socket.Listen(System.Int32)"/>.
 </para>
							<para>The value associated with this option is a <see cref="T:System.Int32" qualify="true"/> data type.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MulticastInterface">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName MulticastInterface = 9"/>
					<MemberSignature Language="C#" Value="MulticastInterface = 9;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>MulticastInterface</MemberValue>
					<Docs>
						<summary>
							<para>Set the interface for outgoing multicast packets.</para>
							<para>The value associated with this option is a <see cref="T:System.Byte" qualify="true"/>
array. </para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MulticastLoopback">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName MulticastLoopback = 11"/>
					<MemberSignature Language="C#" Value="MulticastLoopback = 11;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>MulticastLoopback</MemberValue>
					<Docs>
						<summary>
							<para>IP multicast loopback.</para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MulticastTimeToLive">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName MulticastTimeToLive = 10"/>
					<MemberSignature Language="C#" Value="MulticastTimeToLive = 10;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>MulticastTimeToLive</MemberValue>
					<Docs>
						<summary>
							<para> IP multicast time to live.
 </para>
							<para>The value associated with this option is a <see cref="T:System.Int32" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NoChecksum">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName NoChecksum = 1"/>
					<MemberSignature Language="C#" Value="NoChecksum = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Debug</MemberValue>
					<Docs>
						<summary>
							<para>Send UDP datagrams with checksum set to zero.</para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Udp"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="NoDelay">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName NoDelay = 1"/>
					<MemberSignature Language="C#" Value="NoDelay = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Debug</MemberValue>
					<Docs>
						<summary>
							<para> Disable the Nagle algorithm for send coalescing.
 </para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data 
 type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Tcp"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="OutOfBandInline">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName OutOfBandInline = 256"/>
					<MemberSignature Language="C#" Value="OutOfBandInline = 256;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>OutOfBandInline</MemberValue>
					<Docs>
						<summary>
							<para> Receive out-of-band data in the normal data stream.
 </para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data 
 type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="PacketInformation">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName PacketInformation = 19"/>
					<MemberSignature Language="C#" Value="PacketInformation = 19;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>PacketInformation</MemberValue>
					<Docs>
						<summary>
							<para>Return information about received packets.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReceiveBuffer">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName ReceiveBuffer = 4098"/>
					<MemberSignature Language="C#" Value="ReceiveBuffer = 4098;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ReceiveBuffer</MemberValue>
					<Docs>
						<summary>
							<para>Specifies the total per-socket buffer space reserved for
 receives. This is unrelated to the maximum message size or the size of a TCP window. </para>
							<para>The value associated with this option is a <see cref="T:System.Int32" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReceiveLowWater">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName ReceiveLowWater = 4100"/>
					<MemberSignature Language="C#" Value="ReceiveLowWater = 4100;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ReceiveLowWater</MemberValue>
					<Docs>
						<summary>
							<para> Receive low water mark.
 </para>
							<para>The value associated with this option is a <see cref="T:System.Int32" qualify="true"/> data type.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReceiveTimeout">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName ReceiveTimeout = 4102"/>
					<MemberSignature Language="C#" Value="ReceiveTimeout = 4102;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ReceiveTimeout</MemberValue>
					<Docs>
						<summary>
							<para> Specifies the 
      maximum time, in milliseconds, the <see cref="M:System.Net.Sockets.Socket.Receive(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> and <see cref="M:System.Net.Sockets.Socket.ReceiveFrom(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint@)"/> methods will block when attempting to
      receive data. If data is not received within this time, a <see cref="T:System.Net.Sockets.SocketException"/> exception is thrown.
      </para>
							<para>The value associated with this option is a <see cref="T:System.Int32" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ReuseAddress">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName ReuseAddress = 4"/>
					<MemberSignature Language="C#" Value="ReuseAddress = 4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>ReuseAddress</MemberValue>
					<Docs>
						<summary>
							<para> Allow the socket to be bound to an address that is already in use.
 </para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data 
 type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SendBuffer">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName SendBuffer = 4097"/>
					<MemberSignature Language="C#" Value="SendBuffer = 4097;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>SendBuffer</MemberValue>
					<Docs>
						<summary>
							<para> Specifies the total per-socket buffer space reserved for sends. This is
 unrelated to the maximum message size or the size of a TCP window.
 </para>
							<para>The value associated with this option is a <see cref="T:System.Int32" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SendLowWater">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName SendLowWater = 4099"/>
					<MemberSignature Language="C#" Value="SendLowWater = 4099;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>SendLowWater</MemberValue>
					<Docs>
						<summary>
							<para> Send low water mark.
 </para>
							<para>The value associated with this option is a <see cref="T:System.Int32" qualify="true"/> data type.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="SendTimeout">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName SendTimeout = 4101"/>
					<MemberSignature Language="C#" Value="SendTimeout = 4101;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>SendTimeout</MemberValue>
					<Docs>
						<summary>
							<para> Specifies the 
      maximum time, in milliseconds, the <see cref="M:System.Net.Sockets.Socket.Send(System.Byte[],System.Int32,System.Net.Sockets.SocketFlags)"/> and <see cref="M:System.Net.Sockets.Socket.SendTo(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.Net.EndPoint)"/> methods will block when attempting to
      send data. If data is not sent within this time, a <see cref="T:System.Net.Sockets.SocketException"/> exception is thrown.
      </para>
							<para>The value associated with this option is a <see cref="T:System.Int32" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> member of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Type">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName Type = 4104"/>
					<MemberSignature Language="C#" Value="Type = 4104;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Type</MemberValue>
					<Docs>
						<summary>
							<para> Get the socket type, one of the members of 
      the <see cref="T:System.Net.Sockets.SocketType" qualify="true"/> enumeration.
      </para>
							<para>The value associated with this option is a <see cref="T:System.Int32" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.Socket"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="TypeOfService">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName TypeOfService = 3"/>
					<MemberSignature Language="C#" Value="TypeOfService = 3;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>TypeOfService</MemberValue>
					<Docs>
						<summary>
							<para>Change the IP header type of service field.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="UnblockSource">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName UnblockSource = 18"/>
					<MemberSignature Language="C#" Value="UnblockSource = 18;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>UnblockSource</MemberValue>
					<Docs>
						<summary>
							<para>Unblock a previously blocked source.</para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="UseLoopback">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketOptionName UseLoopback = 64"/>
					<MemberSignature Language="C#" Value="UseLoopback = 64;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketOptionName</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>UseLoopback</MemberValue>
					<Docs>
						<summary>
							<para> Bypass hardware when possible.
      </para>
							<para>The value associated with this option is a <see cref="T:System.Boolean" qualify="true"/> data type.</para>
							<para>The <see cref="F:System.Net.Sockets.SocketOptionLevel.IP"/> value of the <see cref="T:System.Net.Sockets.SocketOptionLevel"/> enumeration applies to this option.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SocketPermission" FullName="System.Net.SocketPermission" FullNameSP="System_Net_SocketPermission">
			<TypeSignature Language="ILASM" Value=".class public serializable SocketPermission extends System.Security.CodeAccessPermission"/>
			<TypeSignature Language="C#" Value="public class SocketPermission : CodeAccessPermission"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Secures socket connections.
      </para>
				</summary>
				<remarks>
					<para>
						<see cref="T:System.Net.SocketPermission"/> instances control permission to accept connections
   or initiate socket connections. A socket permission can secure access based
   on host name or IP address, a port number, and a transport
   protocol. </para>
					<para>The XML encoding of a <see cref="T:System.Net.SocketPermission"/> instance is defined below in EBNF format,
   in particular the following conventions are used: </para>
					<list type="bullet">
						<item>
							<term>
								<para> All non-literals in the grammar below are shown in normal type.</para>
							</term>
						</item>
						<item>
							<term>
								<para> All literals are in bold font. </para>
							</term>
						</item>
					</list>
					<para> The following meta-language symbols are used: </para>
					<list type="bullet">
						<item>
							<term>
         
         '*' represents a meta-language symbol suffixing an
         expression that can appear zero or more times.</term>
						</item>
						<item>
							<term>
         
         '?' represents a meta-language symbol suffixing an
         expression that can appear zero or one time.</term>
						</item>
						<item>
							<term>
         
         '+' represents a meta-language symbol suffixing an
         expression that can appear one or more times.</term>
						</item>
						<item>
							<term>
         
         '(',')' is used to group literals, non-literals or a
         mixture of literals and non-literals.</term>
						</item>
						<item>
							<term>
         
         '|' denotes an exclusive disjunction between two
         expressions.</term>
						</item>
						<item>
							<term>
         
         '::= ' denotes a production rule where a left hand
         non-literal is replaced by a right hand expression containing literals,
         non-literals or both.</term>
						</item>
					</list>
					<para> BuildVersion refers to the build version of the shipping CLI. This is
   a dotted build number such as '2412.0'.</para>
					<para>ECMAPubKeyToken ::= <see langword="b77a5c561934e089"/>
					</para>
					<para>HostName refers to a host name such as <c>www.contoso.com</c> . </para>
					<para>Portnumber denotes a <see cref="T:System.Int32"/> value indicating a port. </para>
					<para>TransportProtocol ::= <see langword="1"/> | <see langword="2"/> | <see langword="3 "/>/*1= UDP , 2 = TCP, 3 = both */ </para>
					<para>SocketPermissionXML::=
   </para>
					<para>
						<c>
							<see langword="&lt;IPermission class=&quot;"/>
						</c>
					</para>
					<para>
						<c>
							<see langword="System.Net.SocketPermission,"/>
						</c>
					</para>
					<para>
						<c>
							<see langword="System, "/>
						</c>
					</para>
					<para>
						<c>
							<see langword="Version=1.0."/>BuildVersion<see langword=", "/>
						</c>
					</para>
					<para>
						<c>
							<see langword="Culture=neutral,"/>
						</c>
					</para>
					<para>
						<c>
							<see langword="PublicKeyToken"/>=ECMAPubKeyToken<see langword="&quot;"/>
						</c>
					</para>
					<para>
						<c>
							<see langword="version=&quot;1&quot; "/>
						</c>
					</para>
					<para>
						<c>( </c>
					</para>
					<para>
						<c>
							<see langword="Unrestricted=&quot;true&quot;"/>
						</c>
					</para>
					<para>
						<c>) </c>
					</para>
					<para>
						<c>| </c>
					</para>
					<para>
						<c>&gt; </c>
					</para>
					<para>
						<c>(<see langword="&lt;ConnectAccess&gt;"/>
						</c>
					</para>
					<c>
						<para>(</para>
						<para>
							<see langword="&lt;ENDPOINT&gt;"/>HostName<see langword="#"/>PortNumber<see langword="#"/>TransportProtocol<see langword="&lt;/ENDPOINT&gt;"/>
						</para>
						<para>)+</para>
						<para>
							<see langword="&lt;/ConnectAccess&gt;"/>
						</para>
						<para>)</para>
						<para>|</para>
						<para>
							<see langword="&gt;"/>
						</para>
						<para>(<see langword="&lt;AcceptAccess&gt;"/>
						</para>
						<para>(</para>
						<para>
							<see langword="&lt;ENDPOINT&gt;"/>HostName<see langword="#"/>PortNumber<see langword="#"/>TransportProtocol<see langword="&lt;/ENDPOINT&gt;"/>
						</para>
						<para>)+</para>
						<para>
							<see langword="&lt;/AcceptAccess&gt;"/>
						</para>
						<para>
							<see langword="&lt;/IPermission&gt;"/>
						</para>
						<para>)</para>
						<para>|</para>
						<para>
							<see langword="/&gt;"/>
						</para>
						<para>
							<see langword=""/>
						</para>
					</c>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Security.CodeAccessPermission</BaseTypeName>
			</Base>
			<Interfaces>
				<Interface>
					<InterfaceName>System.Security.IPermission</InterfaceName>
					<Excluded>0</Excluded>
				</Interface>
			</Interfaces>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.PermissionState state)"/>
					<MemberSignature Language="C#" Value="public SocketPermission(PermissionState state);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="state" Type="System.Security.Permissions.PermissionState"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.SocketPermission"/> class with the specified
<see cref="T:System.Security.Permissions.PermissionState"/> value.</para>
						</summary>
						<param name="state">A <see cref="T:System.Security.Permissions.PermissionState"/> value.</param>
						<remarks>
							<block subset="none" type="note">
								<para>This constructor creates either fully restricted (<see cref="F:System.Security.Permissions.PermissionState.None"/>) 
      or <see cref="F:System.Security.Permissions.PermissionState.Unrestricted"/> access to
      sockets.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Net.NetworkAccess access, valuetype System.Net.TransportType transport, string hostName, int32 portNumber)"/>
					<MemberSignature Language="C#" Value="public SocketPermission(NetworkAccess access, TransportType transport, string hostName, int portNumber);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="access" Type="System.Net.NetworkAccess"/>
						<Parameter Name="transport" Type="System.Net.TransportType"/>
						<Parameter Name="hostName" Type="System.String"/>
						<Parameter Name="portNumber" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.SocketPermission"/> class.</para>
						</summary>
						<param name="access">A <see cref="T:System.Net.NetworkAccess"/> value indicating the type of access to secure.</param>
						<param name="transport">A <see cref="T:System.Net.TransportType"/> value indicating the transport type to secure. Specify <see cref="F:System.Net.TransportType.All"/> to create a permission that secures all transport types.</param>
						<param name="hostName">A <see cref="T:System.String"/> containing the host name for the transport address.</param>
						<param name="portNumber">A <see cref="T:System.Int32"/> containing the port number for the transport address. Specify <see cref="F:System.Net.SocketPermission.AllPorts"/> create a permission that secures all ports.</param>
						<exception cref="T:System.ArgumentNullException">The <paramref name="hostName"/> parameter is <see langword="null"/>.</exception>
						<remarks>
							<para>No exception is thrown if the specified <see cref="T:System.Net.TransportType"/> or
<see cref="T:System.Net.NetworkAccess"/> is
   invalid.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AllPorts">
					<MemberSignature Language="ILASM" Value=".field public static literal int32 AllPorts = -1"/>
					<MemberSignature Language="C#" Value="public const int AllPorts = -1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Defines a constant value that represents all ports.
 </para>
 This field is read-only. The value of this field is -1.
</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Copy">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Copy()"/>
					<MemberSignature Language="C#" Value="public override IPermission Copy();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a new <see cref="T:System.Net.SocketPermission"/> object containing the same values as the
 current instance.
 </para>
						</summary>
						<returns>
							<para>A new <see cref="T:System.Net.SocketPermission"/> containing the same values as the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para> The
 object returned by this method represents the same level of access as the
 current instance.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Copy"/> and is implemented to
 support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FromXml">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual void FromXml(class System.Security.SecurityElement securityElement)"/>
					<MemberSignature Language="C#" Value="public override void FromXml(SecurityElement securityElement);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="securityElement" Type="System.Security.SecurityElement"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Reconstructs the state of a <see cref="T:System.Net.SocketPermission"/> object using the specified XML encoding.</para>
						</summary>
						<param name="securityElement">A <see cref="T:System.Security.SecurityElement"/> instance containing the XML encoding used to reconstruct the state of a <see cref="T:System.Net.SocketPermission"/> object.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="securityElement "/>is <see langword="null"/>.</para>
						</exception>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="securityElement "/>is not a <see cref="T:System.Net.SocketPermission"/> permission element.</para>
						</exception>
						<remarks>
							<para>The state of the current instance is changed to the state
      encoded in <paramref name="securityElement"/>.</para>
							<block subset="none" type="note">
								<para>For the XML schema for this class, see the
      <see cref="T:System.Net.SocketPermission"/> class
         page.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.FromXml(System.Security.SecurityElement)"/>.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Intersect">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Intersect(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public override IPermission Intersect(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Net.SocketPermission"/> object that is the intersection of the current
   instance and the specified object.</para>
						</summary>
						<param name="target">A <see cref="T:System.Net.SocketPermission"/> instance to intersect with the current instance.</param>
						<returns>
							<para>A new <see cref="T:System.Net.SocketPermission"/> instance that represents the intersection of the
   current instance and <paramref name="target"/>. If target is
<see langword="null"/>, returns <see langword="null"/>. If the intersection is
   empty, returns <see langword="null"/>. If the
   current instance is unrestricted, returns a copy of <paramref name="target"/>. If
<paramref name="target"/> is unrestricted, returns a copy of the current instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target"/> is not of type <see cref="T:System.Net.SocketPermission"/> .</exception>
						<remarks>
							<block subset="none" type="note">
								<para>The intersection of two permissions is a permission that secures the
         resources and operations secured by both permissions. Specifically, it
         represents the minimum permission such that any demand that passes both
         permissions will also pass their intersection.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Intersect(System.Security.IPermission)"/> and is implemented to
      support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsSubsetOf">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual bool IsSubsetOf(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public override bool IsSubsetOf(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Determines whether the current instance is a subset of the specified
      object.</para>
						</summary>
						<param name="target">A <see cref="T:System.Net.SocketPermission"/> instance that is to be tested for the subset relationship.</param>
						<returns>
							<para>
								<see langword="true"/> if the current instance is a subset of <paramref name="target"/> ;
   otherwise,<see langword=" false"/>. If the current instance is unrestricted, and
<paramref name="target"/> is not, returns <see langword="false"/>. If <paramref name="target"/> is 
   unrestricted, returns <see langword="true"/>. If <paramref name="target"/> is
<see langword="null"/> 
and the current instance does not secure any resources and is not unrestricted, returns <see langword="true"/>.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<para>
								<paramref name="target "/>is not <see langword="null"/> and is not of type <see cref="T:System.Net.SocketPermission"/>.</para>
						</exception>
						<remarks>
							<para>The subset relationship is <see langword="true"/> if every resource secured by the current
   instance is secured by <paramref name="target"/>
   .</para>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.IsSubsetOf(System.Security.IPermission)"/> and is implemented to
   support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ToXml">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.SecurityElement ToXml()"/>
					<MemberSignature Language="C#" Value="public override SecurityElement ToXml();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.SecurityElement</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Returns the XML encoding of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Security.SecurityElement"/> containing the XML encoding of the state of the current instance.</para>
						</returns>
						<remarks>
							<block subset="none" type="note">
								<para>For the XML schema for this class, see the <see cref="T:System.Net.SocketPermission"/> class
 page.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.ToXml"/> .</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Union">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission Union(class System.Security.IPermission target)"/>
					<MemberSignature Language="C#" Value="public override IPermission Union(IPermission target);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="target" Type="System.Security.IPermission"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Net.SocketPermission"/> that is the union of the current instance and the
 specified object.</para>
						</summary>
						<param name="target">A <see cref="T:System.Net.SocketPermission"/> instance to combine with the current instance.</param>
						<returns>
							<para>A <see cref="T:System.Net.SocketPermission"/> instance that represents the union of the current
 instance and <paramref name="target"/>. If the current instance or <paramref name="target "/>is
 unrestricted, returns a <see cref="T:System.Net.SocketPermission"/> instance that is unrestricted.</para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="target"/> is not of type <see cref="T:System.Net.SocketPermission"/> .</exception>
						<remarks>
							<block subset="none" type="note">
								<para>The result of a call to <see cref="M:System.Net.SocketPermission.Union(System.Security.IPermission)"/> is a permission
 that represents all of the access to socket connections represented by
 the current instance as well as the access represented by <paramref name="target"/>. Any
 demand that passes either the current instance or <paramref name="target "/>passes their
 union.</para>
								<para>This method overrides <see cref="M:System.Security.CodeAccessPermission.Union(System.Security.IPermission)"/> and is implemented to
 support the <see cref="T:System.Security.IPermission"/> interface.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SocketPermissionAttribute" FullName="System.Net.SocketPermissionAttribute" FullNameSP="System_Net_SocketPermissionAttribute">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable SocketPermissionAttribute extends System.Security.Permissions.CodeAccessSecurityAttribute"/>
			<TypeSignature Language="C#" Value="public sealed class SocketPermissionAttribute : CodeAccessSecurityAttribute"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para>Used to declaratively specify security actions to control socket connections.</para>
				</summary>
				<remarks>
					<para>The properties of a <see cref="T:System.Net.SocketPermissionAttribute"/> are required to have non-null
   values. Once set, the values of the properties cannot be changed.</para>
					<block subset="none" type="note">
						<para>The details of a socket connection are specified using the properties of the
      current instance. For example, to secure a socket connection to port 80, set the
   <see cref="P:System.Net.SocketPermissionAttribute.Port"/> property equal to
      "80".</para>
						<para>The security information declared by a security attribute is stored in the
      metadata of the attribute target, and is accessed by the system at run-time.
      Security attributes are used for declarative security only. For imperative
      security, use the corresponding permission class, <see cref="T:System.Net.SocketPermission"/>
      .</para>
						<para>The allowable <see cref="T:System.Net.SocketPermissionAttribute"/> targets are
   determined by the <see cref="T:System.Security.Permissions.SecurityAction"/> passed to the constructor.</para>
					</block>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Security.Permissions.CodeAccessSecurityAttribute</BaseTypeName>
			</Base>
			<Interfaces/>
			<Attributes>
				<Attribute>
					<AttributeName>AttributeUsageAttribute(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method, AllowMultiple=true, Inherited=false)</AttributeName>
					<Excluded>0</Excluded>
				</Attribute>
			</Attributes>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(valuetype System.Security.Permissions.SecurityAction action)"/>
					<MemberSignature Language="C#" Value="public SocketPermissionAttribute(SecurityAction action);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="action" Type="System.Security.Permissions.SecurityAction"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Net.SocketPermissionAttribute"/> class with the specified <see cref="T:System.Security.Permissions.SecurityAction"/> value.</para>
						</summary>
						<param name="action">A <see cref="T:System.Security.Permissions.SecurityAction"/> value.</param>
						<permission cref="T:System.ArgumentException">
							<paramref name="action "/> is not a valid <see cref="T:System.Security.Permissions.SecurityAction"/> value.</permission>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Access">
					<MemberSignature Language="ILASM" Value=".property string Access { public hidebysig specialname instance string get_Access() public hidebysig specialname instance void set_Access(string value) }"/>
					<MemberSignature Language="C#" Value="public string Access { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the network access method specified by the
      current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing a
   network access method allowed by the current instance. Valid values are
   "Accept" and "Connect".</para>
						</value>
						<exception cref="T:System.ArgumentException">
							<see cref="P:System.Net.SocketPermissionAttribute.Access"/> is being set and is not <see langword="null"/> .</exception>
						<remarks>
							<para>This property is write-once. Once this property has been 
      set to a non-null value, attempts to set this
      property to new value cause a <see cref="T:System.ArgumentException"/> .</para>
   Valid values for this property correspond to <see cref="T:System.Net.NetworkAccess"/> enumeration values.
</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CreatePermission">
					<MemberSignature Language="ILASM" Value=".method public hidebysig virtual class System.Security.IPermission CreatePermission()"/>
					<MemberSignature Language="C#" Value="public override IPermission CreatePermission();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Security.IPermission</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Returns a
 <see cref="T:System.Net.SocketPermission"/> that
 contains the security information of the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Net.SocketPermission"/>
object with the security information of the current
instance.</para>
						</returns>
						<exception cref="T:System.ArgumentException">One or more of the current instance's <see cref="P:System.Net.SocketPermissionAttribute.Access"/>, <see cref="P:System.Net.SocketPermissionAttribute.Host"/>, <see cref="P:System.Net.SocketPermissionAttribute.Transport"/> or <see cref="P:System.Net.SocketPermissionAttribute.Port"/> properties is <see langword="null"/>.</exception>
						<remarks>
							<block subset="none" type="note">
								<para>This method overrides <see cref="M:System.Security.Permissions.SecurityAttribute.CreatePermission"/>.</para>
								<para>Applications typically do not call this method; it is intended for use by the
 system.</para>
								<para>The security information described by a security attribute is stored in the
 metadata of the attribute target, and is accessed by the system at run-time. The
 system uses the object returned by this method to convert the security
 information of the current instance into the form stored in metadata.</para>
							</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Host">
					<MemberSignature Language="ILASM" Value=".property string Host { public hidebysig specialname instance string get_Host() public hidebysig specialname instance void set_Host(string value) }"/>
					<MemberSignature Language="C#" Value="public string Host { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the DNS host name or IP address specified
      by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing a DNS host name or
   IP address.</para>
						</value>
						<exception cref="T:System.ArgumentException">
							<see cref="P:System.Net.SocketPermissionAttribute.Host"/> is being set and is not <see langword="null"/>.</exception>
						<remarks>
							<para> This property is write-once. Once this property has been
      set to a non-null value, attempts to set this property to new value cause a
   <see cref="T:System.ArgumentException"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Port">
					<MemberSignature Language="ILASM" Value=".property string Port { public hidebysig specialname instance string get_Port() public hidebysig specialname instance void set_Port(string value) }"/>
					<MemberSignature Language="C#" Value="public string Port { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the port specified by the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing a port number, or "All" or
   -1 to indicate all
   ports.</para>
						</value>
						<exception cref="T:System.ArgumentException">
							<see cref="P:System.Net.SocketPermissionAttribute.Port"/> is being set and is not <see langword="null"/>.</exception>
						<remarks>
							<para>This property is write-once. Once this property has been 
      set to a non-null value, attempts to set this property to new value cause a
   <see cref="T:System.ArgumentException"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Transport">
					<MemberSignature Language="ILASM" Value=".property string Transport { public hidebysig specialname instance string get_Transport() public hidebysig specialname instance void set_Transport(string value) }"/>
					<MemberSignature Language="C#" Value="public string Transport { get; set; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets or sets the transport type specified by the current
      instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the
   transport type associated with the current
   instance. Valid values are "All", "Connectionless", "ConnectionOriented", "Tcp", and
   "Udp".</para>
						</value>
						<exception cref="T:System.ArgumentException">
							<see cref="P:System.Net.SocketPermissionAttribute.Transport"/> is being set and is not <see langword="null"/>.</exception>
						<remarks>
							<para>This property is write-once. Once this property has been 
      set to a non-null value, attempts to set this property to new value cause a
   <see cref="T:System.ArgumentException"/> .</para>
							<block subset="none" type="note">Valid values for this property correspond to <see cref="T:System.Net.TransportType"/> enumeration values.</block>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SocketShutdown" FullName="System.Net.Sockets.SocketShutdown" FullNameSP="System_Net_Sockets_SocketShutdown">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable SocketShutdown extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum SocketShutdown"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para>Specifies whether the ability to send or receive data is terminated when the <see cref="M:System.Net.Sockets.Socket.Shutdown(System.Net.Sockets.SocketShutdown)"/>
method is called on a connected <see cref="T:System.Net.Sockets.Socket"/> instance.</para>
				</summary>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Both">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketShutdown Both = 2"/>
					<MemberSignature Language="C#" Value="Both = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketShutdown</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Both</MemberValue>
					<Docs>
						<summary>
							<para> Specifies to terminate the ability to send and receive data 
 on a <see cref="T:System.Net.Sockets.Socket"/> instance.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Receive">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketShutdown Receive = 0"/>
					<MemberSignature Language="C#" Value="Receive = 0;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketShutdown</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Receive</MemberValue>
					<Docs>
						<summary>
							<para> Specifies to terminate the ability to receive data on a 
 <see cref="T:System.Net.Sockets.Socket"/> 
 instance.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Send">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketShutdown Send = 1"/>
					<MemberSignature Language="C#" Value="Send = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketShutdown</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Send</MemberValue>
					<Docs>
						<summary>
							<para>Specifies to terminate the ability to send data from a 
 <see cref="T:System.Net.Sockets.Socket"/> 
 instance.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="SocketType" FullName="System.Net.Sockets.SocketType" FullNameSP="System_Net_Sockets_SocketType">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable SocketType extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum SocketType"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Specifies the type of socket an instance of the <see cref="T:System.Net.Sockets.Socket"/> class represents.
   </para>
				</summary>
				<remarks>
					<para>A <see cref="T:System.Net.Sockets.SocketType"/> member 
   is required
   when constructing instances of the <see cref="T:System.Net.Sockets.Socket"/>
   class and specifies the functionality the instance supports. </para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="Dgram">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketType Dgram = 2"/>
					<MemberSignature Language="C#" Value="Dgram = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Dgram</MemberValue>
					<Docs>
						<summary>
							<para> Supports datagrams, which are connectionless, unreliable
      messages of a fixed (typically small) maximum length. Uses the User Datagram
      Protocol (<see cref="F:System.Net.Sockets.ProtocolType.Udp"/> ) protocol
      and the <see cref="F:System.Net.Sockets.AddressFamily.InterNetwork"/> address family.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Raw">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketType Raw = 3"/>
					<MemberSignature Language="C#" Value="Raw = 3;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Raw</MemberValue>
					<Docs>
						<summary>
							<para> Supports access to the underlying
      transport protocol. Can communicate through protocols other than <see cref="F:System.Net.Sockets.ProtocolType.Tcp"/> and <see cref="F:System.Net.Sockets.ProtocolType.Udp"/>,
      such as Internet Control Message Protocol (<see cref="F:System.Net.Sockets.ProtocolType.Icmp"/>) and Internet Group Management
      Protocol (<see cref="F:System.Net.Sockets.ProtocolType.Igmp"/>).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Rdm">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketType Rdm = 4"/>
					<MemberSignature Language="C#" Value="Rdm = 4;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Rdm</MemberValue>
					<Docs>
						<summary>
							<para>Supports message-oriented, reliably delivered messages, and preserves message 
      boundaries in data. </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Seqpacket">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketType Seqpacket = 5"/>
					<MemberSignature Language="C#" Value="Seqpacket = 5;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Seqpacket</MemberValue>
					<Docs>
						<summary>
							<para> Supports message-oriented, sequenced packets.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Stream">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketType Stream = 1"/>
					<MemberSignature Language="C#" Value="Stream = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Stream</MemberValue>
					<Docs>
						<summary>
							<para> Supports reliable, two-way, connection-based byte
      streams with an out-of-band (OOB) data transmission mechanism. Uses the Transmission
      Control Protocol (<see cref="F:System.Net.Sockets.ProtocolType.Tcp" qualify="true"/>) protocol and the <see cref="F:System.Net.Sockets.AddressFamily.InterNetwork" qualify="true"/> address family.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Unknown">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.Sockets.SocketType Unknown = -1"/>
					<MemberSignature Language="C#" Value="Unknown = -1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.Sockets.SocketType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Unknown</MemberValue>
					<Docs>
						<summary>
							<para> Unknown socket type.</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="TransportType" FullName="System.Net.TransportType" FullNameSP="System_Net_TransportType">
			<TypeSignature Language="ILASM" Value=".class public sealed serializable TransportType extends System.Enum"/>
			<TypeSignature Language="C#" Value="public enum TransportType"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<Docs>
				<summary>
					<para> Specifies transport types.
      </para>
				</summary>
				<remarks>
					<para>
						<block subset="none" type="note">The <see cref="T:System.Net.TransportType"/> enumeration defines transport types
   for the <see cref="T:System.Net.SocketPermission"/> and <see cref="T:System.Net.Sockets.Socket"/> classes.</block>
					</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.Enum</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName="All">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.TransportType All = 3"/>
					<MemberSignature Language="C#" Value="All = 3;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.TransportType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>All</MemberValue>
					<Docs>
						<summary>
							<para> Specifies any transport type.
 </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Connectionless">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.TransportType Connectionless = 1"/>
					<MemberSignature Language="C#" Value="Connectionless = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.TransportType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Udp</MemberValue>
					<Docs>
						<summary>
							<para> Specifies any connectionless transport, such as User Datagram Protocol (UDP).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="ConnectionOriented">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.TransportType ConnectionOriented = 2"/>
					<MemberSignature Language="C#" Value="ConnectionOriented = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.TransportType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Tcp</MemberValue>
					<Docs>
						<summary>
							<para> Specifies any connection-oriented transport, such as Transmission Control Protocol (TCP).</para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Tcp">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.TransportType Tcp = 2"/>
					<MemberSignature Language="C#" Value="Tcp = 2;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.TransportType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Tcp</MemberValue>
					<Docs>
						<summary>
							<para> Specifies the Transmission Control Protocol (TCP) transport as defined by IETF RFC 793.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Udp">
					<MemberSignature Language="ILASM" Value=".field public static literal valuetype System.Net.TransportType Udp = 1"/>
					<MemberSignature Language="C#" Value="Udp = 1;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Net.TransportType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<MemberValue>Udp</MemberValue>
					<Docs>
						<summary>
							<para> Specifies the User Datagram Protocol (UDP) transport as defined by IETF RFC 768.
      </para>
						</summary>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="value__">
					<MemberSignature Language="ILASM" Value=".field public rtspecialname specialname int32 value__"/>
					<MemberSignature Language="C#" Value="value__;"/>
					<MemberType>Field</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs/>
					<Excluded>0</Excluded>
				</Member>
			</Members>
			<TypeExcluded>0</TypeExcluded>
		</Type>
		<Type Name="Uri" FullName="System.Uri" FullNameSP="System_Uri">
			<TypeSignature Language="ILASM" Value=".class public serializable Uri extends System.MarshalByRefObject"/>
			<TypeSignature Language="C#" Value="public class Uri : MarshalByRefObject"/>
			<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>
				<AssemblyCulture>none</AssemblyCulture>
				<Attributes>
					<Attribute>
						<AttributeName>CLSCompliantAttribute(true)</AttributeName>
						<Excluded>0</Excluded>
					</Attribute>
				</Attributes>
			</AssemblyInfo>
			<ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement>
			<Docs>
				<summary>
					<para> Provides an object representation of a uniform resource identifier
      (URI) as defined by IETF RFC 2396.</para>
				</summary>
				<remarks>
					<block subset="none" type="note">
						<para> A Uniform Resource Identifier (URI) is a compact
         string of
         characters used to identify a resource located on a computer. A resource can be anything that
         has identity. Examples of resources that may be accessed using a
         URI include an electronic document, an image, a web service, and a collection
         of other resources. A URI is represented as a sequence of characters.
         While the exact format of a URI is determined by the protocol
         used to access the resource, many URI consist of four major
         components:</para>
						<para> &lt;<paramref name="scheme"/>&gt;://&lt;<paramref name="authority"/>&gt;&lt;<paramref name="path"/>&gt;?&lt;<paramref name="query"/>&gt;</para>
						<para>
							<paramref name="Scheme"/> - Indicates a protocol used to access the
   resource.</para>
						<para>
							<paramref name="Authority"/> - Indicates the
naming authority (server or registry) that governs the namespace defined by the
remainder of the URI. The authority component is composed of <paramref name="userinfo"/>,
<paramref name="host"/> and <paramref name="port"/> subcomponents in the form 
&lt;<paramref name="userinfo"/>&gt;@&lt;<paramref name="host"/>&gt;:&lt;<paramref name="port"/>&gt;. Only
the <paramref name="host"/> subcomponent is required to be present in the
<paramref name="Authority"/> component. Authority information is stored in the <see cref="P:System.Uri.Authority"/>
property.</para>
						<para>
							<paramref name="Path"/> - Identifies the
resource within the scope of the scheme and, if present, the authority. This
information is stored in the <see cref="P:System.Uri.AbsolutePath"/> , <see cref="P:System.Uri.PathAndQuery"/>, and <see cref="P:System.Uri.LocalPath"/>
properties.</para>
						<para>
							<paramref name="Query"/> - Parameter
information that is passed to the executable script identified
by the URI. The query, if present, is the last element in a URI and begins
with a "?". This information is stored in the <see cref="P:System.Uri.Query"/>
property.</para>
						<para>
							<paramref name="Userinfo -"/> [Subcomponent of <paramref name="Authority"/>] Consists of a user name and, optionally,
scheme-specific authorization information used to access <paramref name="Host"/>
. The <paramref name="userinfo"/>,
if present, is separated from the <paramref name="Host"/> component by the "@" character.
Note that for some URI schemes, the format of the <paramref name="userinfo"/> subcomponent
is "username:password". Passing authorization information in this manner is
strongly discouraged due to security issues. The
<paramref name="userinfo"/> information is stored in the <see cref="P:System.Uri.UserInfo"/> 
property.</para>
						<para>
							<paramref name="Host"/> - [Subcomponent of
<paramref name="Authority"/>] The Domain Name system (DNS) name or IP4 address of a machine that provides
access to the resource. This information is stored in the <see cref="P:System.Uri.Host"/> property.</para>
						<para>
							<paramref name="Port"/> - [Subcomponent of
<paramref name="Authority"/> ] The network port number used to connect
to the host. If no port number is specified in the URI, most schemes designate
protocols that have a default port number. This information is stored
in the <see cref="P:System.Uri.Port"/>
property.</para>
						<para>
							<paramref name="Fragment"/> - The fragment is
not part of the URI, but is used in conjunction with the URI and is included here for completeness. This component contains resource-specific information that
is used after a resource is retrieved. The <paramref name="fragment"/>
, if present, is separated from the
URI by the "#" character. This information is stored in the <see cref="P:System.Uri.Fragment"/>
property.</para>
						<para> URIs include components consisting of or delimited by
   certain special (reserved) characters that have a special meaning in a URI
   component. If the reserved meaning is not intended, then the character is
   required to be escaped in the URI. An escaped character is encoded as a
   character triplet consisting of the percent character "%" followed by the
   US-ASCII character code specified as two hexadecimal digits. For example, "%20"
   is the escaped encoding for the US-ASCII space character. The URI represented by
   a <see cref="T:System.Uri"/>
   
   instance is always
   in "escaped" form. The following characters are reserved:</para>
						<list type="bullet">
							<item>
								<term>
									<para>Semi-colon (";" )</para>
								</term>
							</item>
							<item>
								<term>
									<para>Forward slash ( "/")</para>
								</term>
							</item>
							<item>
								<term>
									<para>Question mark ( "?" )</para>
								</term>
							</item>
							<item>
								<term>
									<para>Colon ( ":" )</para>
								</term>
							</item>
							<item>
								<term>
									<para>At-sign ("@") </para>
								</term>
							</item>
							<item>
								<term>
									<para>Ampersand ( "&amp;" )</para>
								</term>
							</item>
							<item>
								<term>
									<para>Equal sign ("=" )</para>
								</term>
							</item>
							<item>
								<term>
									<para>Plus sign ("+" )</para>
								</term>
							</item>
							<item>
								<term>
									<para>US Dollar sign ("$" )</para>
								</term>
							</item>
							<item>
								<term>
									<para>Comma (",")</para>
								</term>
							</item>
						</list>
						<para>To transform the URI contained in a <see cref="T:System.Uri"/> instance from an
                           escape encoded URI to a human-readable URI, use the <see cref="M:System.Uri.ToString"/> method.</para>
					</block>
					<para/>
					<para>URIs are stored as canonical URIs in escaped encoding,
                        with all characters with ASCII values greater than 127 replaced with their
                        hexadecimal equivalents. The <see cref="T:System.Uri"/> constructors do not escape URI strings
                        if the string is a well-formed URI, including a scheme identifier, that
                        contains escape sequences. To put the URI in canonical form, the <see cref="T:System.Uri"/>
                        
                        constructors perform
                        the following steps.</para>
					<list type="bullet">
						<item>
							<term>
                           
                           Converts the URI scheme to lower case.</term>
						</item>
						<item>
							<term>
                           
                           Converts the host name to lower case.</term>
						</item>
						<item>
							<term>
                           
                           Removes default and empty port numbers.</term>
						</item>
						<item>
							<term>
                           
                           Simplifies the URI by removing superfluous segments such as "/" and
                           "/test" segments.</term>
						</item>
					</list>
					<para>The <see cref="T:System.Uri"/>
               class stores only absolute URIs (for example, "http://www.contoso.com/index.htm"). Relative URIs (for example, "/new/index.htm") are
               expanded to absolute form using a specified base URI. The <see cref="M:System.Uri.MakeRelative(System.Uri)"/>
               method converts absolute URIs to relative URIs.</para>
					<para> The <see cref="T:System.Uri"/> class properties
            are read-only; to modify a <see cref="T:System.Uri"/> instance use the <see cref="T:System.UriBuilder"/> class.</para>
				</remarks>
			</Docs>
			<Base>
				<BaseTypeName>System.MarshalByRefObject</BaseTypeName>
			</Base>
			<Interfaces/>
			<Members>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string uriString)"/>
					<MemberSignature Language="C#" Value="public Uri(string uriString);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="uriString" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Uri"/> class
   by parsing the specified
   URI.</para>
						</summary>
						<param name="uriString">A <see cref="T:System.String"/> containing a URI.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="uriString "/> is <see langword="null"/> .</para>
						</exception>
						<exception cref="T:System.UriFormatException">
							<para>
								<paramref name="uriString"/> is a zero length string or contains only spaces.</para>
							<para>
								<paramref name="uriString "/>is in an invalid form and cannot be parsed.</para>
						</exception>
						<remarks>
							<para>This constructor is equivalent to calling the <see cref="T:System.Uri"/> (<see cref="T:System.String"/>, <see cref="T:System.Boolean"/>) constructor, and specifying
<paramref name="uriString"/> and <see langword="false"/> as the arguments.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(string uriString, bool dontEscape)"/>
					<MemberSignature Language="C#" Value="public Uri(string uriString, bool dontEscape);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="uriString" Type="System.String"/>
						<Parameter Name="dontEscape" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Uri"/> class by parsing the specified
   URI.</para>
						</summary>
						<param name="uriString">A <see cref="T:System.String"/> containing a URI.</param>
						<param name=" dontEscape">
							<see langword="true"/> if the URI in <paramref name="uriString"/> is already escaped; otherwise, <see langword="false"/>.</param>
						<exception cref="T:System.ArgumentNullException">
							<para>
								<paramref name="uriString "/> is <see langword="null"/> .</para>
						</exception>
						<exception cref="T:System.UriFormatException">
							<para>
								<paramref name="uriString"/> is a zero length string or contains only spaces.</para>
							<para>The parsing routine detected a scheme in an invalid form.</para>
							<para>The parser detected more than two consecutive slashes in a URI that does not use the "file" scheme.</para>
							<para>
								<paramref name="uriString "/>is in an invalid form and cannot be parsed.</para>
						</exception>
						<remarks>
							<para> This constructor parses the URI, places
      its components into the appropriate properties, and puts the URI in
      canonical form. If the specified URI does not contain a scheme component, the URI
      is parsed using "file" as the scheme.</para>
						</remarks>
						<example>
							<para>The following example creates a <see cref="T:System.Uri"/> instance for the URI
   "http://www.contoso.com/Hello%20World.htm". Because the URI contains escaped
   characters, the third parameter, <paramref name="dontEscape"/> , is set to
<see langword="true"/> .</para>
							<code lang="C#">using System;

public class UriTest {
 public static void Main() {
 
 Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm", true);

 Console.WriteLine(myUri.ToString());
 }
}
</code>
							<para>The output is</para>
							<c>
								<para>http://www.contoso.com/Hello World.htm</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Uri baseUri, string relativeUri)"/>
					<MemberSignature Language="C#" Value="public Uri(Uri baseUri, string relativeUri);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="baseUri" Type="System.Uri"/>
						<Parameter Name="relativeUri" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Uri"/> class by
   combining the specified
   base and relative URIs.</para>
						</summary>
						<param name="baseUri">A <see cref="T:System.Uri"/> containing a base URI.</param>
						<param name=" relativeUri">A <see cref="T:System.String"/> containing a relative URI.</param>
						<exception cref="T:System.UriFormatException">
							<para>
								<paramref name="relativeUri "/>is in an invalid form.</para>
						</exception>
						<exception cref="T:System.NullReferenceException">
							<paramref name="baseUri"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>This constructor is equivalent to calling the <see cref="T:System.Uri"/> (<see cref="T:System.Uri"/>, <see cref="T:System.String"/>, <see cref="T:System.Boolean"/>) constructor, and specifying <paramref name="baseUri,    relativeUri, "/>and <see langword="false"/> as the arguments.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName=".ctor">
					<MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor(class System.Uri baseUri, string relativeUri, bool dontEscape)"/>
					<MemberSignature Language="C#" Value="public Uri(Uri baseUri, string relativeUri, bool dontEscape);"/>
					<MemberType>Constructor</MemberType>
					<ReturnValue/>
					<Parameters>
						<Parameter Name="baseUri" Type="System.Uri"/>
						<Parameter Name="relativeUri" Type="System.String"/>
						<Parameter Name="dontEscape" Type="System.Boolean"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Constructs and initializes a new instance of the <see cref="T:System.Uri"/> class by combining the specified
   base and relative URIs.</para>
						</summary>
						<param name="baseUri">A <see cref="T:System.Uri"/> containing the base URI. This parameter can, but is not required to contain a terminating slash ("/") character.</param>
						<param name="relativeUri">A <see cref="T:System.String"/> containing the relative URI to add to the base URI. This parameter can, but is not required to contain a leading slash ("/") character.</param>
						<param name=" dontEscape">
							<see langword="true"/> if <paramref name="baseUri"/> and <paramref name="relativeUri"/> are already escaped; otherwise, <see langword="false"/>.</param>
						<exception cref="T:System.UriFormatException">
							<para>
								<paramref name="relativeUri "/>is in an invalid form.</para>
						</exception>
						<exception cref="T:System.NullReferenceException">
							<paramref name="baseUri"/> is <see langword="null"/>.</exception>
						<remarks>
							<para>This constructor compensates for the presence or absence
      of a terminating slash in <paramref name="baseUri"/> and/or a leading slash in
   <paramref name="relativeUri"/>
   to produce a well-formed URI.</para>
							<para> 
   If the relative URI contains a <see cref="P:System.Uri.Scheme"/> that is the same as the
   scheme of the base URI and the <see cref="F:System.Uri.SchemeDelimiter"/> is not present, or the
   relative URI does not contain a scheme, the new instance is composed of the
   relative URI (without its scheme component, if any) qualified by the scheme and
   authority information from the base URI. </para>
							<para>If the relative URI contains a <see cref="P:System.Uri.Scheme"/> followed by the <see cref="F:System.Uri.SchemeDelimiter"/>, 
it is treated as an absolute URI and the base URI is ignored. If the relative
URI contains a scheme that differs from the scheme of the base URI, the
base URI is ignored. If the <see cref="F:System.Uri.SchemeDelimiter"/> is not present in the relative URI,
it is assumed, and the new instance is constructed as though the relative URI
were an absolute URI.</para>
							<para>
								<block subset="none" type="note">When the base URI is ignored, only the 
   components of the relative URI are used to construct the new
   instance.</block>
							</para>
						</remarks>
						<example>
							<para> The following example creates new instances of the
   <see cref="T:System.Uri"/> class by
      combining a <see cref="T:System.Uri"/> instance representing the
      base URI and a string containing a relative URI.
      </para>
							<code lang="C#">using System;

public class UriTest {
 public static void Main() {

 // Typical base and relative URI constructor usage.

 Uri baseUri = new Uri("http://www.contoso.com", true);
 Uri myUri = new Uri(baseUri, "index.htm",true);
 Console.WriteLine("Typical usage: {0}",myUri.ToString());

 // Base and relative URI contain slashes.
 Uri baseUri2 = new Uri("http://www.contoso.com/", true);
 Uri myUri2 = new Uri(baseUri2, "/index.htm",true);
 Console.WriteLine("Slash example: {0}",myUri2.ToString());

 // Relative URI contains a different scheme than the base URI.
 Uri baseUri3 = new Uri("http://www.contoso.com/", true);
 Uri myUri3 = new Uri(baseUri3, "ftp://www.contoso2.com/index.htm",true);
 Console.WriteLine("Different schemes: {0}", myUri3.ToString());


 // Relative URI contains the same scheme as the base URI.
 // The scheme delimiter is not present in the relative URI.
 Uri baseUri4 = new Uri("http://www.contoso.com/", true);
 Uri myUri4 = new Uri(baseUri4, "http:www.contoso2.com/index.htm",true);
 Console.WriteLine("Same schemes - relative treated as relative: {0}",myUri4.ToString());

 // Relative URI contains the same scheme as the base URI.
 // The scheme delimiter is present in the relative URI.
 Uri baseUri5 = new Uri("http://www.contoso.com/", true);
 Uri myUri5 = new Uri(baseUri5, "http://www.contoso2/index.htm",true);
 Console.WriteLine("Same schemes - relative treated as absolute: {0}",myUri5.ToString());

 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>Typical usage: http://www.contoso.com/index.htm
         </para>
								<para>Slash example: http://www.contoso.com/index.htm</para>
								<para>Different schemes: ftp://www.contoso2.com/index.htm </para>
								<para>Same schemes - relative treated as relative: http://www.contoso.com/www.contoso2 .com/index.htm</para>
								<para>Same schemes - relative treated as absolute: http://www.contoso2/index.htm </para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AbsolutePath">
					<MemberSignature Language="ILASM" Value=".property string AbsolutePath { public hidebysig specialname instance string get_AbsolutePath() }"/>
					<MemberSignature Language="C#" Value="public string AbsolutePath { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the absolute path of the resource identified by the
      current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the
   absolute path to the resource.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The <see cref="P:System.Uri.AbsolutePath"/>
property contains the path to
the resource identified by the current instance. The <see cref="P:System.Uri.AbsolutePath"/>
property always returns at least a slash
('/').</para>
							<para>If, when the current instance was constructed, the URI was already escaped or
   the constructor's <paramref name="dontEscape"/> parameter was set to <see langword="false"/> ,
   the value returned by this property is escaped.</para>
							<para>
								<block subset="none" type="note">The path information
   does not include the scheme, host name,
   query, or fragment components of the URI. </block>
							</para>
						</remarks>
						<example>
							<para> The following example outputs the absolute
      path of a URI.</para>
							<code lang="C#">using System;

public class UriTest {
 public static void Main() {
   Uri myUri = new Uri ("http://www.contoso.com/URI/Hello%20World.htm?date=today", true);
   Console.WriteLine(myUri.AbsolutePath);
 }
}
   </code>
							<para>The output is</para>
							<c>
								<para>/URI/Hello%20World.htm</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="AbsoluteUri">
					<MemberSignature Language="ILASM" Value=".property string AbsoluteUri { public hidebysig specialname instance string get_AbsoluteUri() }"/>
					<MemberSignature Language="C#" Value="public string AbsoluteUri { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the absolute URI of the resource identified by the current instance in canonical form.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the URI
   used to construct the current instance, in canonical format.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The <see cref="P:System.Uri.AbsoluteUri"/> property includes the entire URI stored in the current <see cref="T:System.Uri"/> instance, including any
   fragment or query information. If, when the current instance was constructed,
   the URI was already escaped or the constructor's <paramref name="dontEscape"/> parameter was
   set to <see langword="false"/> , the value returned
   by this property is escaped.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Authority">
					<MemberSignature Language="ILASM" Value=".property string Authority { public hidebysig specialname instance string get_Authority() }"/>
					<MemberSignature Language="C#" Value="public string Authority { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the authority component of the URI used to construct the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the
 authority component of the current instance. The value returned by this property
 is composed of the values returned by the <see cref="P:System.Uri.Host"/> and <see cref="P:System.Uri.Port"/> properties.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The <see cref="P:System.Uri.Authority"/> property returns the <see cref="P:System.Uri.Host"/> and <see cref="P:System.Uri.Port"/> information
 specified in the URI used to construct the current instance. The value of this
 property includes the port information only if the URI specified a port that is
 not the default for the current scheme. When port information is included
 in the value returned by this property, the host and port are separated by a
 colon (":").</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Canonicalize">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Canonicalize()"/>
					<MemberSignature Language="C#" Value="protected virtual void Canonicalize();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Converts the components of the URI represented by
      the current instance to canonical form.</para>
						</summary>
						<remarks>
							<para>
								<block subset="none" type="behaviors">This method converts the URI to a format suitable for machine interpretation
      according to the scheme of the current instance. The conversions
      are required to preserve all information that could, if removed or
      altered, change the URI represented by the current instance. </block>
							</para>
							<block subset="none" type="default">
								<para>This method performs the following conversions:</para>
								<list type="bullet">
									<item>
										<term>
            
            Converts file references to the format of the current
            platform, for example on a Windows system, file://c|/AFile.txt is converted to
            "file:///c:/AFile.txt".</term>
									</item>
									<item>
										<term>
            
            Converts any backslash characters ('\') to forward
            slashes ('/').</term>
									</item>
									<item>
										<term>
            
            Compresses multiple consecutive forward slashes ('/')
            in the path component to a single forward slash.</term>
									</item>
									<item>
										<term>
            
            Compresses any path meta sequences ("/." and "/..").</term>
									</item>
								</list>
							</block>
							<para>
								<block subset="none" type="overrides">Override this
      method to canonicalize the type derived from <see cref="T:System.Uri"/>
      .</block>
							</para>
							<para>
								<block subset="none" type="usage">Applications
      do not call this method; it is called by constructors after
      parsing the URI and escaping the components. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CheckHostName">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.UriHostNameType CheckHostName(string name)"/>
					<MemberSignature Language="C#" Value="public static UriHostNameType CheckHostName(string name);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.UriHostNameType</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="name" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a value that describes the format of a host name
      string.</para>
						</summary>
						<param name="name">A <see cref="T:System.String"/> containing the host name to validate. </param>
						<returns>
							<para> A <see cref="T:System.UriHostNameType"/> that indicates the type of the host name. If the type of
   the host name cannot be determined, or the host name is <see langword="null"/> or
   a zero-length string, returns <see cref="F:System.UriHostNameType.Unknown"/> .
   </para>
						</returns>
						<example>
							<para> The following example demonstrates using the <see cref="M:System.Uri.CheckHostName(System.String)"/> method.
   </para>
							<code lang="C#">using System;

public class UriTest {
 public static void Main() {
 
 Console.WriteLine(Uri.CheckHostName("www.contoso.com"));
 }
}
</code>
							<para>The output is</para>
							<c>
								<para>Dns</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CheckSchemeName">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool CheckSchemeName(string schemeName)"/>
					<MemberSignature Language="C#" Value="public static bool CheckSchemeName(string schemeName);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="schemeName" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> value indicating whether the specified scheme name is valid.
   </para>
						</summary>
						<param name="schemeName">A <see cref="T:System.String"/> containing the scheme name to validate. </param>
						<returns>
							<para>
								<see langword="true "/>if the scheme name is valid; otherwise,
<see langword="false"/>. If 
<paramref name="schemeName"/> is <see langword="null"/> or is a zero-length string, returns 
<see langword="false"/>.
   </para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="note">The scheme name is
      required to begin with a letter, and contain only letters, digits,
      and the characters '.', '+' or '-'.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="CheckSecurity">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void CheckSecurity()"/>
					<MemberSignature Language="C#" Value="protected virtual void CheckSecurity();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Checks the current instance for character sequences that can result in unauthorized access to resources,
      and removes them.</para>
						</summary>
						<remarks>
							<para>
								<block subset="none" type="behaviors">This method checks for invalid
      or dangerous character sequences in the components of the current instance, and
      removes them. The semantics that determine whether a character sequence presents
      a security risk are determined by the scheme of the current
      instance.</block>
							</para>
							<para>
								<block subset="none" type="default">The default implementation does
      nothing.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this method to provide
      security checks for types derived from <see cref="T:System.Uri"/>.</block>
							</para>
							<para>
								<block subset="none" type="usage">Invoke this method on instances of
      types derived from <see cref="T:System.Uri"/> to remove any URI content that allows unauthorized
      access to resources.</block>
							</para>
						</remarks>
					</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);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="comparand" Type="System.Object"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Compares the current instance and the specified
      object for equality.</para>
						</summary>
						<param name="comparand">The <see cref="T:System.Uri"/> instance to compare with the current instance. This argument can be a <see cref="T:System.String"/> or a <see cref="T:System.Uri"/> .</param>
						<returns>
							<para>
								<see langword="true "/>if
<paramref name="comparand "/>represents the same URI (ignoring any fragment or query information) as
   the current instance; otherwise, <see langword="false"/> . If <paramref name="comparand"/> is
<see langword="null"/>, a zero-length string, or is not an instance of <see cref="T:System.String"/> or <see cref="T:System.Uri"/> 
, returns false.</para>
						</returns>
						<remarks>
							<para>If <paramref name="comparand"/> is a <see cref="T:System.String"/>, it is converted
   to a <see cref="T:System.Uri"/> by
   calling <see cref="T:System.Uri"/>(<paramref name="comparand"/>).</para>
							<para>The <see cref="P:System.Uri.Scheme"/>, <see cref="P:System.Uri.Host"/> and unescaped version of the <see cref="P:System.Uri.AbsolutePath"/> of the
current instance and <paramref name="comparand"/> are compared for equality.</para>
							<para>If the scheme of
   the current instance is the <see cref="F:System.Uri.UriSchemeFile"/> scheme, the absolute paths are compared
   in accordance with the case sensitivity of the current
   platform.</para>
							<para>
								<block subset="none" type="note">
   This method overrides <see cref="M:System.Object.Equals(System.Object)"/>.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Escape">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual void Escape()"/>
					<MemberSignature Language="C#" Value="protected virtual void Escape();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Void</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Converts any unsafe or reserved characters in the <see cref="P:System.Uri.AbsolutePath"/> component to equivalent escaped hexadecimal
   sequences.</para>
						</summary>
						<remarks>
							<block subset="none" type="behaviors">
								<para>Converts any unsafe or reserved characters in the <see cref="P:System.Uri.AbsolutePath"/> component to a character 
      sequence
      consisting of a "%" followed by the hexadecimal value of the character
      as described by IETF 2396. </para>
								<para>If the path component of the current instance is <see langword="null"/>, the
   escaped path is <see cref="F:System.String.Empty"/>.</para>
							</block>
							<para>
								<block subset="none" type="default">As described
   above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this
   method to customize the escaping behavior provided by the <see cref="T:System.Uri"/>
   type.</block>
							</para>
							<para>
								<block subset="none" type="usage">Applications
   typically do not call this method; it is intended for use by the
   constructors.</block>
							</para>
							<para>
								<block subset="none" type="note">For additional
   information on escaping URI, see section 2 of RFC 2396.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="EscapeString">
					<MemberSignature Language="ILASM" Value=".method family hidebysig static string EscapeString(string str)"/>
					<MemberSignature Language="C#" Value="protected static string EscapeString(string str);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="str" Type="System.String"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Converts a string to its escaped representation.</para>
						</summary>
						<param name="str">A <see cref="T:System.String"/> to convert to its escaped representation.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing the escaped representation of
<paramref name="str"/> .</para>
						</returns>
						<remarks>
							<para> 
      The string is escaped in accordance with RFC 2396. </para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Fragment">
					<MemberSignature Language="ILASM" Value=".property string Fragment { public hidebysig specialname instance string get_Fragment() }"/>
					<MemberSignature Language="C#" Value="public string Fragment { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets the fragment component of the URI used to construct the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing any
   fragment information contained in the URI used to construct the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The <see cref="P:System.Uri.Fragment"/> property gets
   any text following a fragment marker ('#') in the URI, including the fragment
   marker itself. If, when the current instance was constructed, the URI
   was already escaped or the constructor's <paramref name="dontEscape"/> parameter was set to
<see langword="false"/> 
, the value
returned by this property is escaped. </para>
							<block subset="none" type="note">
								<para> The <see cref="P:System.Uri.Fragment"/> property is not considered in a <see cref="M:System.Uri.Equals(System.Object)"/> comparison.</para>
							</block>
						</remarks>
						<example>
							<para>The following example demonstrates the use of the
   <see cref="P:System.Uri.Fragment"/>
   property.</para>
							<code lang="C#">using System;

public class UriTest {
 public static void Main() {

 Uri baseUri = new Uri("http://www.contoso.com/");
 Uri myUri = new Uri(baseUri, "index.htm#main");
 
 Console.WriteLine(myUri.Fragment);
 }
}
</code>
							<para>The output is</para>
							<c>
								<para>#main</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="FromHex">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static int32 FromHex(valuetype System.Char digit)"/>
					<MemberSignature Language="C#" Value="public static int FromHex(char digit);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="digit" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the decimal value of a hexadecimal digit.
 </para>
						</summary>
						<param name="digit">The hexadecimal digit (0-9, a-f, A-F) to convert. </param>
						<returns>
							<para> A <see cref="T:System.Int32"/> containing an integer from 0 - 15 that corresponds to the specified hexadecimal
 digit.
 </para>
						</returns>
						<exception cref="T:System.ArgumentException">
							<paramref name="digit "/>is not a valid hexadecimal digit (0-9, a-f, A-F).</exception>
					</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();"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Int32</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Generates a hash code for the current instance.</para>
						</summary>
						<returns>
							<para>A <see cref="T:System.Int32"/> containing the hash code for this instance.</para>
						</returns>
						<remarks>
							<para> The hash code is generated without the fragment component.
      For example, the URIs "http://www.contoso.com/index.htm#search"
      and "http://www.contoso.com/index.htm"
      produce the same hash code.</para>
							<para>The algorithm used to generate the hash code is unspecified.</para>
							<para>
								<block subset="none" type="note">
      This method overrides <see cref="M:System.Object.GetHashCode"/>. </block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="GetLeftPart">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string GetLeftPart(valuetype System.UriPartial part)"/>
					<MemberSignature Language="C#" Value="public string GetLeftPart(UriPartial part);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="part" Type="System.UriPartial"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns the specified portion of the URI represented by
      the current instance.</para>
						</summary>
						<param name="part">A <see cref="T:System.UriPartial"/> value that specifies the component to return.</param>
						<returns>
							<para>A <see cref="T:System.String"/> containing all
   components up to the specified portion of the URI, or <see cref="F:System.String.Empty"/> if
   the current instance does not contain the component identified by
<paramref name="part"/> .</para>
						</returns>
						<exception cref="T:System.ArgumentException">The <paramref name="part"/> parameter is not a valid <see cref="T:System.UriPartial"/> value.</exception>
						<remarks>
							<para>The <see cref="M:System.Uri.GetLeftPart(System.UriPartial)"/> method returns a string containing the URI
   components starting with the left-most component of
   the URI and ending with the component specified by <paramref name="part"/>
   . The returned string does not include fragment or
   query information.</para>
							<para>
								<see cref="M:System.Uri.GetLeftPart(System.UriPartial)"/> includes delimiters as follows:</para>
							<list type="bullet">
								<item>
									<term>
										<see cref="F:System.UriPartial.Scheme"/> has 
      the scheme delimiter added.</term>
								</item>
								<item>
									<term>
										<see cref="F:System.UriPartial.Authority"/> does 
      not have the path delimiter added.</term>
								</item>
								<item>
									<term>
										<see cref="F:System.UriPartial.Path"/>
   includes any delimiters in the original URI up to the query or
   fragment delimiter.</term>
								</item>
							</list>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Uri.GetLeftPart(System.UriPartial)"/> method.</para>
							<code lang="C#">using System;

public class UriTest {
  public static void Main() {
    string[] myUri  = {
            "http://www.contoso.com/index.htm",
            "http:www.contoso.com/index.htm#mark",
                    "mailto:user@contoso.com?subject=uri",
                    "nntp://news.contoso.com/123456@contoso.com"
    };
    foreach (string s in myUri) {
      Uri aUri = new Uri(s);
      Console.WriteLine("URI: {0}", aUri.ToString());
      Console.WriteLine("Scheme: {0}",aUri.GetLeftPart(UriPartial.Scheme));
      Console.WriteLine("Authority: {0}",aUri.GetLeftPart(UriPartial.Authority));
      Console.WriteLine("Path: {0}",aUri.GetLeftPart(UriPartial.Path));
    }  
  }
}
</code>
							<para>The output is</para>
							<c>
								<para>URI: http://www.contoso.com/index.htm</para>
								<para>Scheme: http://</para>
								<para>Authority: http://www.contoso.com</para>
								<para>Path: http://www.contoso.com/index.htm</para>
								<para>URI: http://www.contoso.com/index.htm#mark</para>
								<para>Scheme: http://</para>
								<para>Authority: http://www.contoso.com</para>
								<para>Path: http://www.contoso.com/index.htm</para>
								<para>URI: mailto:user@contoso.com?subject=uri</para>
								<para>Scheme: mailto:</para>
								<para>Authority:</para>
								<para>Path: mailto:user@contoso.com</para>
								<para>URI: nntp://news.contoso.com/123456@contoso.com</para>
								<para>Scheme: nntp://</para>
								<para>Authority: nntp://news.contoso.com</para>
								<para>Path: nntp://news.contoso.com/123456@contoso.com</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HexEscape">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static string HexEscape(valuetype System.Char character)"/>
					<MemberSignature Language="C#" Value="public static string HexEscape(char character);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="character" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a specified ASCII character into its escaped hexadecimal equivalent.
      </para>
						</summary>
						<param name="character">A <see cref="T:System.Char"/> containing the character to convert to escaped hexadecimal representation. </param>
						<returns>
							<para> A <see cref="T:System.String"/> containing the escaped hexadecimal representation of the specified character.
   </para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">The numerical value of <paramref name="character"/> is greater than 255. </exception>
						<remarks>
							<para> The returned string is in the
      form "%XX", where X represents a hexadecimal digit (0-9, A-F).</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HexUnescape">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static valuetype System.Char HexUnescape(string pattern, class System.Int32&amp; index)"/>
					<MemberSignature Language="C#" Value="public static char HexUnescape(string pattern, ref int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Char</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="pattern" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32&amp;"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Converts a specified escaped hexadecimal representation of a character to the character.
      </para>
						</summary>
						<param name="pattern">A <see cref="T:System.String"/> containing the hexadecimal representation of a character. </param>
						<param name=" index">A <see cref="T:System.Int32"/> containing the location in <paramref name="pattern"/> where the hexadecimal representation of a character begins. </param>
						<returns>
							<para> A <see cref="T:System.Char"/> containing a character. If the character pointed to
   by <paramref name="index"/> is a "%" and there are at least two characters following the
   "%", and the two characters are valid hexadecimal digits, the hexadecimal
   digits are converted to <see cref="T:System.Char"/>. Otherwise, the character at <paramref name="index"/> is returned. Valid hexadecimal digits are:
   0-9,
   a-f, A-F.
   </para>
							<para>On return, the value of <paramref name="index "/>
contains the index of the character following the one returned.</para>
						</returns>
						<exception cref="T:System.ArgumentOutOfRangeException">
							<paramref name="index &lt; "/>0 or <paramref name="index "/>&gt;= the number of characters in pattern.</exception>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="Host">
					<MemberSignature Language="ILASM" Value=".property string Host { public hidebysig specialname instance string get_Host() }"/>
					<MemberSignature Language="C#" Value="public string Host { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the host component of the URI used to construct the current instance.</para>
						</summary>
						<value>
							<para>A <see cref="T:System.String"/> containing the DNS host
   name or IP address of the host server. If the host information was not
   specified to the constructor, the value of this property is <see cref="F:System.String.Empty"/> .</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para> If the host information is an IP6 address, the information is enclosed in square brackets ("[" and "]").</para>
						</remarks>
						<example>
							<para>The following example demonstrates using the <see cref="P:System.Uri.Host"/> 
property.</para>
							<code lang="C#">using System;

public class UriTest {
 public static void Main() {

 Uri baseUri = new Uri("http://www.contoso.com:8080/");
 Uri myUri = new Uri(baseUri, "shownew.htm?date=today");
 
 Console.WriteLine(myUri.Host);
 }
}
</code>
							<para>The output is</para>
							<c>
								<para>www.contoso.com</para>
							</c>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="HostNameType">
					<MemberSignature Language="ILASM" Value=".property valuetype System.UriHostNameType HostNameType { public hidebysig specialname instance valuetype System.UriHostNameType get_HostNameType() }"/>
					<MemberSignature Language="C#" Value="public UriHostNameType HostNameType { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.UriHostNameType</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the format of the host address in the URI used to construct the current instance.
      </para>
						</summary>
						<value>
							<para> A <see cref="T:System.UriHostNameType"/> that indicates the format of the host address 
   information in the current instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>If <see cref="P:System.Uri.Host"/> is <see langword="null"/>, the value of this property is
<see cref="F:System.UriHostNameType.Unknown"/> .</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsBadFileSystemCharacter">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual bool IsBadFileSystemCharacter(valuetype System.Char character)"/>
					<MemberSignature Language="C#" Value="protected virtual bool IsBadFileSystemCharacter(char character);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="character" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Boolean"/> value that indicates whether the specified character would be an invalid character
   if used in a file system name.</para>
						</summary>
						<param name="character">A <see cref="T:System.Char"/> containing the character to check.</param>
						<returns>
							<para>
								<see langword="true"/> if the specified character is not acceptable for use in a file
   system name; otherwise, <see langword="false"/>.</para>
							<para>The value returned by this
   method is implementation-defined.</para>
						</returns>
						<remarks>
							<para>
								<block subset="none" type="behaviors">This method
      returns <see langword="false"/> if the specified character cannot be used in a
      URI that identifies a file, as defined by the current file system on the current
      platform.</block>
							</para>
							<para>
								<block subset="none" type="default">As described
      above.</block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this
      method to provide a check for invalid characters as defined by the current file system on the current
      platform.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to determine if a character can be used in a file
      name.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsDefaultPort">
					<MemberSignature Language="ILASM" Value=".property bool IsDefaultPort { public hidebysig specialname instance bool get_IsDefaultPort() }"/>
					<MemberSignature Language="C#" Value="public bool IsDefaultPort { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the <see cref="P:System.Uri.Port"/> value of the current instance is the default port for the scheme of the current instance.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>if the value in the <see cref="P:System.Uri.Port"/> property is the default
 port for the <see cref="P:System.Uri.Scheme"/>
 ; otherwise, <see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>
								<block subset="none" type="note">For a list of default
 port values, see the <see cref="P:System.Uri.Port"/> property.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsExcludedCharacter">
					<MemberSignature Language="ILASM" Value=".method family hidebysig static bool IsExcludedCharacter(valuetype System.Char character)"/>
					<MemberSignature Language="C#" Value="protected static bool IsExcludedCharacter(char character);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="character" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> value that indicates whether the specified 
   character is excluded from use or is unwise in URIs, as defined by IETF
   RFC 2396.</para>
						</summary>
						<param name="character">A <see cref="T:System.Char"/> containing the character to check.</param>
						<returns>
							<para>
								<see langword="true"/> if the
   specified character is required to
   be escaped; otherwise, <see langword="false"/> .</para>
						</returns>
						<remarks>
							<para>This method returns <see langword="true"/> for the following characters:
   </para>
							<list type="table">
								<listheader>
									<term>Character(s)</term>
									<description>Description</description>
								</listheader>
								<item>
									<term>
										<paramref name="character "/>&lt; 0x0020 </term>
									<description>Any character with the ASCII value less than
      hexadecimal 0x20 (32). </description>
								</item>
								<item>
									<term>
										<paramref name="character "/>&lt; 0x007f</term>
									<description>Any character with the ASCII value greater than
   hexadecimal 0x7f (127).</description>
								</item>
								<item>
									<term> &lt;</term>
									<description>Less than sign.</description>
								</item>
								<item>
									<term> &gt;</term>
									<description>Greater than sign.</description>
								</item>
								<item>
									<term> #</term>
									<description> Number sign (crosshatch, pound sign).</description>
								</item>
								<item>
									<term> %</term>
									<description>Percent.</description>
								</item>
								<item>
									<term> "</term>
									<description>
										<para>Quotation mark.</para>
									</description>
								</item>
								<item>
									<term> {</term>
									<description>Left curly brace.</description>
								</item>
								<item>
									<term> }</term>
									<description>Right curly brace.</description>
								</item>
								<item>
									<term> |</term>
									<description>Pipe sign (vertical bar).</description>
								</item>
								<item>
									<term> \</term>
									<description> Backward slash.</description>
								</item>
								<item>
									<term> ^</term>
									<description>Circumflex (caret).</description>
								</item>
								<item>
									<term> [</term>
									<description>Left square bracket.</description>
								</item>
								<item>
									<term> ]</term>
									<description>Right square bracket.</description>
								</item>
								<item>
									<term> `</term>
									<description>Grave accent.</description>
								</item>
							</list>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsFile">
					<MemberSignature Language="ILASM" Value=".property bool IsFile { public hidebysig specialname instance bool get_IsFile() }"/>
					<MemberSignature Language="C#" Value="public bool IsFile { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating whether the current instance identifies a file.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>if the 
 resource identified by the current <see cref="T:System.Uri"/> is a file; otherwise,
<see langword="false"/> .</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>The <see cref="P:System.Uri.IsFile"/> property is <see langword="true"/> when the <see cref="P:System.Uri.Scheme"/> property
 equals <see cref="F:System.Uri.UriSchemeFile"/>.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsHexDigit">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsHexDigit(valuetype System.Char character)"/>
					<MemberSignature Language="C#" Value="public static bool IsHexDigit(char character);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="character" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> value that indicates whether the specified character is a valid hexadecimal digit.
   </para>
						</summary>
						<param name="character">A <see cref="T:System.Char"/> containing the character to validate. </param>
						<returns>
							<para>
								<see langword="true "/>if the
   character is a valid hexadecimal digit (0-9, A-F, a-f);
   otherwise <see langword="false"/>.
   </para>
						</returns>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsHexEncoding">
					<MemberSignature Language="ILASM" Value=".method public hidebysig static bool IsHexEncoding(string pattern, int32 index)"/>
					<MemberSignature Language="C#" Value="public static bool IsHexEncoding(string pattern, int index);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="pattern" Type="System.String"/>
						<Parameter Name="index" Type="System.Int32"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns a <see cref="T:System.Boolean"/> value that indicates whether
   a substring of the specified string is in escaped hexadecimal encoding format ("%" followed by two hexadecimal
   characters).
   </para>
						</summary>
						<param name="pattern">The <see cref="T:System.String"/> to check. </param>
						<param name=" index">A <see cref="T:System.Int32"/> containing the location in <paramref name="pattern "/>to check for hex encoding. </param>
						<returns>
							<para>
								<see langword="true "/>if the 
   specified location in <paramref name="pattern "/>contains a
   substring in escaped hexadecimal encoding
   format; otherwise, <see langword="false"/>.
   </para>
						</returns>
						<remarks>
							<para>The <see cref="M:System.Uri.IsHexEncoding(System.String,System.Int32)"/>
method checks for hexadecimal digits case-insensitively.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsLoopback">
					<MemberSignature Language="ILASM" Value=".property bool IsLoopback { public hidebysig specialname instance bool get_IsLoopback() }"/>
					<MemberSignature Language="C#" Value="public bool IsLoopback { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para>Gets a <see cref="T:System.Boolean"/> value indicating
 whether the host information of the current instance is the current computer.</para>
						</summary>
						<value>
							<para>
								<see langword="true "/>if the host of
 the current instance is the reserved hostname "localhost" or the
 loop-back IP address (127.0.0.1); otherwise,
<see langword="false"/>.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
						</remarks>
						<example>
							<para>The following example demonstrates the <see cref="P:System.Uri.IsLoopback"/> property.</para>
							<code lang="C#">using System;

public class UriTest {
 public static void Main() {
 Uri myUri = new Uri("http://127.0.0.1/index.htm", true);
 Console.WriteLine("{0} is loopback? {1}", myUri.ToString(), myUri.IsLoopback);

 myUri = new Uri("http://localhost/index.htm", true);
 Console.WriteLine("{0} is loopback? {1}", myUri.ToString(), myUri.IsLoopback);

 }
}
</code>
							<para>The output is </para>
							<para> 
 http://127.0.0.1/index.htm is loopback?
 True</para>
							<para>http://localhost/index.htm is loopback? True</para>
						</example>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="IsReservedCharacter">
					<MemberSignature Language="ILASM" Value=".method family hidebysig virtual bool IsReservedCharacter(valuetype System.Char character)"/>
					<MemberSignature Language="C#" Value="protected virtual bool IsReservedCharacter(char character);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.Boolean</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="character" Type="System.Char"/>
					</Parameters>
					<Docs>
						<summary>
							<para>Returns a <see cref="T:System.Boolean"/> value that indicates whether a character is part of the URI reserved set.</para>
						</summary>
						<returns>
							<para>
								<see langword="true"/> if <paramref name="character"/> is a URI reserved character as defined by IETF RFC
   2396; otherwise, <see langword="false"/>.</para>
						</returns>
						<remarks>
							<para>The following characters are reserved for the use in URI:</para>
							<list type="table">
								<listheader>
									<term>Character</term>
									<description>Description</description>
								</listheader>
								<item>
									<term> ;</term>
									<description>Semi-colon.</description>
								</item>
								<item>
									<term> /</term>
									<description> Forward slash.</description>
								</item>
								<item>
									<term> :</term>
									<description>Colon.</description>
								</item>
								<item>
									<term> @</term>
									<description>At sign (commercial at).</description>
								</item>
								<item>
									<term> &amp;</term>
									<description>Ampersand.</description>
								</item>
								<item>
									<term> =</term>
									<description>Equals sign.</description>
								</item>
								<item>
									<term> +</term>
									<description>Plus sign.</description>
								</item>
								<item>
									<term> $</term>
									<description>US
            Dollar sign.</description>
								</item>
								<item>
									<term> ,</term>
									<description>Comma.</description>
								</item>
							</list>
							<para>
								<block subset="none" type="behaviors"> As described above. 
   </block>
							</para>
							<para>
								<block subset="none" type="overrides">Override this 
   method to customize the escaping behavior provided by the <see cref="T:System.Uri"/>
   type.</block>
							</para>
							<para>
								<block subset="none" type="usage">Use this method to determine if a character is reserved.</block>
							</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="LocalPath">
					<MemberSignature Language="ILASM" Value=".property string LocalPath { public hidebysig specialname instance string get_LocalPath() }"/>
					<MemberSignature Language="C#" Value="public string LocalPath { get; }"/>
					<MemberType>Property</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters/>
					<Docs>
						<summary>
							<para> Gets the local operating-system representation of the resource identified by the
      current instance.</para>
						</summary>
						<value>
							<para> A <see cref="T:System.String"/> containing the
   local representation of the resource identified by the current
   instance.</para>
						</value>
						<remarks>
							<para>This property is read-only.</para>
							<para>If the <see cref="P:System.Uri.Scheme"/> of the current instance is not equal to <see cref="F:System.Uri.UriSchemeFile"/>, this
   property returns the same value as <see cref="P:System.Uri.AbsolutePath"/> . </para>
							<para>If the scheme is equal to
<see cref="F:System.Uri.UriSchemeFile"/>, this 
   property returns an unescaped platform-dependent local representation of the file name.</para>
						</remarks>
					</Docs>
					<Excluded>0</Excluded>
				</Member>
				<Member MemberName="MakeRelative">
					<MemberSignature Language="ILASM" Value=".method public hidebysig instance string MakeRelative(class System.Uri toUri)"/>
					<MemberSignature Language="C#" Value="public string MakeRelative(Uri toUri);"/>
					<MemberType>Method</MemberType>
					<ReturnValue>
						<ReturnType>System.String</ReturnType>
					</ReturnValue>
					<Parameters>
						<Parameter Name="toUri" Type="System.Uri"/>
					</Parameters>
					<Docs>
						<summary>
							<para> Returns the specified <see cref="T:System.Uri"/> as a relative URI.</para>
						</summary>
						<param name="toUri">The URI to compare to the current URI.</param>
						<returns>
							<para>A <see cref="T:System.String"/> with
   the difference between the current instance and <paramref name="toUri"/> if the two
   URIs are the same except for the path information. If the two
   URIs differ in more than the <see cref="P:System.Uri.AbsolutePath"/>, this method returns a <see cref="T:System.String"/>
   with the absolute URI of <paramref name="toUri"/>.</para>
						</returns>
						<example>
							<para>The following example demonstrates the <see cref="M:System.Uri.MakeRelative(System.Uri)"/>
method.</para>
							<code lang="C#">using System;
public class UriTest {
  public static void Main() {
    Uri myUri = new Uri("http://www.contoso.com/Hello%20World.htm", true);
    Console.WriteLine(myUri.ToString());
    Console.WriteLine(myUri.MakeRelative(new Uri ("http://www.contoso.com/index.htm")));
  }
}
</code>
							<para>The output is </para>
							<c>
	