数据类型作为参数

时间:2017-04-10 12:44:44

标签: database syntax progress-4gl

我想在我的应用程序中添加data type参数。该参数将接受所有原始类型和类。

F.ex:

FUNCTION receiveDataType RETURNS LOGICAL (dataType AS DATATYPE):

    IF dataType = mypackage.MyClass THEN ...
    ELSE IF dataType = INTEGER THEN ...

END FUNCTION.

一种方法是使用CHARACTER - 参数并验证它是否引用现有的data type。但是,Progress的某些过程将数据类型作为参数(f.ex CAST())。是否可以对用户创建的程序执行相同的操作?

1 个答案:

答案 0 :(得分:1)

在编译时严格键入函数,因此不能这样做。

程序会将任何类型自动转换为目标输入参数类型 - 如果可以的话。

OO具有重载功能,这意味着可以在具有您正在查找的数据类型的类中创建不同的方法,并且代码将在您编译/运行它时调用相应的方法。然后,您可以让代码调用类中的常用例程来执行您想要的操作。