Exemplo n.º 1
0
        private PropertyDescriptorCollection CreatePropertyDescriptorCollection(Type propertyObjectType)
        {
            var propertyDescriptors = propertyObjectType.GetProperties(DefaultBindingFlags).Select(pi => pi).Where(pi => pi.GetIndexParameters().Length == 0).OrderBy(p => p.Name)
                                      .Select(propertyInfo => PropertyInfoDescriptor.CreateDescriptor(propertyObjectType, propertyInfo, this)).ToList();

            return(new PropertyDescriptorCollection(propertyDescriptors));
        }
Exemplo n.º 2
0
        public ListPropertyInfoDescriptor(PropertyInfo propertyInfo, PropertyDescriptorProvider provider) : base(provider)
        {
            PropertyInfo = propertyInfo;

            IsReadOnly  = propertyInfo.CanWrite == false;
            Name        = PropertyInfoDescriptor.GetName(propertyInfo, provider);
            DisplayName = PropertyInfoDescriptor.GetDescription(propertyInfo, provider);
            Category    = PropertyInfoDescriptor.GetCategory(propertyInfo, provider);
            Description = PropertyInfoDescriptor.GetDescription(propertyInfo, provider);

            ItemPropertyDescriptor = new ListItemPropertyDescriptor <TCollection, TItem>(provider);

            _getter = PropertyInfoDescriptor.CreatePropertyGetter <TTarget, TCollection>(propertyInfo);
            _setter = propertyInfo.CanWrite ? PropertyInfoDescriptor.CreatePropertySetter <TTarget, TCollection>(propertyInfo) : null;
        }