﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ArgumentException" FullName="System.ArgumentException" FullNameSP="System_ArgumentException" Maintainer="ecma"><TypeSignature Language="ILASM" Value=".class public serializable ArgumentException extends System.SystemException" /><TypeSignature Language="C#" Value="public class ArgumentException : SystemException" /><TypeSignature Language="ILAsm" Value=".class public sequential ansi serializable beforefieldinit ArgumentException extends System.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.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ThreadingSafetyStatement>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement><Base><BaseTypeName>System.SystemException</BaseTypeName></Base><Interfaces /><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><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><remarks><attribution license="cc4" from="Microsoft" modified="false" /><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 parameter specification of the called method. All instances of <see cref="T:System.ArgumentException" /> should carry a meaningful error message describing the invalid argument, as well as the expected range of values for the argument.</para><para>The primary derived classes of <see cref="T:System.ArgumentException" /> are <see cref="T:System.ArgumentNullException" /> and <see cref="T:System.ArgumentOutOfRangeException" />. These derived classes should be used instead of <see cref="T:System.ArgumentException" />, except in situations where neither of the derived classes is acceptable. For example, exceptions should be thrown by: </para><list type="bullet"><item><para><see cref="T:System.ArgumentNullException" /> whenever null is passed to a method that does not accept it as a valid argument.</para></item><item><para><see cref="T:System.ArgumentOutOfRangeException" /> when the value of an argument is outside the range of acceptable values; for example, when the value "46" is passed as the month argument during the creation of a <see cref="T:System.DateTime" />.</para></item></list><para>If the method call does not have any argument or if the failure does not involve the arguments themselves, then <see cref="T:System.InvalidOperationException" /> should be used.</para><para><see cref="T:System.ArgumentException" /> uses the HRESULT COR_E_ARGUMENT, which has the value 0x80070057.</para><para>For a list of initial property values for an instance of <see cref="T:System.ArgumentException" />, see the <see cref="T:System.ArgumentException" /> constructors.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>The exception that is thrown when one of the arguments provided to a method is not valid.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="ILASM" Value="public rtspecialname specialname instance void .ctor()" /><MemberSignature Language="C#" Value="public ArgumentException ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><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 following table shows the initial property values for an instance of <see cref="T:System.ArgumentException" />.</para><list type="table"><listheader><item><term><para>Property </para></term><description><para>Value </para></description></item></listheader><item><term><para><see cref="P:System.Exception.InnerException" /></para></term><description><para>A null reference (Nothing in Visual Basic). </para></description></item><item><term><para><see cref="P:System.Exception.Message" /></para></term><description><para>The localized error message string. </para></description></item></list></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.ArgumentException" /> class.</para></summary></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);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string message) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="message" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><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 following table shows the initial property values for an instance of <see cref="T:System.ArgumentException" />.</para><list type="table"><listheader><item><term><para>Property </para></term><description><para>Value </para></description></item></listheader><item><term><para><see cref="P:System.Exception.InnerException" /></para></term><description><para>A null reference (Nothing in Visual Basic). </para></description></item><item><term><para><see cref="P:System.ArgumentException.Message" /></para></term><description><para>The error message string. </para></description></item></list></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.ArgumentException" /> class with a specified error message.</para></summary><param name="message"><attribution license="cc4" from="Microsoft" modified="false" />The error message that explains the reason for the exception. </param></Docs><Excluded>0</Excluded></Member><Member MemberName=".ctor"><MemberSignature Language="C#" Value="protected ArgumentException (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(class System.Runtime.Serialization.SerializationInfo info, valuetype System.Runtime.Serialization.StreamingContext context) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" /><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This constructor is called during deserialization to reconstitute the exception object transmitted over a stream. For more information, see <format type="text/html"><a href="832ac524-21bc-419a-a27b-ca8bfc45840f">XML and Soap Serialization</a></format>.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.ArgumentException" /> class with serialized data.</para></summary><param name="info"><attribution license="cc4" from="Microsoft" modified="false" />The object that holds the serialized object data. </param><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The contextual information about the source or destination. </param></Docs></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);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string message, class System.Exception innerException) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="message" Type="System.String" /><Parameter Name="innerException" Type="System.Exception" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This constructor initializes the <see cref="P:System.ArgumentException.Message" /> property of the new instance using the value of the <paramref name="message" /> parameter. The content of the <paramref name="message" /> parameter 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.</para><para>An exception that is thrown as a direct result of a previous exception should include a reference to the previous exception in the <see cref="P:System.Exception.InnerException" /> property. The <see cref="P:System.Exception.InnerException" /> property returns the same value that is passed into the constructor, or null if the <see cref="P:System.Exception.InnerException" /> property does not supply the inner exception value to the constructor.</para><para>The following table shows the initial property values for an instance of <see cref="T:System.ArgumentException" />.</para><list type="table"><listheader><item><term><para>Property </para></term><description><para>Value </para></description></item></listheader><item><term><para><see cref="P:System.Exception.InnerException" /></para></term><description><para>The inner exception reference. </para></description></item><item><term><para>Message </para></term><description><para>The error message string. </para></description></item></list></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.ArgumentException" /> class with a specified error message and a reference to the inner exception that is the cause of this exception.</para></summary><param name="message"><attribution license="cc4" from="Microsoft" modified="false" />The error message that explains the reason for the exception. </param><param name="innerException"><attribution license="cc4" from="Microsoft" modified="false" />The exception that is the cause of the current exception. If the <paramref name="innerException" /> parameter is not a null reference, the current exception is raised in a catch block that handles the inner exception. </param></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);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string message, string paramName) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="message" Type="System.String" /><Parameter Name="paramName" Type="System.String" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This constructor initializes the <see cref="P:System.ArgumentException.Message" /> property of the new instance using the value of the <paramref name="message" /> parameter. The content of the <paramref name="message" /> parameter 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.</para><para>This constructor initializes the <see cref="P:System.ArgumentException.ParamName" /> property of the new instance using <paramref name="paramName" />. The content of <paramref name="paramName" /> is intended to be understood by humans.</para><para>The following table shows the initial property values for an instance of <see cref="T:System.ArgumentException" />.</para><list type="table"><listheader><item><term><para>Property </para></term><description><para>Value </para></description></item></listheader><item><term><para><see cref="P:System.ArgumentException.Message" /></para></term><description><para>The error message string. </para></description></item><item><term><para><see cref="P:System.ArgumentException.ParamName" /></para></term><description><para>The parameter name string. </para></description></item></list></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.ArgumentException" /> class with a specified error message and the name of the parameter that causes this exception.</para></summary><param name="message"><attribution license="cc4" from="Microsoft" modified="false" />The error message that explains the reason for the exception. </param><param name="paramName"><attribution license="cc4" from="Microsoft" modified="false" />The name of the parameter that caused the current exception. </param></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);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string message, string paramName, class System.Exception innerException) cil managed" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue /><Parameters><Parameter Name="message" Type="System.String" /><Parameter Name="paramName" Type="System.String" /><Parameter Name="innerException" Type="System.Exception" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This constructor initializes the <see cref="P:System.ArgumentException.Message" /> property of the new instance using the value of the <paramref name="message" /> parameter. The content of the <paramref name="message" /> parameter 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.</para><para>This constructor initializes the <see cref="P:System.ArgumentException.ParamName" /> property of the new instance using <paramref name="paramName" />. The content of <paramref name="paramName" /> is intended to be understood by humans.</para><para>An exception that is thrown as a direct result of a previous exception should include a reference to the previous exception in the <see cref="P:System.Exception.InnerException" /> property. The <see cref="P:System.Exception.InnerException" /> property returns the same value that is passed into the constructor, or null if the <see cref="P:System.Exception.InnerException" /> property does not supply the inner exception value to the constructor.</para><para>The following table shows the initial property values for an instance of <see cref="T:System.ArgumentException" />.</para><list type="table"><listheader><item><term><para>Property </para></term><description><para>Value </para></description></item></listheader><item><term><para><see cref="P:System.Exception.InnerException" /></para></term><description><para>The inner exception reference. </para></description></item><item><term><para>Message </para></term><description><para>The error message string. </para></description></item><item><term><para>ParamName </para></term><description><para>The parameter name string. </para></description></item></list></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.ArgumentException" /> class with a specified error message, the parameter name, and a reference to the inner exception that is the cause of this exception.</para></summary><param name="message"><attribution license="cc4" from="Microsoft" modified="false" />The error message that explains the reason for the exception. </param><param name="paramName"><attribution license="cc4" from="Microsoft" modified="false" />The name of the parameter that caused the current exception. </param><param name="innerException"><attribution license="cc4" from="Microsoft" modified="false" />The exception that is the cause of the current exception. If the <paramref name="innerException" /> parameter is not a null reference, the current exception is raised in a catch block that handles the inner exception. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="GetObjectData"><MemberSignature Language="C#" Value="public override void GetObjectData (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance void GetObjectData(class System.Runtime.Serialization.SerializationInfo info, valuetype System.Runtime.Serialization.StreamingContext context) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="info" Type="System.Runtime.Serialization.SerializationInfo" /><Parameter Name="context" Type="System.Runtime.Serialization.StreamingContext" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="M:System.ArgumentException.GetObjectData(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)" /> sets a <see cref="T:System.Runtime.Serialization.SerializationInfo" /> with all the exception object data targeted for serialization. During deserialization, the exception object is reconstituted from the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> transmitted over the stream.</para><para>For more information, see <see cref="T:System.Runtime.Serialization.SerializationInfo" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Sets the <see cref="T:System.Runtime.Serialization.SerializationInfo" /> object with the parameter name and additional exception information.</para></summary><param name="info"><attribution license="cc4" from="Microsoft" modified="false" />The object that holds the serialized object data. </param><param name="context"><attribution license="cc4" from="Microsoft" modified="false" />The contextual information about the source or destination. </param></Docs></Member><Member MemberName="Message"><MemberSignature Language="C#" Value="public override string Message { get; }" /><MemberSignature Language="ILAsm" Value=".property instance string Message" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><value><para>A <see cref="T:System.String" /> containing the error message with <see cref="P:System.ArgumentException.ParamName" /> appended, if it in not <see langword="null" />.</para></value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This property overrides <see cref="P:System.Exception.Message" />. The error message should be localized.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the error message and the parameter name, or only the error message if no parameter name is set.</para></summary></Docs></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; }" /><MemberSignature Language="ILAsm" Value=".property instance string ParamName" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters /><Docs><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><attribution license="cc4" from="Microsoft" modified="false" /><para>Every <see cref="T:System.ArgumentException" /> should carry the name of the parameter that causes this exception. </para><para>This property is read-only, and returns the same value as was passed into the constructor. Overriding methods should be used solely to customize the format of the parameter name.</para><para>The parameter name should not be translated for localization purposes.</para><para /></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the name of the parameter that causes this exception.</para></summary></Docs><Excluded>0</Excluded></Member></Members><TypeExcluded>0</TypeExcluded></Type>