static void SetDeferredProperty(GLib.Object obj, GLib.Value value, IntPtr param_spec) { var type = (Type)obj.LookupGType (); Dictionary<IntPtr, PropertyInfo> props; if (!Properties.TryGetValue (type, out props)) return; PropertyInfo prop; if (!props.TryGetValue (param_spec, out prop)) return; prop.SetValue (obj, value.Val, new object [0]); }