【发布时间】:2013-04-05 18:07:02
【问题描述】:
是否有一个简单的轻量级/廉价调用来确定对象是否支持命名方法? 所以,在这个 obj.respondsTo 会很棒。
dynamic _toJson(dynamic obj) {
return obj.respondsTo('toJson'))? obj.toJson() : obj;
}
class Foo {
String foo = "Foo.foo";
Bar bar = new Bar();
Map toJson() {
return {
"foo" : _toJson(foo),
"bar" : _toJson(bar)
};
}
}
另一种方法是调用它并捕获 noSuchMethod 异常,但我认为这是不好的做法且成本高昂?
【问题讨论】:
标签: dart dart-mirrors