예제 #1
0
        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();
 }