﻿<?xml version="1.0" encoding="utf-8"?><Type Name="Binder" FullName="System.Reflection.Binder" FullNameSP="System_Reflection_Binder" Maintainer="ecma"><TypeSignature Language="ILASM" Value=".class public abstract serializable Binder extends System.Object" /><TypeSignature Language="C#" Value="public abstract class Binder" /><TypeSignature Language="ILAsm" Value=".class public auto ansi abstract serializable beforefieldinit Binder extends System.Object" /><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>All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe.</ThreadingSafetyStatement><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces /><Attributes><Attribute><AttributeName>System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.AutoDual)</AttributeName></Attribute><Attribute><AttributeName>System.Runtime.InteropServices.ComVisible(true)</AttributeName></Attribute></Attributes><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Implementations of the <see cref="T:System.Reflection.Binder" /> class are used by methods such as <see cref="M:System.Type.InvokeMember(System.String,System.Reflection.BindingFlags,System.Reflection.Binder,System.Object,System.Object[])" />, which selects from a set of possible members to execute, based on a set of parameter types and argument values; <see cref="M:System.Type.GetMethod(System.String)" />, which selects a method based on parameter types; and so on.</para><para>A default implementation of the <see cref="T:System.Reflection.Binder" /> class is provided by the <see cref="P:System.Type.DefaultBinder" /> property.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Selects a member from a list of candidates, and performs type conversion from actual argument type to formal argument type. </para></summary></Docs><Members><Member MemberName=".ctor"><MemberSignature Language="ILASM" Value="family specialname instance void .ctor()" /><MemberSignature Language="C#" Value="protected Binder ();" /><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><attribution license="cc4" from="Microsoft" modified="false" /><para>This constructor is called by the constructors of derived classes, to initialize state in this type.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Initializes a new instance of the <see cref="T:System.Reflection.Binder" /> class.</para></summary></Docs><Excluded>0</Excluded></Member><Member MemberName="BindToField"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.FieldInfo BindToField(valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.FieldInfo[] match, object value, class System.Globalization.CultureInfo culture)" /><MemberSignature Language="C#" Value="public abstract System.Reflection.FieldInfo BindToField (System.Reflection.BindingFlags bindingAttr, System.Reflection.FieldInfo[] match, object value, System.Globalization.CultureInfo culture);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Reflection.FieldInfo BindToField(valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.FieldInfo[] match, object value, class System.Globalization.CultureInfo culture) 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.Reflection.FieldInfo</ReturnType></ReturnValue><Parameters><Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" /><Parameter Name="match" Type="System.Reflection.FieldInfo[]" /><Parameter Name="value" Type="System.Object" /><Parameter Name="culture" Type="System.Globalization.CultureInfo" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If <paramref name="bindingAttr" /> does not include <see cref="F:System.Reflection.BindingFlags.SetField" />, the default binder implementation provided by <see cref="P:System.Type.DefaultBinder" /> simply returns the first element of <paramref name="match" />. No selection is done. </para><para>This method controls the binding provided by <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[])" />.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Selects a field from the given set of fields, based on the specified criteria.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The matching field. </para></returns><param name="bindingAttr"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values. </param><param name="match"><attribution license="cc4" from="Microsoft" modified="false" />The set of fields that are candidates for matching. For example, when a <see cref="T:System.Reflection.Binder" /> object is used by <see cref="Overload:System.Type.InvokeMember" />, this parameter specifies the set of fields that reflection has determined to be possible matches, typically because they have the correct member name. The default implementation provided by <see cref="P:System.Type.DefaultBinder" /> changes the order of this array.</param><param name="value"><attribution license="cc4" from="Microsoft" modified="false" />The field value used to locate a matching field. </param><param name="culture"><attribution license="cc4" from="Microsoft" modified="false" />An instance of <see cref="T:System.Globalization.CultureInfo" /> that is used to control the coercion of data types, in binder implementations that coerce types. If <paramref name="culture" /> is null, the <see cref="T:System.Globalization.CultureInfo" /> for the current thread is used.</param></Docs><Excluded>0</Excluded></Member><Member MemberName="BindToMethod"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.MethodBase BindToMethod(valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.MethodBase[] match, class System.Object[]&amp; args, class System.Reflection.ParameterModifier[] modifiers, class System.Globalization.CultureInfo culture, class System.String[] names, class System.Object&amp; state)" /><MemberSignature Language="C#" Value="public abstract System.Reflection.MethodBase BindToMethod (System.Reflection.BindingFlags bindingAttr, System.Reflection.MethodBase[] match, ref object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] names, out object state);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Reflection.MethodBase BindToMethod(valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.MethodBase[] match, object[] args, valuetype System.Reflection.ParameterModifier[] modifiers, class System.Globalization.CultureInfo culture, string[] names, object state) 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.Reflection.MethodBase</ReturnType></ReturnValue><Parameters><Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" /><Parameter Name="match" Type="System.Reflection.MethodBase[]" /><Parameter Name="args" Type="System.Object[]&amp;" RefType="ref" /><Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]" /><Parameter Name="culture" Type="System.Globalization.CultureInfo" /><Parameter Name="names" Type="System.String[]" /><Parameter Name="state" Type="System.Object&amp;" RefType="out" /></Parameters><Docs><param name="bindingAttr">A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values that control the binding process. For requirements, see the Behaviors section.</param><param name="match">An array of <see cref="T:System.Reflection.MethodBase" /> objects that represent the set of methods that Reflection has determined to be a possible match, typically because they have the correct member name.</param><param name="args">An array of objects that represent the parameters passed in the method invocation. The types, values, and order of the elements of this array might be changed by this method to match the signature of the selected method.</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="names">A <see cref="T:System.String" /> array containing the names of methods to be searched.</param><param name="state"><para>A binder-provided <see cref="T:System.Object" /> that keeps track of parameter reordering. The <paramref name="state" /> object is totally defined by the implementer of the <see cref="T:System.Reflection.Binder" /> class. This object is <see langword="null" /> if the binder does not reorder the argument array of the bound method.</para></param><summary><para> Selects a method based on the specified
      criteria. </para></summary><returns><para> A <see cref="T:System.Reflection.MethodBase" />
instance that reflects the method that matches to the specified
criteria. It is not required that this instance be contained in
<paramref name="match" /> . If a suitable method is not found, 
returns <see langword="null" />
.</para></returns><remarks><para>If <paramref name="state" /> is not <see langword="null" />, the system invokes <see cref="M:System.Reflection.Binder.ReorderArgumentArray(System.Object[]@,System.Object)" /> after this method returns. <block subset="none" type="note">This allows a caller to map the argument array of a method back to the original form if the order has been altered by <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@)" /> . This is useful if <see langword="ByRef" /> arguments are in the 
   argument array, because the caller can retrieve those arguments in their
   original order on return from this method. When arguments are passed by name
   (i.e., using named arguments), the binder reorders the argument array and that
   is what the caller sees. This method insures that the original order of the
   arguments is restored.</block></para><block subset="none" type="behaviors"><para>For the <paramref name="bindingAttr" /> parameter, the caller is
   required to specify either <see cref="F:System.Reflection.BindingFlags.Public" /> or <see cref="F:System.Reflection.BindingFlags.NonPublic" />, and either <see cref="F:System.Reflection.BindingFlags.Instance" /> or <see cref="F:System.Reflection.BindingFlags.Static" />. If at least
   one value from each pair is not specified, this method is required to return
<see langword="null" /> .</para><para> 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@)" /> method is permitted to change the order of the argument array of a method call only if the binder returns, via the <paramref name="state" /> parameter, a non-null opaque object that records the original order of the argument array. If, on return from <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@)" />, <paramref name="state" /> is not <see langword="null" />, the system calls <see cref="M:System.Reflection.Binder.ReorderArgumentArray(System.Object[]@,System.Object)" /> 
.</para></block></remarks></Docs><Excluded>0</Excluded></Member><Member MemberName="ChangeType"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract object ChangeType(object value, class System.Type type, class System.Globalization.CultureInfo culture)" /><MemberSignature Language="C#" Value="public abstract object ChangeType (object value, Type type, System.Globalization.CultureInfo culture);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance object ChangeType(object value, class System.Type type, class System.Globalization.CultureInfo culture) 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="value" Type="System.Object" /><Parameter Name="type" Type="System.Type" /><Parameter Name="culture" Type="System.Globalization.CultureInfo" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><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>The general principle is that ChangeType should perform 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.</para><para>The following table lists the coercions performed by the default ChangeType.</para><list type="table"><listheader><item><term><para>Source type </para></term><description><para>Target type </para></description></item></listheader><item><term><para>Any type </para></term><description><para>Its base type. </para></description></item><item><term><para>Any type </para></term><description><para>The interface it implements. </para></description></item><item><term><para>Char </para></term><description><para>UInt16, UInt32, Int32, UInt64, Int64, Single, Double </para></description></item><item><term><para>Byte </para></term><description><para>Char, UInt16, Int16, UInt32, Int32, UInt64, Int64, Single, Double </para></description></item><item><term><para>SByte </para></term><description><para>Int16, Int32, Int64, Single, Double </para></description></item><item><term><para>UInt16 </para></term><description><para>UInt32, Int32, UInt64, Int64, Single, Double </para></description></item><item><term><para>Int16 </para></term><description><para>Int32, Int64, Single, Double </para></description></item><item><term><para>UInt32 </para></term><description><para>UInt64, Int64, Single, Double </para></description></item><item><term><para>Int32 </para></term><description><para>Int64, Single, Double </para></description></item><item><term><para>UInt64 </para></term><description><para>Single, Double </para></description></item><item><term><para>Int64 </para></term><description><para>Single, Double </para></description></item><item><term><para>Single </para></term><description><para>Double </para></description></item><item><term><para>Non-reference </para></term><description><para>By-reference. </para></description></item></list></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Changes the type of the given Object to the given Type.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>An object that contains the given value as the new type. </para></returns><param name="value"><attribution license="cc4" from="Microsoft" modified="false" />The object to change into a new Type. </param><param name="type"><attribution license="cc4" from="Microsoft" modified="false" />The new Type that <paramref name="value" /> will become. </param><param name="culture"><attribution license="cc4" from="Microsoft" modified="false" />An instance of <see cref="T:System.Globalization.CultureInfo" /> that is used to control the coercion of data types. If <paramref name="culture" /> is null, the <see cref="T:System.Globalization.CultureInfo" /> for the current thread is used.</param></Docs><Excluded>0</Excluded></Member><Member MemberName="ReorderArgumentArray"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract void ReorderArgumentArray(class System.Object[]&amp; args, object state)" /><MemberSignature Language="C#" Value="public abstract void ReorderArgumentArray (ref object[] args, object state);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void ReorderArgumentArray(object[] args, object state) 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="args" Type="System.Object[]&amp;" RefType="ref" /><Parameter Name="state" Type="System.Object" /></Parameters><Docs><param name="args">An array of objects whose elements represent the parameters passed to the bound method in their original order.</param><param name="state"><para>A binder-provided opaque object that keeps track of parameter reordering. This object is the same object that was passed as the <paramref name="state" /> parameter in the invocation of <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@)" /> that caused <see cref="M:System.Reflection.Binder.ReorderArgumentArray(System.Object[]@,System.Object)" /> to be called. </para></param><param name="state">To be added.</param><summary><para> Restores the specified set of parameters
      to their original order after a call to <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@)" />
      .</para></summary><remarks><para><block subset="none" type="note">When a method call is bound to a method 
      through reflection using <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@)" /> , the order, value, and type of the
      parameters in the original method call can be changed to match the signature of
      the bound method. The binder creates <paramref name="state" /> as an opaque object that
      records the original order of the argument array. If, on return from <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@)" />, <paramref name="state" /> is not
   <see langword="null" />, the system calls <see cref="M:System.Reflection.Binder.ReorderArgumentArray(System.Object[]@,System.Object)" />. This allows a caller to map the 
      argument array of a method back to the original form if the order had been
      altered by <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@)" /> . This is useful if
   <see langword="ByRef" /> arguments are in the argument array, because the caller 
      can retrieve those arguments in their original order on return from this method.
      When arguments are passed by name (i.e., using named arguments), the binder
      reorders the argument array and that is what the caller sees. This method
      insures that the original order of the arguments is restored.</block></para><para><block subset="none" type="behaviors"><paramref name="state" /> is required to be a non-null <see cref="T:System.Object" /> that tracks the
   original ordering of <paramref name="args" /> if <paramref name="args" /> is reordered
   by a call to <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@)" />
   . This method is required to
   restore the elements of <paramref name="args" /> to their original order, value, and <see cref="T:System.Type" /></block></para><para><block subset="none" type="overrides">Implement this method to insure that the
   parameters contained in <paramref name="args" />
   are returned to their original order, <see cref="T:System.Type" /> and value, after being used by a bound
   method.</block></para><para><block subset="none" type="usage">Use this method to
   insure that the parameters contained in <paramref name="args" /> are returned
   to their original order, <see cref="T:System.Type" /> and value, after being used by a bound method.
</block></para></remarks></Docs><Excluded>0</Excluded></Member><Member MemberName="SelectMethod"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.MethodBase SelectMethod(valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.MethodBase[] match, class System.Type[] types, class System.Reflection.ParameterModifier[] modifiers)" /><MemberSignature Language="C#" Value="public abstract System.Reflection.MethodBase SelectMethod (System.Reflection.BindingFlags bindingAttr, System.Reflection.MethodBase[] match, Type[] types, System.Reflection.ParameterModifier[] modifiers);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Reflection.MethodBase SelectMethod(valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.MethodBase[] match, class System.Type[] types, valuetype System.Reflection.ParameterModifier[] modifiers) 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.Reflection.MethodBase</ReturnType></ReturnValue><Parameters><Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" /><Parameter Name="match" Type="System.Reflection.MethodBase[]" /><Parameter Name="types" Type="System.Type[]" /><Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method should return null if no method matches the criteria. This method controls the selection provided by the GetConstructor and GetMethod methods on Type.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Selects a method from the given set of methods, based on the argument type.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The matching method, if found; otherwise, null.</para></returns><param name="bindingAttr"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values. </param><param name="match"><attribution license="cc4" from="Microsoft" modified="false" />The set of methods that are candidates for matching. For example, when a <see cref="T:System.Reflection.Binder" /> object is used by <see cref="Overload:System.Type.InvokeMember" />, this parameter specifies the set of methods that reflection has determined to be possible matches, typically because they have the correct member name. The default implementation provided by <see cref="P:System.Type.DefaultBinder" /> changes the order of this array.</param><param name="types"><attribution license="cc4" from="Microsoft" modified="false" />The parameter types used to locate a matching method. </param><param name="modifiers"><attribution license="cc4" from="Microsoft" modified="false" />An array of parameter modifiers that enable binding to work with parameter signatures in which the types have been modified. </param></Docs><Excluded>0</Excluded></Member><Member MemberName="SelectProperty"><MemberSignature Language="ILASM" Value=".method public hidebysig virtual abstract class System.Reflection.PropertyInfo SelectProperty(valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.PropertyInfo[] match, class System.Type returnType, class System.Type[] indexes, class System.Reflection.ParameterModifier[] modifiers)" /><MemberSignature Language="C#" Value="public abstract System.Reflection.PropertyInfo SelectProperty (System.Reflection.BindingFlags bindingAttr, System.Reflection.PropertyInfo[] match, Type returnType, Type[] indexes, System.Reflection.ParameterModifier[] modifiers);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Reflection.PropertyInfo SelectProperty(valuetype System.Reflection.BindingFlags bindingAttr, class System.Reflection.PropertyInfo[] match, class System.Type returnType, class System.Type[] indexes, valuetype System.Reflection.ParameterModifier[] modifiers) 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.Reflection.PropertyInfo</ReturnType></ReturnValue><Parameters><Parameter Name="bindingAttr" Type="System.Reflection.BindingFlags" /><Parameter Name="match" Type="System.Reflection.PropertyInfo[]" /><Parameter Name="returnType" Type="System.Type" /><Parameter Name="indexes" Type="System.Type[]" /><Parameter Name="modifiers" Type="System.Reflection.ParameterModifier[]" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>This method controls the selection provided by the GetProperty method on Type.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Selects a property from the given set of properties, based on the specified criteria.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The matching property.</para></returns><param name="bindingAttr"><attribution license="cc4" from="Microsoft" modified="false" />A bitwise combination of <see cref="T:System.Reflection.BindingFlags" /> values. </param><param name="match"><attribution license="cc4" from="Microsoft" modified="false" />The set of properties that are candidates for matching. For example, when a <see cref="T:System.Reflection.Binder" /> object is used by <see cref="Overload:System.Type.InvokeMember" />, this parameter specifies the set of properties that reflection has determined to be possible matches, typically because they have the correct member name. The default implementation provided by <see cref="P:System.Type.DefaultBinder" /> changes the order of this array.</param><param name="returnType"><attribution license="cc4" from="Microsoft" modified="false" />The return value the matching property must have. </param><param name="indexes"><attribution license="cc4" from="Microsoft" modified="false" />The index types of the property being searched for. Used for index properties such as the indexer for a class. </param><param name="modifiers"><attribution license="cc4" from="Microsoft" modified="false" />An array of parameter modifiers that enable binding to work with parameter signatures in which the types have been modified. </param></Docs><Excluded>0</Excluded></Member></Members><TypeExcluded>0</TypeExcluded></Type>