主题:如何避免反射带来的性能损失?
Type ty = test3.GetType();
PropertyInfo info = ty.GetProperty("Name");
for (int i = 0; i < 800000; i++)
info.SetValue(test3, "abc",null);
Console.WriteLine("reflect time=" + ((DateTime.Now.Ticks - time) / TimeSpan.TicksPerMillisecond));
类似的这么一段代码,在java上只需要500ms,
用c#,却要几分钟。
有什么办法可以变通一下,减少反射带来的性能损失呢?
PropertyInfo info = ty.GetProperty("Name");
for (int i = 0; i < 800000; i++)
info.SetValue(test3, "abc",null);
Console.WriteLine("reflect time=" + ((DateTime.Now.Ticks - time) / TimeSpan.TicksPerMillisecond));
类似的这么一段代码,在java上只需要500ms,
用c#,却要几分钟。
有什么办法可以变通一下,减少反射带来的性能损失呢?