2013-03-20 51 views
4

使用ILDasm對一些C#代碼進行反向工程,我發現編譯器使用System.Runtime.CompilerServices.RuntimeHelper.InitializeArray方法初始化包含多個基本類型的常量值的數組。模仿使用反射的C#數組初始化行爲

看起來它爲每個數組大小以字節爲單位創建了一個特殊結構,並用[StructLayout]屬性標記它。這非常簡單。但是,那裏有一個包含實際數據的字段。如何根據Reflection.Emit創建一個類似的字段並填充任意字節?

回答