Ruby style, throws error person-6ren">
sách gpt4 ai đã đi

design-patterns - 动态访问对象方法

In lại 作者:行者123 更新时间:2023-12-03 04:07:02 26 4
mua khóa gpt4 Nike

person.name // => "Chad"
var attr = "name";
person.send(attr); // => Ruby style, throws error
person[attr]; // => ECMAScript style, throws error

在Dart中如何做到这一点?

另外,这个想法/模式叫什么?动态 setter/getter ?数据驱动的 setter/getter ?可变消息/对象属性?

1 Câu trả lời

为了动态访问Dart中的属性,您需要遍历镜像系统。

import "dart:mirrors";

...
print(person.name); // Chad
var name = reflect(person).getField(#name).reflectee;
print(name); // Chad
var attr = "name";
name = reflect(person).getField(new Symbol(attr)).reflectee;
print(name); // Chad

Xem thêm https://api.dartlang.org/apidocs/channels/stable/dartdoc-viewer/dart-mirrors.InstanceMirror#id_getField

关于design-patterns - 动态访问对象方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23436646/

26 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com