我在自定义序列化程序中大量使用 FieldInfo.GetValue() 调用。这个功能真的很慢。
1)有没有一种便携的方式来加速它?我不需要 FieldInfo.GetValue() 实现所做的任何检查,我只需要快速获取该值。
现在介绍一种非便携式方式。我用单声道。我的分析器显示 FieldInfo.GetValue() 大部分时间都在 MonoField.CheckGeneric() 中。并且调用 MonoField.GetValueInternal() 非常快但私密!当然,我可以使用反射直接调用这个私有方法(因为我没有进行通用检查)但是通过反射调用会杀死所有性能提升。
2)是否可以快速调用这个私有方法(没有反射开销,也没有修改 Mono 源以使其公开)?