如何在ArkTS中实现Java运行时注解的能力?

如何在ArkTS中实现Java运行时注解的能力?


HarmonyOS
2024-05-23 22:13:36
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
路易不知第几世

可以使用ts三方库reflect-metadata获得类似java运行时注解的功能。参考reflect-metadata

reflect-metadata提供的装饰器允许对类和属性和方法做标记,并提供了接口可以在运行时获取标记的信息。

参考代码:

ohpm i reflect-metadata 
import "reflect-metadata"; 
// 三方包的能力暴露在Reflect中 
@Reflect.metadata("TargetClass", 'classData') 
// 标记类,key是"TargetClass", 数据是classData 
class MyClass { 
  @Reflect.metadata("TargetMethod", 'methodData') 
  // 标记方法,key是"TargetMethod", 数据是methodData 
  myMethod(){} 
  @Reflect.metadata("Static", 'staticData') 
  static invoke(){} 
} 
  
// 运行时获取标记信息 
console.info(Reflect.getMetadata("TargetClass", MyClass));//classData 
console.info(Reflect.getMetadata("TargetMethod", new MyClass(), "myMethod"));//methodData 
console.info(Reflect.getMetadata("Static", MyClass, "invoke"));  // staticData

reflect-metadata三方库使用 中心仓

分享
微博
QQ
微信
回复
2024-05-24 22:05:21
相关问题
ArkTs运行时创建指定类方法吗?
266浏览 • 1回复 待解决
arkts运行时,当成 JS上下文用
1815浏览 • 1回复 待解决
获取运行时编译构建参数
1041浏览 • 1回复 待解决
应用运行时进程资源使用规格
1839浏览 • 1回复 待解决
运行时AOP插桩demo测试
999浏览 • 1回复 待解决
HAP和HAR运行时内存模型
295浏览 • 1回复 待解决
如何动态查看代码运行时变量值?
681浏览 • 1回复 待解决
测试脚本运行时安装app报错
305浏览 • 1回复 待解决
获取app进程运行时间api疑似不准
398浏览 • 1回复 待解决
HarmonyOS 如何在ArkTS中使用注解
222浏览 • 1回复 待解决