为 Dart 对象做点符号?

Doing Dot notation for Dart Objects?

我目前正在开发本地化 class,它将是静态的,并且可以在应用程序的其他部分访问,在 dart 中。

我的目标是以简单的方式连接代码:

Localization.MY_STRING

然后它将 return: "my string"

起初,我以为本地化中的所有内容都是静态的且公开可用的,但是写出来了:

static String MY_STRING = "my string";

看起来很乏味,而且我希望它在地图中,有点像 JSON 文件:

{
  MY_STRING: "my string"
}

是否有一种简单的方法来创建静态地图以便我可以实现我的目标?

我在想我可以通过定义它来覆盖 .

String .operator (String value){ 
  return map[value]?map[value]:"";
}

以类似于 classes.

中定义 <=operator 的方式

有没有其他人尝试过这样的事情?我想我可能会暂时将所有内容存储在 JSON 文件中,然后将该信息读入某些 class.

您不能覆盖 . 运算符。只能重载一组有限的运算符。

如果您在 class 之外创建字段,则不需要 static。您可以导入带有前缀的库以获得与静态字段访问相同的语法。