gpt4 book ai didi

dart - 如何使用 `DartType` 中的 `analyzer` 类获取子类型?

转载 作者:行者123 更新时间:2023-12-01 23:40:45 27 4
gpt4 key购买 nike

如何使用类 DartType 获取元素的子类型从分析器包?

最佳答案

对于那些想知道的人, DartType class 是由 analyzer 创建的静态解析类型包,Dart 的静态工具包。作者询问他们如何获得 DartType 的其他类型。 - 我认为您的意思是父类(super class)型,即您继承或实现的类型。

(如果你只是想检查 DartType 是否是某个东西的子类型,你可以使用 isSubtypeOf )

我们可以得到Element DartType源自,然后,如果它是 ClassElement , 只需返回所有父类(super class)型,否则可能默认为空列表:

import 'package:analyzer/dart/element/element.dart';
import 'package:analyzer/dart/element/type.dart';

/// Returns all sub-types of [type].
Iterable<DartType> getSubTypes(DartType type) {
final element = type.element;
if (element is ClassElement) {
return element.allSupertypes;
}
return const [];
}

这是在 analyzer版本 0.29.3 .

关于dart - 如何使用 `DartType` 中的 `analyzer` 类获取子类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41754757/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com