首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dart :类构造器未调用

Dart :类构造器未调用
EN

Stack Overflow用户
提问于 2021-01-26 15:00:56
回答 1查看 171关注 0票数 0

我有以下代码:

代码语言:javascript
复制
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});
}

我想要实现的是在初始化类时调用函数。我试着调试并添加断点,但没有触发。初始化类时是否可以调用函数?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-26 18:44:21

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

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

代码语言:javascript
复制
  Article.fromJson(Map<String, dynamic> json)
      : this(json['title'], json['content']);

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65903752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档