我试图弄清楚Haxe中这张地图的一般类型是什么:
var foo = [
Foo => new Foo()
];
<{>} This is me trying to figure it out通过http://try.haxe.org/上的typeof
,但我无法对输出有太多了解。
在我的情况下,我不能推断出这样的类型,必须提前声明它(Map<ClassOrSomething, Foo>
)。
答案 0 :(得分:4)
要回答您的问题,类的类型为Class<T>
- 例如,Class<Foo>
或Class<Dynamic>
都适合您的情况。
然而,classes can't be used as map keys(旧问题但据我所知仍然如此。)另一种方法是使用字符串类名作为键。您可以使用Type.getClassName(Foo)
从类中获取类名,然后将字符串转换回Type.resolveClass
的类。 (Haxe Type documentation)