public VBARegisterHelper(IntPtr Core) { _origin = LibVBANext.GetRegisters(Core); foreach (var field in typeof(LibVBANext.Registers).GetFields()) { var ofs = Marshal.OffsetOf(typeof(LibVBANext.Registers), field.Name); _locs[field.Name] = IntPtr.Add(_origin, (int)ofs); } }