【发布时间】:2013-11-30 03:32:37
【问题描述】:
为标量创建getters 和setters 非常简单,但无法弄清楚如何为Map 设置setter:
似乎需要operator[],但它设置在class 级别
注意:问题
地图获取地图 => _map这是否允许您更改_map 而无需通过setter。
【问题讨论】:
为标量创建getters 和setters 非常简单,但无法弄清楚如何为Map 设置setter:
似乎需要operator[],但它设置在class 级别
注意:问题
地图获取地图 => _map这是否允许您更改_map 而无需通过setter。
【问题讨论】:
不确定我是否完全按照您要执行的操作。听起来您想要一个顶级 Map 变量,并且能够为 [] 和 []= 运算符提供您自己的实现。
您必须创建一个类来覆盖运算符 [] 和 []=。但是,您仍然可以实现您所要求的(我认为?)。在我的脑海中,它看起来像这样。
Map _map = new MyMap();
Map get map => _map;
set map(Map m) {
_map = new MyMap.from(m);
}
class MyMap<K,V> implements Map {
MyMap.from(Map<K, V> other) => ...;
V operator [](K key) => ...;
operator []=(K key, V value) => ...;
... other members
}
【讨论】: