我有一个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?
}
答案 0 :(得分:4)
我认为不可能。它暗示了D形结构中没有提供的多态结构。
类的druntime支持这样的功能:
class A {}
auto ti = typeid(A);
void main()
{
auto instance = cast(A) ti.create();
assert(instance);
}
可以为类以外的类型实现类似的工厂基础设施,但是开箱即用(并且有些不鼓励)。