我能找到的FieldInfo
文档没有比较和对比这两种方法。我有兴趣了解何时应该使用一个而不是另一个(最好使用一小段代码)。
最佳答案
SetValueDirect 采用 TypedReference 参数,因此在需要可变参数互操作性时使用它。这不执行值的装箱/拆箱,也不执行访问检查。它比 SetValue 运行得更快。
另一方面,SetValue 对几乎所有其他东西都起作用。它在需要时执行参数的装箱/拆箱,并检查访问权限。
关于C# 反射 : What is the difference between FieldInfo. SetValue() 和 FieldInfo.SetValueDirect()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23861895/