[英]Dart: Get the subtype of a generic List type
請考慮以下方法:
static void parse<T>(String input, T instance)
可能存在T
是List
的類型的情況。 如何獲得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.