foreach (CalComponentAttendee a in list) { ptr = Marshal.AllocHGlobal(Marshal.SizeOf(a)); Marshal.StructureToPtr (a, ptr, false); glist = g_slist_append (glist, ptr); }