﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ParameterInfo" FullName="System.Reflection.ParameterInfo" FullNameSP="System_Reflection_ParameterInfo" Maintainer="ecma"><TypeSignature Language="ILASM" Value=".class public serializable ParameterInfo extends System.Object" /><TypeSignature Language="C#" Value="public class ParameterInfo : System.Reflection.ICustomAttributeProvider, System.Runtime.InteropServices._ParameterInfo" /><TypeSignature Language="ILAsm" Value=".class public sequential ansi serializable beforefieldinit ParameterInfo extends System.Object implements class System.Reflection.ICustomAttributeProvider, class System.Runtime.InteropServices._ParameterInfo" /><MemberOfLibrary>Reflection</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>This type is safe for multithreaded operations. </ThreadingSafetyStatement><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces><Interface><InterfaceName>System.Reflection.ICustomAttributeProvider</InterfaceName></Interface><Interface><InterfaceName>System.Runtime.InteropServices._ParameterInfo</InterfaceName></Interface></Interfaces><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)</AttributeName></Attribute><Attribute><AttributeName>System.Runtime.InteropServices.ComDefaultInterface(typeof(System.Runtime.InteropServices._ParameterInfo))</AttributeName></Attribute><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><permission cref="!:ReflectionPermission">Requires permission to reflect non-public members of a type in loaded assemblies. See <see cref="F:System.Security.Permissions.ReflectionPermissionFlag.TypeInformation" />.</permission><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use an instance of ParameterInfo to obtain information about the parameter's data type, default value, and so on.</para><para><see cref="M:System.Reflection.MethodBase.GetParameters" /> returns an array of ParameterInfo objects representing the parameters of a method, in order.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Discovers the attributes of a parameter and provides access to parameter metadata.</para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="ILASM" Value="family rtspecialname specialname instance void .ctor()" /><MemberSignature Language="C#" Value="protected ParameterInfo ();" /><MemberSignature Language="ILAsm" Value=".method familyhidebysig 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><para> This constructor is called only by classes that derive from
   <see langword="ParameterInfo" /> .</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the ParameterInfo class.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="Attributes"><MemberSignature Language="ILASM" Value=".property valuetype System.Reflection.ParameterAttributes Attributes { public hidebysig virtual specialname valuetype System.Reflection.ParameterAttributes get_Attributes() }" /><MemberSignature Language="C#" Value="public virtual System.Reflection.ParameterAttributes Attributes { get; }" /><MemberSignature Language="ILAsm" Value=".property instance valuetype System.Reflection.ParameterAttributes Attributes" /><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.Reflection.ParameterAttributes</ReturnType></ReturnValue><Parameters /><Docs><value><para>A <see cref="T:System.Reflection.ParameterAttributes" /> value representing the
   attributes for the
   parameter reflected by the current instance.</para></value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method utilizes the <see cref="F:System.Reflection.ParameterInfo.AttrsImpl" /> method.</para><para>To get the <see cref="T:System.Reflection.ParameterInfo" /> array, first get the method or the constructor and then call <see cref="M:System.Reflection.MethodBase.GetParameters" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the attributes for this parameter.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="AttrsImpl"><MemberSignature Language="C#" Value="protected System.Reflection.ParameterAttributes AttrsImpl;" /><MemberSignature Language="ILAsm" Value=".field family valuetype System.Reflection.ParameterAttributes AttrsImpl" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.ParameterAttributes</ReturnType></ReturnValue><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This field is intended only for users who are deriving classes from ParameterInfo.</para><para>Typical access to parameter attributes is through <see cref="P:System.Reflection.ParameterInfo.Attributes" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>The attributes of the parameter.</para></summary></Docs></Member><Member MemberName="ClassImpl"><MemberSignature Language="C#" Value="protected Type ClassImpl;" /><MemberSignature Language="ILAsm" Value=".field family class System.Type ClassImpl" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Type</ReturnType></ReturnValue><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This field is intended only for users who are deriving classes from ParameterInfo.</para><para>Typical access to parameter types is through <see cref="P:System.Reflection.ParameterInfo.ParameterType" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>The Type of the parameter.</para></summary></Docs></Member><Member MemberName="CustomAttributes"><MemberSignature Language="C#" Value="public virtual System.Collections.Generic.IEnumerable&lt;System.Reflection.CustomAttributeData&gt; CustomAttributes { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Generic.IEnumerable`1&lt;class System.Reflection.CustomAttributeData&gt; CustomAttributes" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Collections.Generic.IEnumerable&lt;System.Reflection.CustomAttributeData&gt;</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a collection that contains this parameter's custom attributes.</para></summary></Docs></Member><Member MemberName="DefaultValue"><MemberSignature Language="C#" Value="public virtual object DefaultValue { get; }" /><MemberSignature Language="ILAsm" Value=".property instance object DefaultValue" /><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.Object</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This property is used only in the execution context. In the reflection-only context, use the <see cref="P:System.Reflection.ParameterInfo.RawDefaultValue" /> property instead.</para><para>The default value is used when an actual value is not specified in the method call. A parameter can have a default value that is null. This is distinct from the case where a default value is not defined.</para><para>This method utilizes the <see cref="F:System.Reflection.ParameterInfo.DefaultValueImpl" /> method.</para><para>To get the <see cref="T:System.Reflection.ParameterInfo" /> array, first get the method or the constructor and then call <see cref="M:System.Reflection.MethodBase.GetParameters" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating the default value if the parameter has a default value.</para></summary></Docs></Member><Member MemberName="DefaultValueImpl"><MemberSignature Language="C#" Value="protected object DefaultValueImpl;" /><MemberSignature Language="ILAsm" Value=".field family object DefaultValueImpl" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Object</ReturnType></ReturnValue><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This field is intended only for users who are deriving classes from ParameterInfo.</para><para>Typical access to the default value of the parameter is through <see cref="P:System.Reflection.ParameterInfo.DefaultValue" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>The default value of the parameter.</para></summary></Docs></Member><Member MemberName="GetCustomAttributes"><MemberSignature Language="C#" Value="public virtual object[] GetCustomAttributes (bool inherit);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance object[] GetCustomAttributes(bool inherit) 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.Object[]</ReturnType></ReturnValue><Parameters><Parameter Name="inherit" Type="System.Boolean" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method ignores the <paramref name="inherit" /> parameter. To search the inheritance chain for attributes on parameters, use the appropriate overloads of the <see cref="M:System.Attribute.GetCustomAttributes(System.Reflection.Assembly)" /> method. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets all the custom attributes defined on this parameter.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An array that contains all the custom attributes applied to this parameter.</para></returns><param name="inherit"><attribution license="cc4" from="Microsoft" modified="false" />This argument is ignored for objects of this type. See Remarks.</param></Docs></Member><Member MemberName="GetCustomAttributes"><MemberSignature Language="C#" Value="public virtual object[] GetCustomAttributes (Type attributeType, bool inherit);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance object[] GetCustomAttributes(class System.Type attributeType, bool inherit) 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.Object[]</ReturnType></ReturnValue><Parameters><Parameter Name="attributeType" Type="System.Type" /><Parameter Name="inherit" Type="System.Boolean" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method ignores the <paramref name="inherit" /> parameter. To search the inheritance chain for attributes on parameters, use the appropriate overloads of the <see cref="M:System.Attribute.GetCustomAttributes(System.Reflection.Assembly)" /> method. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the custom attributes of the specified type or its derived types that are applied to this parameter.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An array that contains the custom attributes of the specified type or its derived types.</para></returns><param name="attributeType"><attribution license="cc4" from="Microsoft" modified="false" />The custom attributes identified by type. </param><param name="inherit"><attribution license="cc4" from="Microsoft" modified="false" />This argument is ignored for objects of this type. See Remarks.</param></Docs></Member><Member MemberName="GetCustomAttributesData"><MemberSignature Language="C#" Value="public virtual System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeData&gt; GetCustomAttributesData ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Collections.Generic.IList`1&lt;class System.Reflection.CustomAttributeData&gt; GetCustomAttributesData() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Collections.Generic.IList&lt;System.Reflection.CustomAttributeData&gt;</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Use this method to examine the custom attributes of code in the reflection-only context, in cases where the custom attributes themselves are defined in code that is loaded into the reflection-only context. Methods such as <see cref="Overload:System.Attribute.GetCustomAttributes" /> and <see cref="Overload:System.Reflection.ParameterInfo.GetCustomAttributes" /> cannot be used in such cases, because they create instances of the attributes. Code in the reflection-only context cannot be executed. For more information and example code, see the <see cref="T:System.Reflection.CustomAttributeData" /> class.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Returns a list of <see cref="T:System.Reflection.CustomAttributeData" /> objects for the current parameter, which can be used in the reflection-only context.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A generic list of <see cref="T:System.Reflection.CustomAttributeData" /> objects representing data about the attributes that have been applied to the current parameter.</para></returns></Docs></Member><Member MemberName="GetOptionalCustomModifiers"><MemberSignature Language="C#" Value="public virtual Type[] GetOptionalCustomModifiers ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Type[] GetOptionalCustomModifiers() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Type[]</ReturnType></ReturnValue><Parameters /><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Reflection.ParameterInfo.GetOptionalCustomModifiers" /> and <see cref="M:System.Reflection.ParameterInfo.GetRequiredCustomModifiers" /> methods are provided for designers of managed compilers. For more information on custom modifiers, see <see cref="T:System.Runtime.CompilerServices.IsBoxed" /> and related classes in the <see cref="N:System.Runtime.CompilerServices" /> namespace, and the metadata specification in the ECMA Partition II documentation. The documentation is available online; see <see cref="http://go.microsoft.com/fwlink/?LinkID=99212">ECMA C# and Common Language Infrastructure Standards</see> on MSDN and <see cref="http://go.microsoft.com/fwlink/?LinkID=65552">Standard ECMA-335 - Common Language Infrastructure (CLI)</see> on the Ecma International Web site.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the optional custom modifiers of the parameter.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An array of <see cref="T:System.Type" /> objects that identify the optional custom modifiers of the current parameter, such as <see cref="T:System.Runtime.CompilerServices.IsConst" /> or <see cref="T:System.Runtime.CompilerServices.IsImplicitlyDereferenced" />.</para></returns></Docs></Member><Member MemberName="GetRequiredCustomModifiers"><MemberSignature Language="C#" Value="public virtual Type[] GetRequiredCustomModifiers ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Type[] GetRequiredCustomModifiers() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Type[]</ReturnType></ReturnValue><Parameters /><Docs><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="M:System.Reflection.ParameterInfo.GetOptionalCustomModifiers" /> and <see cref="M:System.Reflection.ParameterInfo.GetRequiredCustomModifiers" /> methods are provided for designers of managed compilers. For more information on custom modifiers, see <see cref="T:System.Runtime.CompilerServices.IsBoxed" /> and related classes in the <see cref="N:System.Runtime.CompilerServices" /> namespace, and the metadata specification in the ECMA Partition II documentation. The documentation is available online; see <see cref="http://go.microsoft.com/fwlink/?LinkID=99212">ECMA C# and Common Language Infrastructure Standards</see> on MSDN and <see cref="http://go.microsoft.com/fwlink/?LinkID=65552">Standard ECMA-335 - Common Language Infrastructure (CLI)</see> on the Ecma International Web site.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the required custom modifiers of the parameter.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An array of <see cref="T:System.Type" /> objects that identify the required custom modifiers of the current parameter, such as <see cref="T:System.Runtime.CompilerServices.IsConst" /> or <see cref="T:System.Runtime.CompilerServices.IsImplicitlyDereferenced" />.</para></returns></Docs></Member><Member MemberName="HasDefaultValue"><MemberSignature Language="C#" Value="public virtual bool HasDefaultValue { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool HasDefaultValue" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value that indicates whether this parameter has a default value.</para></summary></Docs></Member><Member MemberName="IsDefined"><MemberSignature Language="C#" Value="public virtual bool IsDefined (Type attributeType, bool inherit);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool IsDefined(class System.Type attributeType, bool inherit) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="attributeType" Type="System.Type" /><Parameter Name="inherit" Type="System.Boolean" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method ignores the <paramref name="inherit" /> parameter. To search the inheritance chain for attributes on parameters, use the appropriate overloads of the <see cref="M:System.Attribute.IsDefined(System.Reflection.MemberInfo,System.Type,System.Boolean)" /> method. </para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Determines whether the custom attribute of the specified type or its derived types is applied to this parameter.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>true if one or more instances of <paramref name="attributeType" /> or its derived types are applied to this parameter; otherwise, false.</para></returns><param name="attributeType"><attribution license="cc4" from="Microsoft" modified="false" />The Type object to search for. </param><param name="inherit"><attribution license="cc4" from="Microsoft" modified="false" />This argument is ignored for objects of this type. See Remarks.</param></Docs></Member><Member MemberName="IsIn"><MemberSignature Language="C#" Value="public bool IsIn { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool IsIn" /><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.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method depends on an optional metadata flag. This flag can be inserted by compilers, but the compilers are not obligated to do so.</para><para>This method utilizes the In flag of the ParameterAttributes enumerator.</para><para>To get the <see cref="T:System.Reflection.ParameterInfo" /> array, first get the method or the constructor and then call <see cref="M:System.Reflection.MethodBase.GetParameters" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating whether this is an input parameter.</para></summary></Docs></Member><Member MemberName="IsLcid"><MemberSignature Language="C#" Value="public bool IsLcid { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool IsLcid" /><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.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method depends on an optional metadata flag. This flag can be inserted by compilers, but the compilers are not obligated to do so.</para><para>This method utilizes the Lcid flag of the ParameterAttributes enumerator.</para><para>To get the <see cref="T:System.Reflection.ParameterInfo" /> array, first get the method or the constructor and then call <see cref="M:System.Reflection.MethodBase.GetParameters" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating whether this parameter is a locale identifier (lcid).</para></summary></Docs></Member><Member MemberName="IsOptional"><MemberSignature Language="C#" Value="public bool IsOptional { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool IsOptional" /><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.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method depends on an optional metadata flag. This flag can be inserted by compilers, but the compilers are not obligated to do so.</para><para>This method utilizes the Optional flag of the ParameterAttributes enumerator.</para><para>To get the <see cref="T:System.Reflection.ParameterInfo" /> array, first get the method and then call <see cref="M:System.Reflection.MethodBase.GetParameters" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating whether this parameter is optional.</para></summary></Docs></Member><Member MemberName="IsOut"><MemberSignature Language="C#" Value="public bool IsOut { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool IsOut" /><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.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method depends on an optional metadata flag. This flag can be inserted by compilers, but the compilers are not obligated to do so.</para><para>This method utilizes the Out flag of the ParameterAttributes enumerator.</para><para>To get the <see cref="T:System.Reflection.ParameterInfo" /> array, first get the method or the constructor and then call <see cref="M:System.Reflection.MethodBase.GetParameters" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating whether this is an output parameter.</para></summary></Docs></Member><Member MemberName="IsRetval"><MemberSignature Language="C#" Value="public bool IsRetval { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool IsRetval" /><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.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method depends on an optional metadata flag. This flag can be inserted by compilers, but the compilers are not obligated to do so.</para><para>This method utilizes the Retval flag of the ParameterAttributes enumerator.</para><para>To get the <see cref="T:System.Reflection.ParameterInfo" /> array, first get the method or the constructor and then call <see cref="M:System.Reflection.MethodBase.GetParameters" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating whether this is a Retval parameter.</para></summary></Docs></Member><Member MemberName="Member"><MemberSignature Language="C#" Value="public virtual System.Reflection.MemberInfo Member { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Reflection.MemberInfo Member" /><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.Reflection.MemberInfo</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating the member in which the parameter is implemented.</para></summary></Docs></Member><Member MemberName="MemberImpl"><MemberSignature Language="C#" Value="protected System.Reflection.MemberInfo MemberImpl;" /><MemberSignature Language="ILAsm" Value=".field family class System.Reflection.MemberInfo MemberImpl" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Reflection.MemberInfo</ReturnType></ReturnValue><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This field is intended only for users who are deriving classes from ParameterInfo.</para><para>Typical access to the parameter name is through the <see cref="P:System.Reflection.ParameterInfo.Member" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>The member in which the field is implemented.</para></summary></Docs></Member><Member MemberName="MetadataToken"><MemberSignature Language="C#" Value="public virtual int MetadataToken { get; }" /><MemberSignature Language="ILAsm" Value=".property instance int32 MetadataToken" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>To get the module, use the <see cref="P:System.Reflection.MemberInfo.Module" /> property of the member that defines this parameter.</para><para>The tokens obtained using this property can be passed to the unmanaged Reflection API. For more information, please see <format type="text/html"><a href="0c5bb9de-0cf6-438d-ba47-134e6c775fb8">The Unmanaged Reflection API</a></format>.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value that identifies this parameter in metadata.</para></summary></Docs></Member><Member MemberName="Name"><MemberSignature Language="ILASM" Value=".property string Name { public hidebysig virtual specialname string get_Name() }" /><MemberSignature Language="C#" Value="public virtual string Name { get; }" /><MemberSignature Language="ILAsm" Value=".property instance string Name" /><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 reflected by the current
instance.</para></value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This property utilizes the protected <see cref="F:System.Reflection.ParameterInfo.NameImpl" /> field, and depends on an optional metadata flag that might not be available in all compilers.</para><para>To get the <see cref="T:System.Reflection.ParameterInfo" /> array, first get the method or the constructor and then call the <see cref="M:System.Reflection.MethodBase.GetParameters" /> method.</para><block subset="none" type="note"><para>If this <see cref="T:System.Reflection.ParameterInfo" /> represents a return value (that is, if it was obtained by using the <see cref="P:System.Reflection.MethodInfo.ReturnParameter" /> property), this property will be null.</para></block></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the name of the parameter.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="NameImpl"><MemberSignature Language="C#" Value="protected string NameImpl;" /><MemberSignature Language="ILAsm" Value=".field family string NameImpl" /><MemberType>Field</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><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This field is intended only for users who are deriving classes from ParameterInfo.</para><para>Typical access to the parameter name is through the <see cref="P:System.Reflection.ParameterInfo.Name" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>The name of the parameter.</para></summary></Docs></Member><Member MemberName="ParameterType"><MemberSignature Language="ILASM" Value=".property class System.Type ParameterType { public hidebysig virtual specialname class System.Type get_ParameterType() }" /><MemberSignature Language="C#" Value="public virtual Type ParameterType { get; }" /><MemberSignature Language="ILAsm" Value=".property instance class System.Type ParameterType" /><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.Type</ReturnType></ReturnValue><Parameters /><Docs><value><para> The <see cref="T:System.Type" /> of the parameter
   reflected
   by
   the current instance.</para></value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method depends on an optional metadata and might not be available in all compilers.</para><para>To get the <see cref="T:System.Reflection.ParameterInfo" /> array, first get the method or the constructor and then call <see cref="M:System.Reflection.MethodBase.GetParameters" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the Type of this parameter.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="Position"><MemberSignature Language="C#" Value="public virtual int Position { get; }" /><MemberSignature Language="ILAsm" Value=".property instance int32 Position" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Only parameters in the method signature (that is, in the formal parameter list) are considered when calculating the position. For instance methods, the hidden parameter that represents this (Me in Visual Basic) is not counted. </para><para>This method utilizes the <see cref="F:System.Reflection.ParameterInfo.PositionImpl" /> method.</para><para>To get the <see cref="T:System.Reflection.ParameterInfo" /> array, first get the method or the constructor and then call <see cref="M:System.Reflection.MethodBase.GetParameters" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the zero-based position of the parameter in the formal parameter list.</para></summary></Docs></Member><Member MemberName="PositionImpl"><MemberSignature Language="C#" Value="protected int PositionImpl;" /><MemberSignature Language="ILAsm" Value=".field family int32 PositionImpl" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This field is intended only for users who are deriving classes from ParameterInfo.</para><para>Typical access to the name of the parameter is through <see cref="P:System.Reflection.ParameterInfo.Position" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>The zero-based position of the parameter in the parameter list.</para></summary></Docs></Member><Member MemberName="RawDefaultValue"><MemberSignature Language="C#" Value="public virtual object RawDefaultValue { get; }" /><MemberSignature Language="ILAsm" Value=".property instance object RawDefaultValue" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Object</ReturnType></ReturnValue><Docs><value>To be added.</value><since version=".NET 2.0" /><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This property can be used in both the execution context and the reflection-only context.</para><para>The default value is used when an actual value is not specified in the method call. A parameter can have a default value that is null. This is distinct from the case where a default value is not defined.</para><para>To get the <see cref="T:System.Reflection.ParameterInfo" /> array, first get the method or the constructor and then call the <see cref="M:System.Reflection.MethodBase.GetParameters" /> method.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets a value indicating the default value if the parameter has a default value.</para></summary></Docs></Member><Member MemberName="System.Runtime.InteropServices._ParameterInfo.GetIDsOfNames"><MemberSignature Language="C#" Value="void _ParameterInfo.GetIDsOfNames (ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Runtime.InteropServices._ParameterInfo.GetIDsOfNames(valuetype System.Guid riid, native int rgszNames, unsigned int32 cNames, unsigned int32 lcid, native int rgDispId) 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="riid" Type="System.Guid&amp;" RefType="ref" /><Parameter Name="rgszNames" Type="System.IntPtr" /><Parameter Name="cNames" Type="System.UInt32" /><Parameter Name="lcid" Type="System.UInt32" /><Parameter Name="rgDispId" Type="System.IntPtr" /></Parameters><Docs><param name="riid">To be added.</param><param name="rgszNames">To be added.</param><param name="cNames">To be added.</param><param name="lcid">To be added.</param><param name="rgDispId">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="System.Runtime.InteropServices._ParameterInfo.GetTypeInfo"><MemberSignature Language="C#" Value="void _ParameterInfo.GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Runtime.InteropServices._ParameterInfo.GetTypeInfo(unsigned int32 iTInfo, unsigned int32 lcid, native int ppTInfo) 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="iTInfo" Type="System.UInt32" /><Parameter Name="lcid" Type="System.UInt32" /><Parameter Name="ppTInfo" Type="System.IntPtr" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method is for access to managed classes from unmanaged code, and should not be called from managed code. For more information about <unmanagedCodeEntityReference>IDispatch::GetTypeInfo</unmanagedCodeEntityReference>, see the MSDN Library.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Retrieves the type information for an object, which can then be used to get the type information for an interface.</para></summary><param name="iTInfo"><attribution license="cc4" from="Microsoft" modified="false" />The type information to return.</param><param name="lcid"><attribution license="cc4" from="Microsoft" modified="false" />The locale identifier for the type information.</param><param name="ppTInfo"><attribution license="cc4" from="Microsoft" modified="false" />Receives a pointer to the requested type information object.</param></Docs></Member><Member MemberName="System.Runtime.InteropServices._ParameterInfo.GetTypeInfoCount"><MemberSignature Language="C#" Value="void _ParameterInfo.GetTypeInfoCount (out uint pcTInfo);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Runtime.InteropServices._ParameterInfo.GetTypeInfoCount(unsigned int32 pcTInfo) 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="pcTInfo" Type="System.UInt32&amp;" RefType="out" /></Parameters><Docs><param name="pcTInfo">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="System.Runtime.InteropServices._ParameterInfo.Invoke"><MemberSignature Language="C#" Value="void _ParameterInfo.Invoke (uint dispIdMember, ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr);" /><MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Runtime.InteropServices._ParameterInfo.Invoke(unsigned int32 dispIdMember, valuetype System.Guid riid, unsigned int32 lcid, int16 wFlags, native int pDispParams, native int pVarResult, native int pExcepInfo, native int puArgErr) 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="dispIdMember" Type="System.UInt32" /><Parameter Name="riid" Type="System.Guid&amp;" RefType="ref" /><Parameter Name="lcid" Type="System.UInt32" /><Parameter Name="wFlags" Type="System.Int16" /><Parameter Name="pDispParams" Type="System.IntPtr" /><Parameter Name="pVarResult" Type="System.IntPtr" /><Parameter Name="pExcepInfo" Type="System.IntPtr" /><Parameter Name="puArgErr" Type="System.IntPtr" /></Parameters><Docs><param name="dispIdMember">To be added.</param><param name="riid">To be added.</param><param name="lcid">To be added.</param><param name="wFlags">To be added.</param><param name="pDispParams">To be added.</param><param name="pVarResult">To be added.</param><param name="pExcepInfo">To be added.</param><param name="puArgErr">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="ToString"><MemberSignature Language="C#" Value="public override string ToString ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig virtual instance string ToString() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>1.0.5000.0</AssemblyVersion><AssemblyVersion>2.0.0.0</AssemblyVersion><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Parameters /><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the parameter type and name represented as a string.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A string containing the type and the name of the parameter.</para></returns></Docs></Member></Members><TypeExcluded>0</TypeExcluded></Type>