TypeBuilder.InvokeMember Método

Definição

Invoca o elemento especificado. O método a invocar deve ser acessível e fornecer a correspondência mais específica com a lista de argumentos especificada, sob as restrições dos atributos de binder e invocação especificados.

public:
 override System::Object ^ InvokeMember(System::String ^ name, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, System::Object ^ target, cli::array <System::Object ^> ^ args, cli::array <System::Reflection::ParameterModifier> ^ modifiers, System::Globalization::CultureInfo ^ culture, cli::array <System::String ^> ^ namedParameters);
public override object InvokeMember(string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
override this.InvokeMember : string * System.Reflection.BindingFlags * System.Reflection.Binder * obj * obj[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] -> obj
Public Overrides Function InvokeMember (name As String, invokeAttr As BindingFlags, binder As Binder, target As Object, args As Object(), modifiers As ParameterModifier(), culture As CultureInfo, namedParameters As String()) As Object

Parâmetros

name
String

O nome do membro a invocar. Isto pode ser um construtor, método, propriedade ou campo. Deve ser especificado um atributo de invocação adequado. Note-se que é possível invocar o membro padrão de uma classe passando uma cadeia vazia como nome do membro.

invokeAttr
BindingFlags

O atributo de invocação. Isto deve ser um bit de alerta de BindingFlags.

binder
Binder

Um objeto que permite a ligação, coerção de tipos de argumentos, invocação de membros e recuperação de MemberInfo objetos através da reflexão. Se o fichário for null, o binder padrão é usado. Consulte Binder.

target
Object

O objeto sobre o qual invocar o membro especificado. Se o elemento for estático, este parâmetro é ignorado.

args
Object[]

Uma lista de argumentos. Este é um array de Objects que contém o número, ordem e tipo dos parâmetros do membro a ser invocado. Se não houver parâmetros, isto deverá ser nulo.

modifiers
ParameterModifier[]

Um array do mesmo comprimento que args com elementos que representam os atributos associados aos argumentos do membro a invocar. Um parâmetro tem atributos associados nos metadados. São utilizados por vários serviços de interoperabilidade. Consulte as especificações de metadados para mais detalhes.

culture
CultureInfo

Um exemplo de CultureInfo usado para governar a coerção de tipos. Se isto for nulo, usa-se para CultureInfo o thread atual. (Note que isto é necessário, por exemplo, para converter uma String que representa 1000 num valor Double, já que 1000 é representado de forma diferente por culturas diferentes.)

namedParameters
String[]

Cada parâmetro no namedParameters array recebe o valor no elemento correspondente do args array. Se o comprimento de args for maior que o comprimento de namedParameters, os valores restantes dos argumentos são passados por ordem.

Devoluções

Devolve o valor de retorno do membro invocado.

Exceções

Este método não é atualmente suportado para tipos incompletos.

Observações

Um método será invocado se o número de parâmetros na declaração do método for igual ao número de argumentos na lista de argumentos especificada, e o tipo de cada argumento puder ser convertido pelo binder para o tipo do parâmetro.

O binder vai encontrar todos os métodos de correspondência. Estes métodos são encontrados com base no tipo de ligação solicitada (BindingFlags.InvokeMethod, BindingFlags.GetProperties, entre outros). O conjunto de métodos é filtrado pelo nome, número de argumentos e um conjunto de modificadores de pesquisa definidos no binder. Depois de selecionado o método, será invocado. A acessibilidade é verificada nesse ponto. A pesquisa pode controlar que conjunto de métodos são pesquisados com base no atributo de acessibilidade associado ao método. O IBinder.BindToMethod método é responsável por selecionar o método a ser invocado. O dossier padrão seleciona a correspondência mais específica.

Note

As restrições de acesso são ignoradas para código totalmente confiável. Ou seja, construtores privados, métodos, campos e propriedades podem ser acedidos e invocados usando Reflection sempre que o código for totalmente confiável.

Este método não é atualmente suportado. Pode recuperar o tipo usando Type.GetType ou Assembly.GetType e usar reflexão sobre o tipo recuperado.

Aplica-se a