callMethodOrNull

fun Any.callMethodOrNull(methodName: String, args: Args, argTypes: ArgTypes = argTypes(), returnType: Class<*>? = null): Any?

按名称调用实例方法,方法找不到、参数不匹配或无权限访问时返回 null

目标方法自身抛出的异常会原样重新抛出,不会被吞掉——需要区分"方法不存在"和"方法存在但调用失败"时, 应捕获目标异常类型而不是依赖这里返回 null。失败被静默吞掉的部分不打印日志;需要日志请用 tryOrLogNull 包裹普通 callMethod


fun Any.callMethodOrNull(methodName: String, vararg args: Any?): Any?

自动匹配参数并调用实例方法,方法找不到、参数不匹配或无权限访问时返回 null

目标方法自身抛出的异常会原样重新抛出,不会被吞掉。失败被静默吞掉的部分不打印日志。