public PropertyDescriptor[] BuildPropDescriptors(IPropBag propBag) { List <KeyValuePair <string, ValPlusType> > propDefs = propBag.GetAllPropNamesValuesAndTypes().ToList(); PropertyDescriptor[] descriptors = new PropertyDescriptor[propDefs.Count + _basePropertyDescriptors.Count]; int mainPdPtr; for (mainPdPtr = 0; mainPdPtr < _basePropertyDescriptors.Count; mainPdPtr++) { descriptors[mainPdPtr] = _basePropertyDescriptors[mainPdPtr]; } for (int pdPtr = 0; pdPtr < propDefs.Count; pdPtr++) { KeyValuePair <string, ValPlusType> kvp = propDefs[pdPtr]; PropItemPropertyDescriptor <IPropBag> propItemTypeDesc = new PropItemPropertyDescriptor <IPropBag>(kvp.Key, kvp.Value.Type, new Attribute[] { }); descriptors[mainPdPtr++] = propItemTypeDesc; } return(descriptors); }
public PropertyDescriptor[] BuildPropDescriptors(PropModelType pm /*, IPropFactory pf*/) { PropertyDescriptor[] descriptors = new PropertyDescriptor[pm.Count]; List <IPropItemModel> propItems = pm.GetPropItems().ToList(); for (int pdPtr = 0; pdPtr < propItems.Count; pdPtr++) { IPropItemModel pItem = propItems[pdPtr]; PropItemPropertyDescriptor <IPropBag> propItemTypeDesc = new PropItemPropertyDescriptor <IPropBag>(pItem.PropertyName, pItem.PropertyType, new Attribute[] { }); descriptors[pdPtr] = propItemTypeDesc; } return(descriptors); }