gpt4 book ai didi

dart - 如何快速测试 TypeMirror 是否是另一个的子类型

转载 作者:行者123 更新时间:2023-12-03 02:45:14 25 4
gpt4 key购买 nike

我正在使用镜像并想确定一个 ClassMirror 是否是另一个的子类型。有点像:

ClassMirror type = me.getField(someSymbol).type;

// obviously this won't work, since a ClassMirror is not a List
if(type.originalDeclaration is List) {
...
}

实际上,我正在寻找类似于 Java 的 Class.isAssignableFrom(Class) 的东西,即一阶 isa 运算符。我自己沿着类型层次结构往上走感觉有点笨拙,尤其是在存在 mixin 的情况下,并且(希望)会比 dart 运行时/编译器可以提供的速度慢。是否有内置方法可以执行此操作?

最佳答案

TypeMirror.isSubtypeOf() , TypeMirror.isAssignableTo() , ClassMirror.isSubclassOf()已在 Dart 1.2 中添加。 (在撰写本文时,这是开发 channel ,它们应该出现在下一个 Dart 稳定版本中。)

关于dart - 如何快速测试 TypeMirror 是否是另一个的子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19187197/

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