Как получить тип элемента массива в 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.

Ответы на вопрос(1)

Ваш ответ на вопрос