簡體   English   中英

在 dart 中動態定義或轉換變量類型

[英]Define or Cast variable type dynamically in dart

所以我有這個功能:

Future<void> syncedData(String dataType, Map<String, dynamic> data) async {
  // Open the Hive Box
  await _openBoxByName(dataType);

  // Put each data element in the Hive Box
  data.forEach((k, v) {
    Workout _v = v;
    // var _v = v as Workout; - kinda same result

    _putData(k, _v.toJson().toString(), dataType);
  });
}

我還有 3 個 Model 課程: WorkoutDaysYears

為了讓我從 v 中獲取.toJson()方法,我需要做: Workout _v = v; . 但我不知道如何從WorkoutDaysYears Model 類中動態轉換v的類型?

如果我不將v顯式轉換為鍛煉 Class Model,dart 不知道我的任何鍛煉方法。

我嘗試過這樣的事情,但沒有奏效:

if  (dataType == 'workout')  Workout _v = v;
if  (dataType == 'days')  Days _v = v;
if  (dataType == 'years')  Years _v = v;

謝謝

您可能應該將其編碼為 Map,其中包含鍛煉、天或年的鍵值。 我認為 JSON 會很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM