.NET - Самоанализ Против Рефлексии
-
09-06-2019 - |
Вопрос
В чем разница между Самоанализом и Рефлексией в .NET
Решение
Самоанализ был введен с FxCop в 2004 году как альтернатива Рефлексии :
Что нового в FxCop 1.30, так это то, что теперь он выполняет анализ с помощью техники, называемой самоанализом. Использование механизма самоанализа позволяет проводить гораздо более быстрый анализ и поддерживает многопоточный анализ.В отличие от движка Reflection engine из предыдущих версий, в движке Introspection engine анализируемые сборки не заблокированы, поэтому вам не нужно закрывать FxCop для исправления и перекомпиляции из этих собраний.Наконец, механизм Интроспекции предлагает гораздо более богатую инфраструктуру анализа по сравнению с механизмом отражения.
Другие советы
Это две части одного целого.
Самоанализ относится к способности класса заглядывать "внутрь" самого себя и видеть, например, какие параметры принимает метод, каковы имена его членов и т.д.
Рефлексия - это конкретное название того, как .NET реализует самоанализ.Другие языки могут называть это как-то по-другому (C ++ называет свой ограниченный самоанализ RTTI для получения информации о типе во время выполнения).