1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491
|
<?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[]& args, class System.Reflection.ParameterModifier[] modifiers, class System.Globalization.CultureInfo culture, class System.String[] names, class System.Object& 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[]&" 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&" 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[]& 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[]&" 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>
|