TypeBuilder.InvokeMember Método

Definição

Invoca o membro especificado. O método que deve ser invocado 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 associação 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 ser invocado. Pode ser um construtor, um método, uma propriedade ou um campo. Um atributo de invocação adequado deve ser especificado. Observe que é possível invocar o membro padrão de uma classe passando uma cadeia de caracteres vazia como o nome do membro.

invokeAttr
BindingFlags

O atributo de invocação. Isso deve ser um sinalizador de bits de BindingFlags.

binder
Binder

Um objeto que permite a associação, a coerção de tipos de argumento, a invocação de membros e a recuperação de objetos MemberInfo usando reflexão. Se o associador for null, o associador padrão será usado. Consulte Binder.

target
Object

O objeto no qual invocar o membro especificado. Se o membro for estático, esse parâmetro será ignorado.

args
Object[]

Uma lista de argumentos. Essa é uma matriz de Objetos que contém o número, a ordem e o tipo dos parâmetros do membro a ser invocado. Se não houver parâmetros, isso deverá ser nulo.

modifiers
ParameterModifier[]

Uma matriz do mesmo comprimento args que com elementos que representam os atributos associados aos argumentos do membro a ser invocado. Um parâmetro tem atributos associados a ele nos metadados. Eles são usados por vários serviços de interoperabilidade. Consulte as especificações de metadados para obter mais detalhes.

culture
CultureInfo

Uma instância usada CultureInfo para controlar a coerção de tipos. Se isso for nulo, o CultureInfo thread atual será usado. (Observe que isso é necessário para, por exemplo, converter uma cadeia de caracteres que representa 1000 em um valor duplo, uma vez que 1000 é representado de forma diferente por culturas diferentes.)

namedParameters
String[]

Cada parâmetro na namedParameters matriz obtém o valor no elemento correspondente na args matriz. Se o comprimento for args maior do que o comprimento de namedParameters, os valores de argumento restantes serão passados em ordem.

Retornos

Retorna o valor retornado do membro invocado.

Exceções

No momento, não há suporte para esse método para tipos incompletos.

Comentários

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

O associador encontrará todos os métodos correspondentes. Esses métodos são encontrados com base no tipo de associação solicitada (BindingFlags.InvokeMethod, BindingFlags.GetProperties e assim por diante).). O conjunto de métodos é filtrado pelo nome, número de argumentos e um conjunto de modificadores de pesquisa definidos no associador. Depois que o método for selecionado, ele será invocado. A acessibilidade é verificada nesse ponto. A pesquisa pode controlar qual conjunto de métodos é pesquisado 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 associador 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 acessados e invocados usando Reflexão sempre que o código for totalmente confiável.

No momento, não há suporte para esse método. Você pode recuperar o tipo usando Type.GetType ou Assembly.GetType e usar reflexão sobre o tipo recuperado.

Aplica-se a