protected void SetProperty <T>(string prop_name, T val) { GValue value = new GValue(typeof(T)); value.Set(val); g_object_set_property(Handle, Utils.StringToPtrGStrdup(prop_name), ref value); value.Dispose(); }
protected T GetProperty <T>(string prop_name) { GValue value = new GValue(typeof(T)); g_object_get_property(Handle, Utils.StringToPtrGStrdup(prop_name), ref value); object ret = value.Get <T>(); value.Dispose(); // Checking if (typeof(T) != ret.GetType()) { throw new Exception(); } return((T)ret); }