ArkTS层获取对象的所有方法

​在web注入javascriptproxy时,需要获取到多个原生侧的功能实现类的全部方法名,传递给web端处理。

HarmonyOS
2024-05-23 21:37:02
2956浏览
已于2024-5-24 16:38:23修改
收藏 0
回答 1
回答 1
按赞同
/
按时间
五行缺踹

使用的核心API

Object.getOwnPropertyNames
  • 1.

核心代码解释

定义需要获取方法的class文件:

testClass.ts:

export class testClass {   
  // constructor() {   
  // }   
   
  public test(): string {   
    return "ArkUI Web Component";   
  }   
   
  public toString(): void {   
    console.log('Web Component toString');   
  }   
   
  public FunToString(): void {   
    console.log('Web Component toString');   
  }   
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

获取文件中的方法:

import { testClass } from './testClass'   
   
let protoType = testClass.prototype;   
let methodsName: string[] = Object.getOwnPropertyNames(protoType);   
console.log(methodsName.toString());
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

实现效果

通过预览方式,结果如下:

适配的版本信息

IDE:DevEco Studio 4.1.1.300     DevEco Studio 4.1 Canary1

SDK:HarmoneyOS 4.0.10.15

分享
微博
QQ
微信
回复
2024-05-24 16:54:59
相关问题
如何获取对象所有方法
1333浏览 • 1回复 待解决
HarmonyOS 动态获取所有方法与属性
1092浏览 • 1回复 待解决
ArkTS通过接口访问C++对象
1229浏览 • 1回复 待解决
HarmonyOS 是否有方法获取APP名称
718浏览 • 1回复 待解决
在Native侧释放ArkTS对象方法
1346浏览 • 1回复 待解决
HarmonyOS如何获取对象所有的值和value
2397浏览 • 1回复 待解决
HarmonyOS 如何获取对象方法列表
1141浏览 • 1回复 待解决
ArkTs中如何获取对象类名
3596浏览 • 1回复 待解决
arkTS获取app版本信息方法
1801浏览 • 1回复 待解决
HarmonyOS 是否有方法可以清除缓存
1332浏览 • 1回复 待解决
HarmonyOS 打包时是否有方法数限制
818浏览 • 1回复 待解决