From 4aa2a76a870abac0b847d2d82d5476cf9bd0b250 Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Tue, 27 Sep 2022 20:25:16 +0800 Subject: [PATCH] Update reflection documentation --- .../src/zh-cn/api/special-features/reflection.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs-source/src/zh-cn/api/special-features/reflection.md b/docs-source/src/zh-cn/api/special-features/reflection.md index dd10b384..9cbff29b 100644 --- a/docs-source/src/zh-cn/api/special-features/reflection.md +++ b/docs-source/src/zh-cn/api/special-features/reflection.md @@ -1381,7 +1381,7 @@ injectMember { ::: tip -在创建 Hook 的时候使用可参考 [MethodFinder.Process.all](../public/com/highcapable/yukihookapi/hook/core/finder/members/MethodFinder#all-method)、[ConstructorFinder.Process.all](../public/com/highcapable/yukihookapi/hook/core/finder/members/ConstructorFinder#all-method)。 +在创建 Hook 的时候使用可参考 [MethodFinder.Process.all](../public/com/highcapable/yukihookapi/hook/core/finder/members/MethodFinder#all-method)、[ConstructorFinder.Process.all](../public/com/highcapable/yukihookapi/hook/core/finder/members/ConstructorFinder#all-method) 方法。 更多功能请参考 [MethodFinder.RemedyPlan](../public/com/highcapable/yukihookapi/hook/core/finder/members/MethodFinder#remedyplan-class)、[ConstructorFinder.RemedyPlan](../public/com/highcapable/yukihookapi/hook/core/finder/members/ConstructorFinder#remedyplan-class)、[FieldFinder.RemedyPlan](../public/com/highcapable/yukihookapi/hook/core/finder/members/FieldFinder#remedyplan-class)。 @@ -1455,6 +1455,18 @@ VariousClass("com.demo.ATest", "com.demo.BTest").get(customClassLoader).method { }.get().call() ``` +若你不确定所有的 `Class` 一定会被匹配到,你可以使用 `getOrNull` 方法。 + +> 示例如下 + +```kotlin +val customClassLoader: ClassLoader? = ... // 假设这个就是你的 ClassLoader +VariousClass("com.demo.ATest", "com.demo.BTest").getOrNull(customClassLoader)?.method { + name = "doTask" + emptyParam() +}?.get()?.call() +``` + 若你正在 `PackageParam` 中操作 (Xposed) 宿主环境的 `Class`,可以直接使用 `toClass()` 进行设置。 > 示例如下