MethodBuilder.Invoke Método

Definição

Invoca dinamicamente o método refletido por esta instância no objeto dado, passando os parâmetros especificados e sob as restrições do binder dado.

public:
 override System::Object ^ Invoke(System::Object ^ obj, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, cli::array <System::Object ^> ^ parameters, System::Globalization::CultureInfo ^ culture);
public override object Invoke(object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object[] parameters, System.Globalization.CultureInfo culture);
override this.Invoke : obj * System.Reflection.BindingFlags * System.Reflection.Binder * obj[] * System.Globalization.CultureInfo -> obj
Public Overrides Function Invoke (obj As Object, invokeAttr As BindingFlags, binder As Binder, parameters As Object(), culture As CultureInfo) As Object

Parâmetros

obj
Object

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

invokeAttr
BindingFlags

Isto deve ser um pequeno sinal de alerta de BindingFlags : InvokeMethod, NonPublic, e assim sucessivamente.

binder
Binder

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

parameters
Object[]

Uma lista de argumentos. Trata-se de um array de argumentos com o mesmo número, ordem e tipo que os parâmetros do método a invocar. Se não existirem parâmetros, isto deveria ser null.

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 um String que representa 1000 num Double valor, uma vez que 1000 é representado de forma diferente por culturas diferentes.)

Devoluções

Devolve um objeto contendo o valor de retorno do método invocado.

Exceções

Observações

Se o método for estático, o obj parâmetro é ignorado. Para métodos não estáticos, obj deve ser uma instância de uma classe que herda ou declara o método e deve ser do mesmo tipo que esta classe. Se o método não tiver parâmetros, o valor de parameters deve ser null. Caso contrário, o número, tipo e ordem dos elementos no array de parâmetros devem ser idênticos ao número, tipo e ordem dos parâmetros do método refletido por esta instância.

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.

Aplica-se a