2015-12-28 17 views
6

I den @Reflect.metadata decorator auf eine Maschinenschrift Klasse anzuwenden versuchte genannt, nach dem Beispiel in den Zeilen 82-84 von reflect-metadata.d.ts:@ Reflect.metadata erzeugt TS1238 Fehler: Kann nicht Signatur der Klasse decorator lösen, wenn als Ausdruck

/// <reference path="node_modules/reflect-metadata/reflect-metadata.d.ts"/> 

@Reflect.metadata('key', 0) 
class C { 
} 

jedoch erzeugt die Maschinenschrift 1.7.2 Compiler die folgenden Fehler auf der Leitung @Reflect.metadata:

Fehler TS1238: Kann nicht Signatur der Klasse decorator zu lösen, wenn als Ausdruck bezeichnet.
Ein Ausdruck kann nicht aufgerufen werden, dessen Typ keine Signatur enthält.

Was ist los?

Antwort

0

Vom Typoskript docs:

Dekorateure werden als Aufruf Ausdrücke geprüft

Beginnend mit 1.6, Dekorateure Typprüfung ist genauer; Der Compiler überprüft einen Decorator-Ausdruck als Aufrufausdruck mit der dekorierten Entität als Parameter. Dies kann dazu führen, dass Fehler gemeldet werden, die in früheren Versionen nicht aufgetreten sind.

Meine Vermutung ist, dass Sie wahrscheinlich zu benötigen eine neuere Version von Typoskript oder eine ältere Version von reflect-metadata verwenden.

Die neuesten Versionen sind: