我想通过传递字符串名称来获取类的属性。我该怎么办?
class A {
String fName ='Hello';
}
main() {
A a = A();
String var1='fName'; // name of property of A class
print (a.fName); // it is working fine
print (a.$var1); // it is giving error that no getter in A class. but I want to pass var1 and automatically get the associate property
}
一种快速的解决方法是,
void main() {
String var1='name';
String var2='age';
Info info= Info(name:"Suman", age:4);
final json=info.toJson();
print("NAME = ${json[var1]}");
print("AGE = ${json[var2]}");
}
class Info {
String name;
int age;
Info({this.name, this.age});
Info.fromJson(Map<String, dynamic> json) {
name = json['name'];
age = json['age'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['name'] = this.name;
data['age'] = this.age;
return data;
}
}
希望这会有所帮助。干杯。