gpt4 book ai didi

c# - 什么是 C# 中的 "fieldof()"方法

转载 作者:行者123 更新时间:2023-12-03 15:55:00 34 4
gpt4 key购买 nike

我在dnspy中反编译了一些unity dll文件
并得到了这条线

RuntimeHelpers.InitializeArray(array, fieldof(<PrivateImplementationDetails>.51A7A390CD6DE245186881400B18C9D822EFE240).FieldHandle);

我需要了解该行中的 fieldof() 函数,我以前从未见过(因为我是初学者)

以及为什么它在该行中显示错误的两个原因

最佳答案

在 MSIL 中,C# 代码(和一堆其他语言)被编译成的中间语言,有这个方便的 fieldof获取 FieldInfo 的运算符的领域。然而,fieldof在 C# 中不存在。

在 C# 中,您需要执行以下操作:

var type = typeof(EnclosingClass); // "EnclosingClass" is the class this code is in
// assuming PrivateImplementationDetails is private
var fieldInfo = type.GetField("PrivateImplementationDetails", BindingFlags.NonPublic);
RuntimeHelpers.InitializeArray(array, fieldInfo.FieldHandle);

关于c# - 什么是 C# 中的 "fieldof()"方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61026150/

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