如何实现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反射用法吗
2750浏览 • 1回复 待解决
反射是否支持,调用Reflect编译错误
1772浏览 • 1回复 待解决
HarmonyOS ts是否支持反射
195浏览 • 1回复 待解决
HarmonyOS中如何Java实现配音功能
4716浏览 • 1回复 待解决
HarmonyOS ArkTS如何实现反射
30浏览 • 1回复 待解决
ArkTS中如何实现反射
476浏览 • 1回复 待解决
HarmonyOS reflect-metadatar如何集成
81浏览 • 1回复 待解决
ts开发如何实现异步编程
1226浏览 • 1回复 待解决
ArkTS支持反射,有人知道反射用法吗?
2425浏览 • 1回复 待解决
ArkTS关于反射用法
36浏览 • 1回复 待解决
如何实现类似插槽功能
1963浏览 • 1回复 待解决
HarmonyOS ArkTS反射
29浏览 • 1回复 待解决