我有一个类 Field 并有一个 copy() 方法,我想将自我引用传递给新对象,但 Dart 编辑器似乎不允许。如何将自我引用传递给像 java 这样的新对象?
class Field
Field copy() {
return new Field(this);
}
}
我有一个类 Field 并有一个 copy() 方法,我想将自我引用传递给新对象,但 Dart 编辑器似乎不允许。如何将自我引用传递给像 java 这样的新对象?
class Field
Field copy() {
return new Field(this);
}
}
做这样的事情没有问题:
class Field {
String name;
Field(Field other) {
// init current with other
}
Field copy() => new Field(this);
}
您似乎缺少一个左大括号,并且您没有构造函数。除此之外,没有理由不这样做:
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