Tapuscrit - Changement de la propriété type de l'enfant, est-il possible?

J'ai une classe Manager:

class Manager{
    /**
     * Elements that are managed by the manager.
     */
    private _elements: PIXI.DisplayObject[];

et une classe TextureManager qui s'étend de la Manager:

export class TextureManager extends Game.Managers.Manager{
    private _elements: PIXI.DisplayObjectContainer[];
}

Si vous le savez, PIXI.DisplayObjectContainer s'étend PIXI.DisplayObject.

Je crois que parce que c'est le même type (basé sur le même objet: PIXI.DisplayObject), le changement de type devrait être possible. (au moins, il est dans la vraie programmation orientée objet, les langages, comme Java, si je me souviens bien)

Mais je reçois ce message d'erreur lors de la compilation. Comment dois-je faire?

TextureManager.ts(9,18): erreur TS2416: la Classe de TextureManager' mal s'étend la classe de base "Manager":
Types de déclarations distinctes d'une propriété privée '_elements'.

Solution:

Il peut sembler comme une solution simple, mais TS 1.3 vient de sortir comme il ya 3 jours et ajouter le support pour le voulais vraiment- protected attribut. Et il semble plus fonctionner avec un protected attribut qu'il ne fonctionne bien pour changer le type, j'ai juste mis protected _elements: any; sur le Manager classe parent et de personnaliser le type que je veux dans n'importe quel enfant protected _elements: Game.Core.Texture;. Assez cool.

Je viens de mettre du rouge partout depuis mon IDE (WebStorm) n'a pas publié un soutien pour TS 1.3, mais en vérifiant Trigger watcher regardless of syntax error dans le File watcher j'ai été capable de le faire fonctionner. Soutien à venir bientôt: https://youtrack.jetbrains.com/issue/WEB-14149

La version de la Machine utilisez-vous? En 1.3, publié il ya quelques jours, il y a protected mot-clé introduit, et il serait probablement aider ici.
1.3, installé aujourd'hui. Ne pense pas à ce sujet. Va donner un essai.
Cela fonctionne, merci. De la chance, il vient de sortir.
J'ai ajouté à la solution, grâce ou à votre aide, appréciée!
Vous petit plus ponctuellement ai ajouter cela comme une réponse afin que tout le monde voir la question a une solution (vous l'esprit si je le fais?). Et, en plus, vous n'avez pas à utiliser any type dans votre super-classe, si PIXI.DisplayObjectContainer s'étend PIXI.DisplayObject alors vous pouvez aussi utiliser PIXI.DisplayObject il

OriginalL'auteur Vadorequest | 2014-11-15