说,我的代码中有两个实例,我不是他们的类型,如何检查它?
如果在Java中,我可以使用代码:
a.getClass() == b.getClass()
但在达特,我找不到类似的方法。虽然有一个dart:mirrors
提供reflect(instance)
函数可以让我这样做,但我不确定这是否是正确的解决方案,因为它看起来很复杂。
答案 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的值不是字符串