If you refuse to run .net code just because it uses reflection, you will have very few bits left to run. Using reflection does not mean significant success. If you don’t need to run any reflection code in a narrow cycle or run on a low-power processor (possibly a mobile phone) or are used incorrectly, reflection is usually not a significant blow to the overall performance of the application. However, reflection is usually cached, so this happens only once per operation. In the specific case of NHibernate.Validator, most (all?) Of the reflection work only happens at startup.
If you know you have specific performance requirements, measure it just like everything else.
source
share