【发布时间】:2019-10-18 14:30:30
【问题描述】:
我需要一种通用的方法来访问对象的属性/getter。
在 JavaScript 中,这可以通过
const obj = {
foo: 'Hello World',
bar: 123
};
const propName = 'foo';
console.log(o[propName]); // "Hello World"
那么,如果我在 Dart 中有一个类,如下面的类,我将如何以通用方式访问属性?也许是运算符重载之类的?
class MyFooClass with ChangeNotifier {
String _someText = 'Hello World';
int _someNumber = 123;
get someText => _someText;
set someText(value) => _someText = value;
get someNumber => _someNumber;
set someNumber(value) => _someNumber = value;
}
var myFoo = MyFooClass();
print(myFoo['someText']); // The operator '[]' isn't defined for the class 'MyFooClass'
【问题讨论】:
-
你不能。您需要创建一个基类,指定
someTextgetter 作为其接口的一部分。
标签: dart getter-setter generic-programming