MethodBuilder.Invoke Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
Este método não é atualmente suportado. Recupere o método usando GetMethod(String, BindingFlags, Binder, CallingConventions, Type[], ParameterModifier[]) e chame InvokeMember(String, BindingFlags, Binder, Object, Object[], ParameterModifier[], CultureInfo, String[]) no retorno MethodInfo.
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.