System.ComponentModel.PropertyDescriptorCollection.GetEnumerator C# (CSharp) Метод

GetEnumerator() публичный Метод

public GetEnumerator ( ) : IEnumerator
Результат IEnumerator
        public virtual IEnumerator GetEnumerator() {
            EnsurePropsOwned();
            // we can only return an enumerator on the props we actually have...
            if (properties.Length != this.propCount) {
                PropertyDescriptor[] enumProps = new PropertyDescriptor[propCount];
                Array.Copy(properties, 0, enumProps, 0, propCount);
                return enumProps.GetEnumerator();
            }
            return properties.GetEnumerator();
        }

Usage Example

 public override DataGridColumnsPage.ColumnItem[] CreateColumns(PropertyDescriptorCollection fields)
 {
     ArrayList list = new ArrayList();
     IEnumerator enumerator = fields.GetEnumerator();
     while (enumerator.MoveNext())
     {
         PropertyDescriptor current = (PropertyDescriptor) enumerator.Current;
         if (BaseDataList.IsBindableType(current.PropertyType))
         {
             BoundColumn runtimeColumn = new BoundColumn {
                 HeaderText = current.Name,
                 DataField = current.Name
             };
             DataGridColumnsPage.ColumnItem item = new DataGridColumnsPage.BoundColumnItem(runtimeColumn);
             item.LoadColumnInfo();
             list.Add(item);
         }
     }
     return (DataGridColumnsPage.ColumnItem[]) list.ToArray(typeof(DataGridColumnsPage.ColumnItem));
 }