Parent
とChild
の2つのクラスを作成したいと思います。これらのクラスには、それぞれ別のタイプのインスタンスへの参照が含まれています。多くのコンパイル言語では、これは完全に合法です。たとえば、C#では次のようにコンパイルされます。Typescript - 相互参照するクラスは使用できますか?
public class Parent {
public Child myChild;
public Parent() {
myChild = new Child();
myChild.myParent = this;
}
}
public class Child {
public Parent myParent;
}
ただし、TypeScriptではこれを動作させることはできません。私が見つけた最良の選択肢は、any
タイプの参照のうちの1つを作成することですが、Child
がParent
または他のメンバーのいずれかで作業する必要がある静的型検査を無効にします。理想的な世界では
class Parent {
myChild: Child;
constructor() {
this.myChild = new Child();
this.myChild.myParent = this;
}
}
class Child {
myParent: any;
}
、すべてのオブジェクトモデルは、非環式グラフで簡単に記述可能になるが、現実の世界は乱雑で、時には両方の方法、グラフオブジェクトをナビゲートできるようにするには非常に便利です。
TypeScriptでは、このような双方向の静的型オブジェクトグラフナビゲーションを取得できますか?どうやって?
[活字体で循環型参照]の可能性のある重複します(http://のstackoverflow。 com/questions/24444436/circular-type-references-typescript) – JamesFaix
私のために働いています - あなたはどんなエラーを受けていますか? –