簡體   English   中英

Dart:獲取通用List類型的子類型

[英]Dart: Get the subtype of a generic List type

請考慮以下方法:

static void parse<T>(String input, T instance)

可能存在TList的類型的情況。 如何獲得List的子類型? 請注意, List中目前沒有元素。 因此,例如List[0].runtimeType是沒有選擇的。

如果T的類型為List<Foo> ,我想獲取Foo

如何在Dart中做到這一點?

(有點)可以做到,但是這是一個非常丑陋的解決方法。 一個條件是必須先初始化列表,然后才能訪問其類型。

List<Something> someList = new List<Something>();
String type = someList.runtimeType.toString(); // List<Something>

然后,您可以讀取類型並對其進行處理。

該特定功能不可用,因為它會使搖樹復雜化。

根據您的用例,您也許可以擺脫類似的情況:

void parseList<T>(String input, List<T> instance) {
  // T is now the static type of List<T>
}

但是,如果List的類型是靜態未知的,則將無法使用。

我不確定您要做什么,但是也許您可以編寫這樣的方法:

static void parseList<T>(String input, List<T> list)

請提供更多背景信息,以獲取更好的答案。

暫無
暫無

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

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