ParamSpec FindPSpec(PropertyInfo pinfo) { foreach (object attr in pinfo.GetCustomAttributes(false)) { if (attr is GLib.PropertyAttribute) { GLib.PropertyAttribute pattr = (GLib.PropertyAttribute)attr; return(ParamSpec.LookupObjectProperty(pinfo.DeclaringType, pattr.Name)); } if (attr is Gtk.ChildPropertyAttribute) { Gtk.ChildPropertyAttribute cpattr = (Gtk.ChildPropertyAttribute)attr; return(ParamSpec.LookupChildProperty(pinfo.DeclaringType.DeclaringType, cpattr.Name)); } } return(null); }