我如何在 DART 中构造此 class,以便我使用 save/query 的必需参数?

How do I construct this class in DART so that I use a required parameter to save/query?

我有一个名为 MessageDao 的 class,我将使用它作为 class 来处理 Firebase 实时数据库的所有 read/write/update 操作。

期望的结果是,如果我在我的应用程序的任何地方使用这个 class,我应该向它传递一个 groupIDPath 字符串,该字符串将用于在实时数据库中定位适当的节点。从那里,我应该能够 read/write/update 根据需要。

我尝试在下面执行此操作,但在我发表评论的行中收到指向 groupIDPath 的错误。错误说:The instance member 'groupIDPath' can't be accessed in an initializer. 我阅读了文档,但我不太理解他们的替代示例。考虑到我要在这里完成的工作,我应该如何构建这个 class?

import 'package:firebase_database/firebase_database.dart';
import 'message.dart';

class MessageDao {

  MessageDao({required this.groupIDPath});

  String groupIDPath; //example = 'groupChats/0exUS3P2XKFQ007TIMmm'
  DatabaseReference _messagesRef = FirebaseDatabase.instance.reference().child(groupIDPath); //ERROR IS HERE

  //Get stream of messages from realtime database based on group ID

}

initializer list中分配_messagesRef

import 'package:firebase_database/firebase_database.dart';
import 'message.dart';

class MessageDao {

  MessageDao({required this.groupIDPath}):
      _messagesRef = FirebaseDatabase.instance.reference().child(groupIDPath);

  String groupIDPath;
  DatabaseReference _messagesRef;
}