public bool IsVisible(Type type, string property)
        {
            PropertyGridTypeWrapper warpper = GetWrapper(type);

            if (warpper == null)
            {
                return(true);
            }
            return(warpper.IsVisible(property));
        }
        public void AddTypeWrapper(PropertyGridTypeWrapper wrapper)
        {
            Debug.Assert(wrapper != null, "wrapper 为 null");
            Debug.Assert(_typeWrapperCollection.Contains(wrapper) == false, "已经添加过了指定的 wrapper");

            if (wrapper == null || _typeWrapperCollection.Contains(wrapper))
            {
                return;
            }

            _typeWrapperCollection.Add(wrapper);
        }
        public PropertyGridTypeWrapper GetWrapper(Type type)
        {
            PropertyGridTypeWrapper warpper = null;

            foreach (PropertyGridTypeWrapper item in this)
            {
                if (item.Type.Equals(type) || (item.ActOnSubClass && type.IsSubclassOf(item.Type)))
                {
                    warpper = item;
                    break;
                }
            }
            return(warpper);
        }
 public virtual void Remove(PropertyGridTypeWrapper value)
 {
     List.Remove(value);
 }
 public void Insert(int index, PropertyGridTypeWrapper value)
 {
     List.Insert(index, value);
 }
 public int IndexOf(PropertyGridTypeWrapper value)
 {
     return(List.IndexOf(value));
 }
 public bool Contains(PropertyGridTypeWrapper value)
 {
     return(List.Contains(value));
 }
 public virtual int Add(PropertyGridTypeWrapper value)
 {
     return(List.Add(value));
 }