Binder.BindToMethod Método

Definição

Seleciona um método a ser invocado do determinado conjunto de métodos, com base nos argumentos fornecidos.

public:
 abstract System::Reflection::MethodBase ^ BindToMethod(System::Reflection::BindingFlags bindingAttr, cli::array <System::Reflection::MethodBase ^> ^ match, cli::array <System::Object ^> ^ % args, cli::array <System::Reflection::ParameterModifier> ^ modifiers, System::Globalization::CultureInfo ^ culture, cli::array <System::String ^> ^ names, [Runtime::InteropServices::Out] System::Object ^ % state);
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);
abstract member BindToMethod : System.Reflection.BindingFlags * System.Reflection.MethodBase[] * Object[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] * obj -> System.Reflection.MethodBase
Public MustOverride Function BindToMethod (bindingAttr As BindingFlags, match As MethodBase(), ByRef args As Object(), modifiers As ParameterModifier(), culture As CultureInfo, names As String(), ByRef state As Object) As MethodBase

Parâmetros

bindingAttr
BindingFlags

Uma combinação bit a bit de BindingFlags valores.

match
MethodBase[]

O conjunto de métodos que são candidatos à correspondência. Por exemplo, quando um Binder objeto é usado por InvokeMember, esse parâmetro especifica o conjunto de métodos que a reflexão determinou ser possíveis correspondências, normalmente porque eles têm o nome de membro correto. A implementação padrão fornecida altera DefaultBinder a ordem dessa matriz.

args
Object[]

Os argumentos que são passados. O associador pode alterar a ordem dos argumentos nesta matriz; por exemplo, o associador padrão alterará a ordem dos argumentos se o names parâmetro for usado para especificar uma ordem diferente da ordem posicional. Se uma implementação de associador coagir tipos de argumento, os tipos e valores dos argumentos também poderão ser alterados.

modifiers
ParameterModifier[]

Uma matriz de modificadores de parâmetro que permitem que a associação funcione com assinaturas de parâmetro nas quais os tipos foram modificados. A implementação do associador padrão não usa esse parâmetro.

culture
CultureInfo

Uma instância disso CultureInfo é usada para controlar a coerção de tipos de dados, em implementações de associador que coagim tipos. Se culture for null, o CultureInfo thread atual será usado.

names
String[]

Os nomes de parâmetro, se os nomes de parâmetro devem ser considerados ao corresponder ou null se os argumentos devem ser tratados como puramente posicionais. Por exemplo, os nomes de parâmetro devem ser usados se os argumentos não forem fornecidos em ordem posicional.

state
Object

Depois que o método é retornado, state contém um objeto fornecido pelo associador que mantém o controle da reordenação de argumentos. O associador cria esse objeto e o associador é o único consumidor desse objeto. Se state não for null quando BindToMethod retornar, você deve passar state para o método ReorderArgumentArray(Object[], Object) se quiser restaurar args para sua ordem original, por exemplo, para que você possa recuperar os valores de parâmetros ref (parâmetros ByRef em Visual Basic).

Retornos

O método correspondente.

Exceções

Para o associador padrão, match contém vários métodos igualmente bons para args. Por exemplo, args contém um MyClass objeto que implementa a IMyClass interface e match contém um método que usa MyClass e um método que usa IMyClass.

Para o associador padrão, match não contém métodos que possam aceitar os argumentos fornecidos em args.

Para o associador padrão, match é ou uma null matriz vazia.

Comentários

O associador padrão leva em conta os parâmetros que têm valores e matrizes params (matrizes ParamArray em Visual Basic). Portanto, é possível encontrar uma correspondência em casos args em que e match não contenham o mesmo número de elementos.

O associador permite que um cliente mapeie a matriz de argumentos de volta ao formulário original se a matriz de argumentos tiver sido manipulada por BindToMethod. Use essa funcionalidade de remapeamento para obter argumentos de referência de volta quando esses argumentos estiverem presentes. Quando você passa argumentos por nome, o associador reordena a matriz de argumentos. O state parâmetro mantém o controle da reordenação de argumentos, permitindo que o método do ReorderArgumentArray associador reordene a matriz de argumentos para seu formulário original.

O BindToMethod método é usado pelo Type.InvokeMember método.

Se uma implementação de associador permitir a coerção de valores de cadeia de caracteres para tipos numéricos, o culture parâmetro será necessário para converter uma cadeia de caracteres que representa 1000 em um Double valor, pois 1000 é representado de forma diferente por culturas diferentes. O associador padrão não faz essas coerções de cadeia de caracteres.

Aplica-se a

Confira também