Dart中的通用getter / setter?

问题描述 投票:0回答:1

我需要一种通用的方法来访问对象的属性/获取器。

在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'
dart getter-setter generic-programming
1个回答
0
投票

这是您想要的吗?

void main() {
  var o = {'foo': 'Hello World', 'bar': 123};
  var propName = 'foo';

  print(o[propName]); // 'Hello World'
}
© www.soinside.com 2019 - 2024. All rights reserved.