我有以下型号:
作者

class Author implements Model {
  String name;
  String email;

  User({this.name, this.email});

  factory User.fromMap(Map data) {
    return User(
      name: data['name'] ?? 'Jon Doe'
      email: data['email'] ?? '[email protected]';
    )
  }
}

class Post implements Model {
  User author;
  String content;

  User({this.name, this.email});

  factory Post.fromMap(Map data) {
    return Post(
      author: Author.fromMap(data['author']);
      content: data['content'];
    )
  }
}


我的问题是,我如何才能告诉DART“强制”所有模型都有一个factory Model.fromMap(Map data)
我之所以要这样做,是因为我想从API(JSON)中获取这些模型。

最佳答案

您不能围绕类的静态形状提出任何要求,因为使用这些信息您将无法完成任何工作。要调用Post.fromMap您需要专门参考Post.fromMap,您不能调用someVariable.fromMap()。有一些关于能够向静态接口添加需求的讨论,但是没有计划。https://github.com/dart-lang/language/issues/356

07-27 13:59