这是使用反射更新属性的最快方法吗?假设该属性始终是一个int:

PropertyInfo counterPropertyInfo = GetProperty();
int value = (int)counterPropertyInfo.GetValue(this, null);
counterPropertyInfo.SetValue(this, value + 1, null);

最佳答案

只要确保您以某种方式缓存了PropertyInfo,就不会重复调用type.GetProperty。除此之外,如果您对执行增量的类型创建方法的委托(delegate),或者像Teoman建议的那样,使该类型实现接口(interface)并使用该接口(interface),则可能会更快。

关于c# - C#反射: Fastest Way to Update a Property Value?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6158768/

10-14 22:07