在Dart中如何确定两个实例是否具有相同的类型?

时间:2014-02-04 15:10:11

标签: dart

说,我的代码中有两个实例,我不是他们的类型,如何检查它?

如果在Java中,我可以使用代码:

a.getClass() == b.getClass()

但在达特,我找不到类似的方法。虽然有一个dart:mirrors提供reflect(instance)函数可以让我这样做,但我不确定这是否是正确的解决方案,因为它看起来很复杂。

3 个答案:

答案 0 :(得分:2)

a.runtimeType == b.runtimeType

答案 1 :(得分:1)

我认为dart:镜像(反射)API可以帮助你。看看这个页面:

http://blog.dartwatch.com/2012/06/dartmirrors-reflection-api-is-on-way.html

您也可以查看此问题(使用运行时解决方案)

How do I get the qualified name from a Type instance, in Dart?

答案 2 :(得分:0)

如果你想比较a和b,你可以使用

if(a.runtimeType == b.runtimeType);

但是如果你想确认a是你想要的类型那么

if(a.runtimeType.toString()=="DivElement");//a is a div for instance

因为runtimeType的值不是字符串