gpt4 book ai didi

reflection - RPGle - 我希望我可以使用 RPGLe 做一些 'Reflection'

转载 作者:行者123 更新时间:2023-12-04 18:08:50 26 4
gpt4 key购买 nike

我希望我可以使用 RPGLe 做一些反射(reflection)。
通过反射(reflection),我的意思是:
“在运行时确定对象能力的过程或机制。”

想象一下你有这个数据结构:

 D DS_Format       DS                  Qualified Based(pDS_Format)
D Type 20I 0 Inz(1)
D Label 50A Inz('myLabel')
D Description 5000A Inz('myDescription')

使用反射 api,我可以这样做:
Reflection_ListSubfields(DS_Format); 

=> 返回这个数组:{'Type', 'Label', 'Description' }

然后,我可以这样做:
Reflection_GetSubfield(DS_Format : 'Label'); => return 'myLabel'

我希望我也能做到这一点:
Reflection_GetSubfieldType(DS_Format : 'Label'); => return 'A'
Reflection_GetSubfieldLength(DS_Format : 'Label'); => return 50
Reflection_GetSubfieldPrecision(DS_Format : 'Type'); => return 0

有了这个,我希望我可以做这样的事情(做一些小工作):
SerializeXml(DS_Format); //I build xml with one line of code !

并得到:
<DS_Format>
<Type>1</Type>
<Label>myLabel</Label>
<Description>myDescription</Description>
</DS_Format>

与 DeserializeXml(myXml) 相反;

反射将帮助我构建非常酷的 api。
有什么办法吗?

最佳答案

我一直在考虑这些概念中的一些,并且可能有一个解决方法。 (我目前没有时间写出完整的答案并详细说明细节,但等着你看到有一些希望 ;-) 尽管有些人可能认为这是作弊。)

基本概念是这样的:如果你定义了一个具有所需格式的表,如果你的天结构,使 DS 能够在外部定义,那么使用嵌入式 SQL,你可以描述表或查询 SYSCOLUMNS 以获取字段定义,最好是在过程中。

当然,这与反射不是一回事,但可以实现大致相同的效果。人们可能只会在有限的情况下这样做。我相信其他人会指出各种各样的问题,但这里的重点是这是可能的。

关于reflection - RPGle - 我希望我可以使用 RPGLe 做一些 'Reflection',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19684993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com