static void Main(string[] args) { IntPtr pv = Marshal.AllocHGlobal(1024); SDK_LoadClassDataByMemory(pv); Classss myClass = new Classss(); ReadClass.ReadMyClass(pv, myClass); Console.WriteLine("ClassName:{0}", myClass.ClassName); foreach (var item in myClass.StudentList) { Console.WriteLine($"Student: Name:{item.name} age:{item.age} SEX:{item.isBoy}"); } Console.Read(); }
public static void ReadMyClass(IntPtr pv, Classss myClass) { ReadMemory readMemory = new ReadMemory(pv); myClass.ClassName = readMemory.ReadUniString(); int length = readMemory.ReadInt(); for (int i = 0; i < length; i++) { Student temp = new Student(); temp.age = readMemory.ReadInt(); temp.isBoy = readMemory.ReadBool(); temp.name = readMemory.ReadString(); temp.height = readMemory.ReadFloat(); temp.weight = readMemory.ReadFloat(); myClass.StudentList.Add(temp); } }