gpt4 book ai didi

C# 反射 : What is the difference between FieldInfo. SetValue() 和 FieldInfo.SetValueDirect()?

转载 作者:行者123 更新时间:2023-11-30 14:30:14 26 4
gpt4 key购买 nike

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

最佳答案

SetValueDirect 采用 TypedReference 参数,因此在需要可变参数互操作性时使用它。这不执行值的装箱/拆箱,也不执行访问检查。它比 SetValue 运行得更快。

另一方面,SetValue 对几乎所有其他东西都起作用。它在需要时执行参数的装箱/拆箱,并检查访问权限。

有 SO 讨论 TypedReferences herehere - 两者都有代码示例。

关于C# 反射 : What is the difference between FieldInfo. SetValue() 和 FieldInfo.SetValueDirect()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23861895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com