IInvocationHandler.Invoke(Object, Method, Object[]) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
处理代理实例上的方法调用并返回结果。
[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.Integer
或 java.lang.Boolean
。
返回
要从代理实例上的方法调用返回的值。 如果接口方法的声明返回类型是基元类型,则此方法返回的值必须是相应基元包装器类的实例;否则,它必须是可分配给声明的返回类型的类型。 如果此方法 null
返回的值并且接口方法的返回类型为基元,则代理实例上的方法调用将引发 a NullPointerException
。 如果此方法返回的值与上述接口方法声明的返回类型不兼容,则代理实例上的方法调用将引发 a ClassCastException
。
- 属性
例外
从代理上调用的方法引发的异常。
该异常必须与已调用方法的声明的异常类型之一或任何未选中的异常类型匹配。 如果没有, UndeclaredThrowableException
则会引发
注解
处理代理实例上的方法调用并返回结果。 当在与之关联的代理实例上调用方法时,将在调用处理程序上调用此方法。
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。