Thu*_*ini 2 generics parameters haxe
function test(cls:Class<Dynamic>) {}
test(Array<Float>); // Unexpected )
Run Code Online (Sandbox Code Playgroud)
我必须Array<Float>作为类类型传递.但是,这失败了:
出乎意料)
我怎样才能使它工作?
这是不可能的,类似于在调用函数时不能显式指定函数的类型参数(参见此处).你可以Array改为:
test(Array);
Run Code Online (Sandbox Code Playgroud)
获得编译的一种方法是使用typedef:
typedef FloatArray = Array<Float>;
test(FloatArray);
Run Code Online (Sandbox Code Playgroud)
但是,Class<T>并不真正关心类型参数Array,所以没有必要这样做:
typedef FloatArray = Array<Float>;
typedef IntArray = Array<Int>;
trace(FloatArray == IntArray); // true
Run Code Online (Sandbox Code Playgroud)