繁体   English   中英

Dart:Class 构造函数未调用

[英]Dart : Class Constructor not called

我有以下代码:

class Article {
    String title;
    String contentString;
    Content content;
    
    Article(String title, String contentString) {
        this.title = title;
        this.content = contentString;
        //I want to call function here
    }

    Article.fromJson(Map<String, dynamic> json)
      : title = json['title'],
        contentString = json['content'];

    void _someFunction() {
       //create function to generate the Content
    }
}

class Content {
  final String text;
  final bool isLink;

  Content({this.text, this.isLink});
}

我想要实现的是在初始化 class 时调用 function。 我试图调试并添加断点,但它没有被触发。 初始化 class 时是否可以调用 function?

您在//I want to...点放置的任何代码都应在调用Article构造函数时调用。 如果改为调用Article.fromJson构造函数,则不会调用它。 这就是正在发生的事情,因为你还没有说你如何构建Article s。

考虑将fromJson构造函数更改为:

  Article.fromJson(Map<String, dynamic> json)
      : this(json['title'], json['content']);

这是一个重定向生成构造函数,这意味着它转发给Article构造函数,并且所有由它运行的代码也将在使用Article.fromJson时运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM