private T ReadStruct <T>(MemoryAccessor accessor, ulong address) where T : struct { byte[] data = accessor.ReadBytes(address, Marshal.SizeOf <T>()); unsafe { fixed(byte *ptr = data) { return(Marshal.PtrToStructure <T>((IntPtr)ptr)); } } }