Comment puis je l'ai jeté à une interface d'un objet peut mettre en œuvre?

J'ai les classes suivantes & interfaces:

export interface IBody {
    body : ListBody;
}

export class Element  {
//...
}

export class Paragraph extends Element implements IBody {
//...
}

export class Character extends Element {
//...
}

J'ai le code où je vais obtenir un tableau d'Élément objets dérivés (il y a plus d'Paragraphe & Perso). Dans le cas de ceux qui mettent en œuvre des IBody, j'ai besoin de prendre des mesures sur les éléments dans le corps.

Quel est le meilleur moyen pour voir si elle met en œuvre IBody? Est-il "if (element.corps !== undefined)"?

Et puis, comment puis-je y avoir accès? "var bodyElement = <IBody> élément;" donne-moi une erreur.

C:/src/jenova/Dev/Merge/AutoTagWeb/client/layout/document/elements/factory.ts(34,27): error TS2012: Cannot convert 'Element' to 'IBody':
    Type 'Element' is missing property 'body' from type 'IBody'.
    Type 'IBody' is missing property 'type' from type 'Element'.

grâce - dave

OriginalL'auteur David Thielen | 2014-04-25