Как получить все типы в сборке внутри макрокоманды вида MacroTargets.Assembly
в Nemerle?Перечислить все типы в сборке внутри макроса
2
A
ответ
1
Дерево имен содержит все типы. Вы можете перемещаться и фильтровать его самостоятельно, или вы можете вызвать его метод GetTypeBuilders
.
[ Nemerle.MacroUsage
(Nemerle.MacroPhase.WithTypedMembers
, Nemerle.MacroTargets.Assembly
)
]
macro ListTypes()
{
def PrintNameTree(node, depth)
{
repeat (depth)
Write(" ");
Write("|");
WriteLine(node.PartName);
unless (node.Children == null)
{
foreach (child in node.Children.Values)
PrintNameTree(child, depth + 1);
}
}
def env = ImplicitCTX().Env;
def names = env.NameTree;
PrintNameTree(names.NamespaceTree, 0);
}
1
В дополнении к ответу Дон Реба ...
Вы должны использовать метод Node.EnsureCached() для обеспечения кэшированных метаданных.
Смежные вопросы
- 1. Как получить все нижние типы в сборке?
- 2. Как получить все базовые типы в сборке?
- 3. Как перечислить все типы ведра в riak?
- 4. Как перечислить все классы с определенным атрибутом Attet в сборке?
- 5. PostgreSQL: как перечислить все доступные типы данных?
- 6. Перечислить пространства имен в сборке
- 7. Как перечислить все типы данных из командлета?
- 8. Как запросить и перечислить все типы в индексе elasticsearch?
- 9. Как я могу перечислить все страницы XAML в сборке?
- 10. Как перечислить все типы, унаследованные от определенного типа в решении?
- 11. получить все типы в сборке с пользовательским атрибутом
- 12. Получить все типы в сборке с свойством с именем XYZ
- 13. Перечислить все элементы управления внутри окна
- 14. Вызов макроса внутри другого макроса в Twig
- 15. Как перечислить все типы диаграмм Google на странице?
- 16. Изменение значения макроса Переменная внутри макроса SAS
- 17. Типы, не найденные в загруженной сборке
- 18. перечислить все IEnumerables
- 19. Как перечислить все BeanFactories весной?
- 20. Использование, если внутри макроса
- 21. Все неизменные типы в java
- 22. Расширение макроса C++ внутри макроса для конкатенирования
- 23. В сборке, инструкции указаны типы данных?
- 24. Как вы сравниваете типы переменных в сборке?
- 25. CLS-совместимые типы в сборке P/Invoke
- 26. assembly.GetTypes() не возвращает все типы
- 27. Doxygen комментарий внутри макроса
- 28. CMake add_custom_command внутри макроса
- 29. Макро внутри макроса в C
- 30. GenServer вызов внутри макроса
Не префикс своего заголовка тегами, он лишний, и для этого есть теги. –