Возможный дубликат:
Какова "стоимость" отражения?
Есть ли у кого-нибудь хорошее объяснение общепринятой мантры, что reflection == bad performance
?
Например, насколько дорого стоит перебирать коллекцию свойств типа и извлекать все значения свойств из экземпляра этого типа по сравнению с просто доступом ко всем свойствам напрямую? Один уровень величины? Два? От чего это зависит? Предсказуемо ли вообще? Что происходит под капотом?
EDIT: Спасибо за ответы. Я просмотрел некоторые ссылки, которые вы предоставили, и кажется, что существует огромный пробел в оценках Reflection on Properties по сравнению с прямым доступом: от 2,5 раза медленнее до 200 раз медленнее.
Мне это не кажется разумным. Некоторые из вас упомянули улучшения производительности в более поздних версиях .Net, поэтому позвольте мне сузить мой вопрос до .Net 4.0. Есть ли у кого-нибудь тесты для этого?