Compartilhar via


AccessibleObject.IReflect.InvokeMember Método

Definição

Invoca um membro especificado. Para obter uma descrição desse membro, confira InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]).

 virtual System::Object ^ System.Reflection.IReflect.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) = System::Reflection::IReflect::InvokeMember;
object IReflect.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);
object? IReflect.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);
abstract member System.Reflection.IReflect.InvokeMember : string * System.Reflection.BindingFlags * System.Reflection.Binder * obj * obj[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] -> obj
override this.System.Reflection.IReflect.InvokeMember : string * System.Reflection.BindingFlags * System.Reflection.Binder * obj * obj[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] -> obj
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 Implements IReflect.InvokeMember

Parâmetros

name
String

O nome do membro a ser localizado.

invokeAttr
BindingFlags

Um dos atributos de invocação de BindingFlags.

binder
Binder

Um dos sinalizadores de bit BindingFlags. Implementa o Associador, contendo as propriedades relacionadas a este método.

target
Object

O objeto no qual invocar o membro especificado. Esse parâmetro é ignorado para membros estáticos.

args
Object[]

Esta é uma matriz de objetos que contém o número, a ordem e o tipo dos parâmetros do membro a ser invocado. Isso é uma matriz vazia se não há nenhum parâmetro.

modifiers
ParameterModifier[]

Uma matriz de objetos de ParameterModifier.

culture
CultureInfo

Uma instância de CultureInfo usada para determinar a coerção de tipos.

namedParameters
String[]

Uma matriz de cadeias de caracteres de parâmetros.

Retornos

Object

O membro especificado.

Implementações

Exceções

invokeAttr é CreateInstance e outro sinalizador de bit é definido também.

-ou- invokeAttr não é CreateInstance e o nome é null.

- ou -

invokeAttr não é um atributo de invocação de BindingFlags.

- ou -

invokeAttr especifica get e set de uma propriedade ou campo.

- ou -

invokeAttr especifica um conjunto de campos e um método Invoke.args é fornecido para uma operação get de campo.

- ou -

Mais de um argumento é especificado para uma operação de definição de campo.

Não é possível encontrar o campo nem a propriedade.

Não é possível localizar o método.

Um membro privado é chamado sem a ReflectionPermission necessária.

Comentários

O parâmetro invokeAttr pode ser um construtor, um método, uma propriedade ou um campo. É necessário especificar um atributo de invocação adequado. Invoque o membro padrão de uma classe, passando a cadeia de caracteres vazia ("") como o nome do membro.

O modifiers parâmetro tem o mesmo comprimento que o args parâmetro, representando os atributos de argumento do membro invocado nos metadados. Um parâmetro pode ter os seguintes atributos: pdIn, pdOut, pdRetval, pdOptional e pdHasDefault. Eles representam [In], [Out], [retval], [optional] e um parâmetro padrão, respectivamente.

Este membro é uma implementação do membro de interface explícita. Ele só pode ser usado quando a instância de AccessibleObject é convertida em uma interface de IReflect.

Aplica-se a