2017-03-01 9 views
0

Breezeの構文には巻き込まれませんが、 "createEntity"はbreeze.Entityの型を正しく返します。なぜTypeScriptは返されたオブジェクトを "instance"に割り当てることができないのですか?これはmyClass型で、これはbreeze.Entityインターフェイスを実装していますか?TypeScript定義のクラスにBreeze.Entityを割り当てます。

「タイプ 『エンティティ』と入力するassignmableではありません、これは動作するはずのように思えますが、私はエラーを取得する 『MyClassの』。プロパティ 『idは』 type 『をエンティティ』に欠けている。

私は完全にアム私は「どんな」としてthis.instanceを定義し、すべての作品が、私は他の場所で私の強く型付けされたオブジェクトを紛失した場合活字体(または一般に)での継承および/またはインターフェース?

this.instance = EntityManager.createEntity("myClass", myObj); // instance is defined as type 'myType' 

を誤解。

私のクラスには、インターフェイス...

export class myClass extends base implements Interfaces.IMyClass, breeze.Entity { 

    public id: number; 
    .... 

    constructor() { 
     super(); 
    } 
} 

export class base implements breeze.Entity { 

    constructor() { } 

    public entityAspect: breeze.EntityAspect; 
    public entityType: breeze.EntityType; 
} 

export interface IMyClass extends breeze.Entity { 

    id: number; 
    ... 
} 

答えて

0

私はそれが他の問題であったかどうかは分かりませんが、これは以下の "as"を使って動作するようになっています。

this.instance = EntityManager.createEntity( "myClass"、myObj)MyClass;

関連する問題