某些反射代码是否在编译时进行了优化?

124*_*316 5 c# reflection optimization compile-time

我认为一些使用反射的代码可以在编译时进行优化(我不确定我们可以称之为优化)。

  • 例如,System.Reflection.MethodInfo.GetCurrentMethod在同一个方法中调用时总是返回相同的值。

  • 此外,使用类名表示的常量字符串访问类信息没有理由在运行时完成。

我对其进行了测试,结果显示带有反射的代码比没有反射的代码慢大约 300 倍。

是否有任何编译选项可以实现我想要的功能?

Pet*_*mel 0

.net 中的反射确实慢得令人痛苦。对此我们无能为力。

另一方面,使用 'fasterflect' 可能适合您http://fasterflect.codeplex.com/,它实现了内置 .net 反射的多个功能,并提高了性能。