【问题标题】:How to create a "constant reference" getter in Dart?如何在 Dart 中创建“常量引用”getter?
【发布时间】:2021-10-27 13:24:49
【问题描述】:

假设我有一个类ListContainer,它包含并管理一个必须从外部访问的列表。由于管理这个列表很复杂,我不想让ListContainer以外的任何人修改它。在 C++ 中,我会创建一个返回 const 引用的函数,但在 Dart 中,const 的工作方式完全不同。仅使用 getter 不会阻止某人修改列表。

那么如何在不允许修改列表的情况下提供对列表值的访问权限?

我正在寻找比创建getNth 函数更好的方法,因为这还需要创建lengthmap 等方法。

【问题讨论】:

    标签: dart architecture


    【解决方案1】:

    我认为UnmodifiableListView 是您正在寻找的。​​p>

    查看UnmodifiableListView Documentation

    你可以这样使用它:

    List<int> _myList = [1, 2, 3];
    List<int> get myList => UnmodifiableListView(_myList);
    

    【讨论】:

    • 谢谢!我想这就是我需要的
    • 不客气,如果对您有帮助,请考虑接受此答案。
    • 当然,它只是说我必须等待10分钟才能接受它
    猜你喜欢
    • 1970-01-01
    • 2013-07-03
    • 2016-04-19
    • 1970-01-01
    • 2016-06-04
    • 2011-09-19
    • 2021-09-25
    • 1970-01-01
    • 2020-10-31
    相关资源
    最近更新 更多