Способ получения списка всех частных членов в Typescript? - PullRequest
0 голосов
/ 14 апреля 2019

Как видно из названия, я бы хотел получить список закрытых членов класса / экземпляра Typescript.

Я пробовал это во время тестирования, но был обеспокоен тем, что собираюсьполучить все участники и не собирался быть в состоянии сказать, является ли член частным во время выполнения.Кроме того, я не был уверен, как сделать то же самое со статическими элементами.

type Constructor<T> = new () => T;

export default function <T> (classX: Constructor<T>) {
    var c = new classX()
    var made = Object.getOwnPropertyNames(c);

    for (var i of made) { console.log(i) }
}

1 Ответ

0 голосов
/ 14 апреля 2019

Может быть, просто добавьте свои методы в private_ и получите приватные члены, потому что во время выполнения все являются просто свойствами объекта, в js нет никаких отражений.Это может быть достигнуто с помощью refle-metadata в машинописном тексте, но все же вам нужно указать массив частных методов. Или просто создать статическое свойство ____privateMembers____, которое отслеживает эти метаданные (обычно это то, что делается динамическитипизированные языки, такие как js и python)

...