如何检查 class 是否基于其他摘要 class

How to check if class is based on other abstract class

当实例仅扩展 B 但类型为 C.[=20= 时,如何检查类型为 A 的对象是否扩展类型为 B ]

例如:

abstract class A {
}

abstract class B extends A {
}

class C extends B {
}

A myA = C();

我想测试 myA 是否扩展 B class(在示例中)。

测试了以下内容

if (myA.runtimeType is B) // return false

if (myA.runtimeType == B) // return false

if (myA == B) // return false

您需要删除 .runtimeType 并像这样使用 is 运算符

if (myA is B) // return true

如果 myA 是扩展 B,即使它不是 B 的直接实例,语句也会 return true 像你想要的那样。