クラス参照を渡して、関数でインスタンス化しようとしています。これは機能しません:
function foo(myClassRef:Class):Void {
var myVar = new myClassRef();
}
foo(MyClass);
を与えUnexpected (
ます。
これはHaxe 3で可能ですか?
クラス参照を渡して、関数でインスタンス化しようとしています。これは機能しません:
function foo(myClassRef:Class):Void {
var myVar = new myClassRef();
}
foo(MyClass);
を与えUnexpected (
ます。
これはHaxe 3で可能ですか?
Haxe3とHaxe2で可能
function foo<T>(myClassRef:T):Void {
var myVar = new T();
}
注: new T() を機能させるには、Haxe3 クラス (foo が実装されている場所) を @:generic にする必要があります。
Haxe2 は別の話です。
function foo<T>(myClassRef:Class<T>):Void {
var myVar = Type.createEmptyInstance(Type.getClass(myClassRef));
}