HarmonyOS ArkTS怎么获取类的implements的集合及获取所有接口名称

export default class EntryAbility extends RNAbility implements Person {
  getPagePath() {
    return 'pages/Index';
  }
  dance() {
  }
  sing(song: string) {
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

如上面示例代码,应该怎么获取EntryAbility中有哪些implements的接口名称?(比如想拿到Person)应该怎么获取EntryAbility中定义了哪些接口?(比如想拿到getPagePath、dance、sing)

HarmonyOS
2024-12-23 16:25:37
484浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Heiang

问题一应该没有方法能直接获取实现的接口名称,只能自己找个容器手动存起来,使用的时候从容器中取出如果是继承的话也可以考虑写个ts的工具方法。

static getSuperClass(subClass) {
  const superProto = Object.getPrototypeOf(subClass.prototype);
  if (superProto && superProto.constructor) {
    console.log(superProto.constructor.name)
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

问题二可以考虑写个ts的工具类:

import EntryAbility from '../entryability/EntryAbility'
TsUtils.getFuncName(EntryAbility)
export class TsUtils{
  static getFuncName(obj: any){
    const objPrototype = obj.prototype
    const FuncNames = Object.getOwnPropertyNames(objPrototype)
    FuncNames.forEach(funcName => {
      console.log('====Func: ' + funcName)
    });
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
分享
微博
QQ
微信
回复
2024-12-23 18:08:19


相关问题
HarmonyOS如何获取一个名称
2007浏览 • 4回复 待解决
HarmonyOS 动态获取所有方法与属性
1101浏览 • 1回复 待解决
ArkTS获取对象所有方法
2971浏览 • 1回复 待解决
ArkTs中如何获取对象
3607浏览 • 1回复 待解决
HarmonyOS 如何获取应用名称
936浏览 • 1回复 待解决
如何获取应用名称
1436浏览 • 1回复 待解决
ArkTS获取组件位置和大小接口
4542浏览 • 1回复 待解决
HarmonyOS 获取应用名称
1064浏览 • 1回复 待解决
HarmonyOS 如何获取App应用名称
795浏览 • 1回复 待解决
如何获取APP版本名称
987浏览 • 1回复 待解决
如何获取当前设备设备名称
3612浏览 • 1回复 待解决
如何获取router push所有page?
1038浏览 • 0回复 待解决
如何获取对象所有方法
1351浏览 • 1回复 待解决
如何获取当前设备品牌名称
1188浏览 • 1回复 待解决
鸿蒙开发如何获取手机APN名称
433浏览 • 0回复 待解决
HarmonyOS 如何获取到APP本身应用名称
1353浏览 • 1回复 待解决