我可以用TypeInfo_Struct创建一个结构吗?

时间:2013-11-24 17:26:18

标签: types d

我有一个TypeInfo_Stuct;我该如何创建一个结构?

struct A {
    int example;
}

TypeInfo test = typeid(A);

void main() {
    // how do I create a structure of type A from test in here? 
}

1 个答案:

答案 0 :(得分:4)

我认为不可能。它暗示了D形结构中没有提供的多态结构。

类的druntime支持这样的功能:

class A {}

auto ti = typeid(A);

void main()
{
    auto instance = cast(A) ti.create();
    assert(instance);
}

可以为类以外的类型实现类似的工厂基础设施,但是开箱即用(并且有些不鼓励)。