に私は、DARTするためにいくつかのJavaコードを移植していますし、それが重くマップのこれらの種類を使用しています。地図はダート
Map<Class<? extends SomeClass>, SomeOtherClass> map = new HashMap<>();
現時点ではこれがダーツでは不可能であると思われます。 http://news.dartlang.org/2012/06/proposal-for-first-class-types-in-dart.htmlこの提案が実装されるまでだから私が作成した以下のクラス
class Type {
@native String toString();
String descriptor(){...} // return the simple name of the type
}
をご紹介します:
class Type {
final String classname;
const Type(this.classname);
String descriptor() => classname;
}
と私は必要なクラスIは、最初のレベルのタイプを導入する案があることを承知していますそれは私が私のType
私が使用するのと同じように、実際のType
使用することができ、単純なGET-方法
abstract Type get type();
その方法を持っています私の回避策を削除する必要があります。
私の質問:実際のType
クラスが導入されるまでは、このようなマッピング(これは私が見ていない)や合理的な回避策を実行する方法がありますか?あなたが持っているでしょうこの構造はダート
Map<Class<? extends SomeClass>, SomeOtherClass>
:
それは、この方法を行うことができダート1.0
の更新:
var map = new Map<Type, SomeOtherClass>();
// either
map[SomeOtherClass] = new SomeOtherClass();
// or
var instance = new SomeOtherClass();
map[instance.runtimeType] = instance;
あなたの例ではマップ内のキーは、クラスTestのインスタンスですが、私はキーが、インスタンスではありませんクラスが必要です..ああ私が参照してください、私のJavaコードが間違っている –
私の質問を更新.. –