【问题标题】:Mimicking C# array initializer behaviour using Reflection使用反射模仿 C# 数组初始值设定项行为
【发布时间】:2013-03-20 13:58:32
【问题描述】:

使用ILDasm对一些C#代码进行逆向工程,我发现编译器使用System.Runtime.CompilerServices.RuntimeHelper.InitializeArray方法来初始化包含几个原始类型常量值的数组。

看起来它为每个数组大小(以字节为单位)创建了一个特殊的结构,并用[StructLayout] 属性标记它。这很简单。但是有一个包含实际数据的类型的字段。如何根据Reflection.Emit 创建这样的字段并用任意字节填充它?

【问题讨论】:

    标签: c# arrays cil reflection.emit


    【解决方案1】:

    我认为您为此使用 ModuleBuilder.DefineInitializedData

    【讨论】:

    • 谢谢!完全符合我的预期。
    猜你喜欢
    • 1970-01-01
    • 2019-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-20
    • 2021-10-29
    • 1970-01-01
    相关资源
    最近更新 更多