クラスタイプとしてArray<Float>
を渡す必要があります。しかし、これはで失敗します。Haxe - ジェネリッククラスをパラメータに渡すには
は、どのように私はそれを動作させることができます)
予期しませんか?
クラスタイプとしてArray<Float>
を渡す必要があります。しかし、これはで失敗します。Haxe - ジェネリッククラスをパラメータに渡すには
は、どのように私はそれを動作させることができます)
予期しませんか?
これを試してください。
@:generic
private function test<T>(type:Class<T>) {
}
これは(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
同じコンパイラエラーで失敗します。 – Gama11