我以前有以下代碼,它工作正常。 。(注意卡,SearchResult所,測驗的所有擴展持久化和持久化包含了構造.fromMap
如何在Dart的類中調用構造函數?
Persistable fromString(String value){
Map<String, dynamic> m = parse(value);
switch(m['type']){
case 'card':
return new Card.fromMap(m);
case 'searchresults':
return new SearchResults.fromMap(m);
case 'quiz':
return new Quiz.fromMap(m);
}
}
這是一個有點羅嗦,所以我想我應該把它分成兩個部分我第一次有這樣的:
static final Map<String, Persistable> lookup =
{'card': Card,
'searchresults': SearchResults,
'quiz': Quiz };
似乎是合理的,但後來當我試圖重新定義的方法,我感到困惑。
Persistable fromString(String value){
Map<String, dynamic> m = parse(value);
String type = m['type'];
Persistable p = lookup[type];
... Confused, this can't be right
... ultimately want to "return new p.fromMap(m)";
}
Persistable p
真正意義的實例類Persistable
。如何輸入我的lookup
地圖,以使其值爲類Persistable
,以便我可以調用它們的.fromMap
構造函數?
尋找工作示例代碼。 o從'Map <> lookut' JSon對象構建類'Persistable'?你可以通過'lookup []'強制轉換(?)到課程中?爲什麼你不能只是'Persistable p = new Persistable()。fromMap(lookup);'? –
Jasper
2013-04-23 06:29:02