IInvocationHandler.Invoke(Object, Method, Object[]) 方法

定义

处理代理实例上的方法调用并返回结果。

[Android.Runtime.Register("invoke", "(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;", "GetInvoke_Ljava_lang_Object_Ljava_lang_reflect_Method_arrayLjava_lang_Object_Handler:Java.Lang.Reflect.IInvocationHandlerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]
public Java.Lang.Object? Invoke (Java.Lang.Object? proxy, Java.Lang.Reflect.Method? method, Java.Lang.Object[]? args);
[<Android.Runtime.Register("invoke", "(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;", "GetInvoke_Ljava_lang_Object_Ljava_lang_reflect_Method_arrayLjava_lang_Object_Handler:Java.Lang.Reflect.IInvocationHandlerInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]
abstract member Invoke : Java.Lang.Object * Java.Lang.Reflect.Method * Java.Lang.Object[] -> Java.Lang.Object

参数

proxy
Object

调用该方法的代理实例

method
Method

对应于 Method 在代理实例上调用的接口方法的实例。 对象的声明类 Method 将是方法声明的接口,该接口可能是代理类继承该方法的代理接口的超级接口。

args
Object[]

一个对象数组,其中包含在代理实例上的方法调用中传递的参数的值,或者 null 接口方法不采用任何参数。 基元类型的参数包装在适当的基元包装器类的实例中,例如 java.lang.Integerjava.lang.Boolean

返回

要从代理实例上的方法调用返回的值。 如果接口方法的声明返回类型是基元类型,则此方法返回的值必须是相应基元包装器类的实例;否则,它必须是可分配给声明的返回类型的类型。 如果此方法 null 返回的值并且接口方法的返回类型为基元,则代理实例上的方法调用将引发 a NullPointerException 。 如果此方法返回的值与上述接口方法声明的返回类型不兼容,则代理实例上的方法调用将引发 a ClassCastException

属性

例外

从代理上调用的方法引发的异常。 该异常必须与已调用方法的声明的异常类型之一或任何未选中的异常类型匹配。 如果没有, UndeclaredThrowableException 则会引发

注解

处理代理实例上的方法调用并返回结果。 当在与之关联的代理实例上调用方法时,将在调用处理程序上调用此方法。

适用于 . 的 java.lang.reflect.InvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于