/// <summary> /// slow! eeeeew /// </summary> /// <param name="name"></param> /// <returns></returns> private GParamSpec.Struct?GetPspec(string name) { // logger.Debug($"GetPspec: this = {this}, name = {name}"); var pspec = new GParamSpec.Struct(); var argumentClass = new VipsArgumentClass.Struct(); var argumentInstance = new VipsArgumentInstance.Struct(); var argument = Internal.VipsObject.VipsObjectGetArgument(this, name, ref pspec, ref argumentClass, ref argumentInstance); return(argument != 0 ? default(GParamSpec.Struct?) : pspec.ToIntPtr <GParamSpec.Struct>().Dereference <IntPtr>().Dereference <GParamSpec.Struct>()); }
internal static extern int GetArgument(VipsObjectManaged @object, [MarshalAs(UnmanagedType.LPStr)] string name, out IntPtr pspec, out VipsArgumentClass.Struct argumentClass, out VipsArgumentInstance.Struct argumentInstance);