OpenEdge ABL / Progress 4GL中的反思

时间:2014-03-06 12:39:33

标签: progress-4gl openedge

我无法在OpenEdge ABL中找到任何反思,以及如何做到这一点。它甚至可能吗?

4 个答案:

答案 0 :(得分:2)

有可能。 OpenEdge没有像Java或C#那样多的可能性,但从版本11开始它就具有基本的功能。

要使用反射,请查看Progress.Lang.Object,其中方法GetClass()会返回Progress.Lang.Class的实例。

这些是OpenEdge帮助中Progress.Lang.Class的成员(版本11.1,对于所有11.x版本应该是相同的):

enter image description here

在早期版本的OpenEdge中,反射能力更差。但是可以动态调用方法和创建实例。

您还应该查看DYNAMIC-NEW语句和DYNAMIC-INVOKE函数。

答案 1 :(得分:1)

尚未实施。

答案 2 :(得分:1)

不要忘记GET-SIGNATURE()方法和INTERNAL-ENTRIES属性。

答案 3 :(得分:0)

我在 2021 年寻找 OpenEdge ABL 中的反射,我发现现在有更多的可能性(我使用的是 OE 11.6)。我找不到详尽的文档,但这是一个开始:https://docs.progress.com/bundle/openedge-oo-abl-develop-applications/page/Reflection.html

使用 Progress Developer Studio 时,您将能够看到使用自动完成功能 (Ctrl + Space) 的可能性。 enter image description here