class User{
String firstName;
String lastName;
String email;
}
動的に選択されたシンボルまたは文字列を使用して、ユーザーのフィールドの 1 つを取得および設定できるようにしたいと考えています。例えばString value = u[new Symbol("firstName")];
InstanceMirror に getField メソッドがあるようですが、値が返されないようです。必要なのは値だけです。
class User{
String firstName;
String lastName;
String email;
}
動的に選択されたシンボルまたは文字列を使用して、ユーザーのフィールドの 1 つを取得および設定できるようにしたいと考えています。例えばString value = u[new Symbol("firstName")];
InstanceMirror に getField メソッドがあるようですが、値が返されないようです。必要なのは値だけです。
# を使用してシンボルを作成する場合、コンパイル時に名前を知る必要があります。私はそれをこのように動かしました:
library operator_lib;
import 'dart:mirrors';
void main(List<String> args) {
var x = new X();
var f = new Symbol('firstName');
var r = reflect(x);
print(r.getField(f).reflectee);
r.setField(f, "John");
print(r.getField(f).reflectee);
}
class X {
String firstName = 'Mike';
}