如何在dart中将自引用传递给对象

时间:2013-08-27 16:17:11

标签: dart

我有一个类Field并且有一个copy()方法,我想将自引用传递给新对象,但是Dart编辑器似乎不允许。如何将自引用传递给像java这样的新对象?

class Field 
   Field copy() {
       return new Field(this); 
   }    
}

2 个答案:

答案 0 :(得分:2)

做这些事情没有问题:

class Field {
  String name;
  Field(Field other) {
    // init current with other
  }
  Field copy() => new Field(this); 
}

答案 1 :(得分:1)

你似乎缺少一个开口大括号而你没有构造函数。除此之外,没有理由不这样做:

class Field {    
  Field ref;

  Field(this.ref);

  Field copy() {
    return new Field(this);
  }
}

Field a = new Field(null);
Field b = a.copy();
print(identical(a, b.ref)); // true