c#反射:FieldInfo.SetValue()和FieldInfo.SetValueDirect()的区别是什么?



我能找到的FieldInfo文档没有比较和对比这两种方法。我有兴趣了解什么时候应该使用另一个(最好是一个小代码片段)。

SetValueDirect接受一个TypedReference参数,因此它将在需要变量参数互操作性时使用。它不执行值的装箱/拆箱操作,也不执行访问检查。它比SetValue运行得快。

另一方面,

SetValue几乎可以对其他所有东西进行操作。它在需要的地方执行参数的装箱/拆箱,并检查访问。

在这里和这里都有讨论类型引用的SO -两者都有代码示例。

相关内容

  • 没有找到相关文章

最新更新