public ArrayMarshaler(T[] objs) { ptrs = new IntPtr[objs.Length]; for (var i = 0; i < objs.Length; i++) { IntPtr ptr = Marshal.AllocHGlobal(MarshalPortable.SizeOf <T>()); ptrs[i] = ptr; Marshal.StructureToPtr(objs[i], ptr, false); } }
static GitSmartSubtransport() { GCHandleOffset = MarshalPortable.OffsetOf <GitSmartSubtransport>(nameof(GCHandle)).ToInt32(); }
static GitOdbBackendStream() { GCHandleOffset = MarshalPortable.OffsetOf <GitOdbBackendStream>(nameof(GCHandle)).ToInt32(); }