クラス 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