0

我是构建 corba 应用程序的新手。目前我正在用java开发一个corba应用程序。我遇到的问题是我应该编写一个方法来接收类的名称、方法和参数以作为字符串传递给 corba 服务器。在调用远程方法之前,我必须解析字符串并获取所有必要的信息(类、方法、参数)这里没有问题。但是现在关于论点,我现在不预先知道论点的类型,所以我应该能够通过获取它的类型来转换一个论点并将其插入到要发送的任何对象中,这可能吗?如果提前知道诸如 seq.insert_string("bum") 之类的类型,它可以工作,但我想动态地做。

4

1 回答 1

1

如果您的 ORB 支持,请使用 DynAny 接口。他们可以做你想做的事。来自CORBA 的简单解释

any 如果应用程序想要在不使用相关存根代码编译的情况下操作嵌入在 . 中的数据,则应用程序必须anyDynAny. 每个 IDL 构造都有 DynAny 的子类型。例如,有称为 DynStruct、DynUnion、DynSequence 等的类型。

DynAny 接口上的操作允许程序员 递归地深入到包含在 DynAny 中的复合数据结构中,并在此过程中将复合类型分解为其作为内置类型的单独组件。DynAny 接口上的操作也可用于从内置类型递归地构建复合数据结构。

于 2012-06-08T18:04:36.643 回答