从类实例调用时,映射值是私有的

时间:2017-08-29 23:20:41

标签: dart

我的Dart代码给了我这个错误:

NoSuchMethodError: Class '_InternalLinkedHashMap' has no getter 'myKey'

这是我的代码:

Class A{
        Map a = {
             "myKey": "Dont privatise this value"};
}
Main(){
     A b = new A();
     print(b.a.myKey);  // Error
     print(b.a['myKey']); // Error too..
}

我已经搜索过这个问题,但我不明白为什么编译器不想从地图中给我myKey。但我已经在Dart控制台中检查了(通过类构造函数中的print方法),我确信键myKey在地图中。

1 个答案:

答案 0 :(得分:3)

在Dart中,您无法使用点符号访问Map值。评估b.a.myKey是错误的,因为Map没有myKey获取者。但是,b.a['myKey']不应该是错误。快速检查dartpad会显示它可以正常工作:https://dartpad.dartlang.org/10cdcbdc3730cfec175174e675320e54