0

変数に格納されているクラスで Vector を初期化するにはどうすればよいですか?

function initVector(Type:Class) {
    var vec:Vector.<Type> = new Vector.<Type>()
}

initVector(int)コンパイラ エラーが発生します:
1046: 型が見つからないか、コンパイル時の定数ではありません: Type.
1120: 未定義のプロパティ Type へのアクセス。

これを達成する正しい方法は何ですか?

4

1 に答える 1

2

他の場所で調査および説明したように、ベクトルに非ジェネリック型を指定しても、数値型 ( intuintまたはNumber) を使用している場合にのみ違いが生じます。これらはパフォーマンスが最適化されたバリエーションです。他のすべてのベクトルは、実際には同じ一般的なVector.<Object>「ボンネットの下」です。すべての型チェックはコンパイル時に行われ、コード補完などを支援しますが、実行時にはまったく影響しません。

したがって、数値のみを使用する場合を除き (その場合は Number へのキャストが考えられる場合があります)、 を使用することはまったく問題Vector.<Object>ありません。

于 2013-07-07T01:12:01.243 に答える