如何实现Java或者TS Reflect的反射功能

ArkTS能否实现类似java反射或者ts动态访问属性的机制?

HarmonyOS
2024-09-18 12:10:37
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

两种方式支持:

1.Reflect的如下函数处理:Reflect.get, Reflect.has, Reflect.ownKeys, Reflect.set

class MyClass { 
  value: number = 9; 
 
  fun() { 
    console.log('fun print') 
  } 
} 
 
function TestFun(par: number) { 
  console.log('TestFun print, par:' + par) 
} 
 
let RefClass = new MyClass(); 
Reflect.set(RefClass, "key", "keyvalue"); 
let str: string = Reflect.get(RefClass, "key"); 
console.log(str) 
 
Reflect.set(RefClass, "keyFun", () => { 
  console.log('lan print.') 
}); 
let lanFun: Function = Reflect.get(RefClass, "keyFun"); 
lanFun(); 
 
Reflect.set(RefClass, "keyFun2", TestFun); 
let globeFun: Function = Reflect.get(RefClass, "keyFun2"); 
globeFun(4); 
 
Reflect.set(RefClass, "keyFun3", RefClass.fun); 
let classFun: Function = Reflect.get(RefClass, "keyFun3"); 
classFun();

2.动态import,参考文档

import(path).then(ns => { 
  let cls: ESObject = new ns.TestDataCls(); 
  let indexName = 'name'; 
  cls[indexName] = "1"; 
})
分享
微博
QQ
微信
回复
2024-09-18 17:20:25
相关问题
ArkTs支持java或者TS Reflect反射用法吗
2999浏览 • 1回复 待解决
反射是否支持,调用Reflect编译错误
1914浏览 • 1回复 待解决
HarmonyOS ts是否支持反射
379浏览 • 1回复 待解决
HarmonyOS中如何Java实现配音功能
4954浏览 • 1回复 待解决
HarmonyOS ArkTS如何实现反射
117浏览 • 1回复 待解决
ArkTS中如何实现反射
787浏览 • 1回复 待解决
HarmonyOS reflect-metadatar如何集成
225浏览 • 1回复 待解决
ts开发如何实现异步编程
1418浏览 • 1回复 待解决
ArkTS支持反射,有人知道反射用法吗?
2696浏览 • 1回复 待解决
ArkTS关于反射用法
105浏览 • 1回复 待解决
HarmonyOS 支持Reflect api吗
141浏览 • 1回复 待解决
HarmonyOS Reflect包使用问题
39浏览 • 1回复 待解决