Ho il seguente po 'di classe a macchina, con alcuni campi pubblici decorati:Come si ottiene il tipo di elemento dell'array in TypeScript utilizzando l'API Reflection?
class Company {
@dataMember
public name: string;
@dataMember
public people: Person[];
}
class Person {
// ...
}
Utilizzando reflect metadata, posso determinare i tipi di proprietà dell'azienda name e persone: sono le funzioni di costruzione String e Array, rispettivamente, che è previsto e logico.
La mia proprietà funzione decoratore:
function decorate(target: Object, propertyKey: string | symbol): void {
var reflectType = Reflect.getMetadata("design:type", target, propertyKey);
// ...
}
Ma come avrei potuto determinare il tipo (funzione di costruzione) di serie elementi? È possibile? Nell'esempio sopra, dovrebbe essere (un riferimento a) Persona.
Nota: ho bisogno del riferimento di tipo prima esemplificazione, e per questo, non è possibile determinare in modo dinamico tipo utilizzante elementi di matrice: non vi sono elementi di matrice, non c'è nemmeno un'istanza Array.