Как получить тип элемента массива в TypeScript, используя Reflection API?
У меня есть следующий маленький класс в TypeScript с некоторыми открытыми полями:
class Company {
@dataMember
public name: string;
@dataMember
public people: Person[];
}
class Person {
// ...
}
Используяотражать метаданныеЯ могу определить типы свойств компанииназвание а такжелюди: они являются функциями конструкторастрока а такжемассивсоответственно, что ожидаемо и логично.
Моя функция декоратора собственности:
function decorate(target: Object, propertyKey: string | symbol): void {
var reflectType = Reflect.getMetadata("design:type", target, propertyKey);
// ...
}
Но как я могу определить тип (конструктор функции) массиваэлементы? Это вообще возможно? В приведенном выше примере это должно быть (ссылка на)Человек.
Примечание: мне нужна ссылка на тип перед созданием экземпляра, и из-за этого невозможно динамически определить тип, используя элементы массива: нет элементов массива, даже нет экземпляра Array.