如何检查对象是否属于实例“类型”?

时间:2019-02-25 13:04:46

标签: dart flutter

我具有以下功能

void (Type type, dynamic instance) {
  // Unable to do this
  if (instance is type) {
  }
}

我想检查传递的实例是否与传递的type类型相同。 type可以是基类,而instance可以是基类的实现,因此仅(instance.runtimeType == type)是不够的。

2 个答案:

答案 0 :(得分:1)

使用运行时Type对象不能这样做。

要实现类似的目的,您必须改为使用通用函数:

void foo<T>(dynamic instance) {
  if (instance is T) {

  }
}

答案 1 :(得分:0)

只有一种有限的方法可以像使用type.toString()

进行测试
if('$type' == 'SomeClassName') 
相关问题