function test(cls:Class<Dynamic>) {}
test(Array<Float>); // Unexpected )
我必须传递Array<Float>
作为类类型。但是,这失败了:
意外)
我怎样才能让它发挥作用?
答案 0 :(得分:5)
这是不可能的,类似于在调用函数时无法显式指定函数的类型参数(see here)。您只需传递Array
:
test(Array);
编译的一种方法是使用typedef
:
typedef FloatArray = Array<Float>;
test(FloatArray);
但是,Class<T>
并不真正关心Array
的类型参数,因此没有必要这样做:
typedef FloatArray = Array<Float>;
typedef IntArray = Array<Int>;
trace(FloatArray == IntArray); // true
答案 1 :(得分:-1)
试试这个。
@:generic
private function test<T>(type:Class<T>) {
}