首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qore:如何将散列转换为对象

Qore:如何将散列转换为对象
EN

Stack Overflow用户
提问于 2017-05-03 04:16:48
回答 1查看 36关注 0票数 2

如何将hash转换为and object?假设我有以下定义:

代码语言:javascript
复制
class A {
    int i;
    string s;
}
class B {
    int bi;
    A a;
}

hash h = (
    "bi" : 100,
    "A" : ("i" : 10, "s" : "str"));

有没有办法将h转换为B类的对象

EN

回答 1

Stack Overflow用户

发布于 2017-05-03 06:31:04

这是通用的吗?如果是这样,那么您需要更详细的结构。这样可以清楚地说明“A”是一个对象,“I”是一个int,等等。

无论如何,有一个内置的函数create_object,只要对象不需要构造函数参数或者您知道它们应该是什么,就可以使用它来创建对象。然后,您将设置所有成员,这意味着它们需要是公共的。您还可以迭代对象的公共成员,从而检查您的散列是否提供了所有信息。

我不知道如何了解对象的更多信息,比如成员类型、方法签名等。不过,你要么知道对象(这样你就可以为构造函数提供参数,或者在创建后调用方法等),要么它必须是一个没有构造函数参数和公共成员的简单对象(因为不能直接设置私有成员)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43746521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档