public static GType RegisterStatic(string typeName, FlagsValue[] values) { GType.AssertGTypeName(typeName); var typeName_ = GMarshal.StringToUtf8Ptr(typeName); var values_ = GMarshal.CArrayToPtr <FlagsValue> (values, nullTerminated: true); var ret = g_flags_register_static(typeName_, values_); // values are never freed for the liftime of the program return(ret); }