2016-04-01 8 views

Antwort

-1

Versuchen Sie diese.

@:generic 
private function test<T>(type:Class<T>) { 

} 
+0

Das scheitert mit dem gleichen Compiler-Fehler. – Gama11

5

Dies ist nicht möglich, ähnlich wie können Sie nicht explizit den Typ Parameter einer Funktion angeben, wenn es (see here) aufrufen. Sie können Array nur statt passieren:

test(Array); 

Eine Möglichkeit, das zu bekommen, ist zu kompilieren, indem ein typedef mit:

typedef FloatArray = Array<Float>; 

test(FloatArray); 

Allerdings ist Class<T> nicht wirklich über den Typ-Parameter von Array, so Es gibt keinen Grund, das zu tun:

typedef FloatArray = Array<Float>; 
typedef IntArray = Array<Int>; 

trace(FloatArray == IntArray); // true